Olá christiankiss,
Um primeiro ponto a notar é que a dificuldade ocorre porque o programa, no exemplo o Eclipse, não segue estritamente a normativa do FHS - Filesystem Hierarchy Standard, preferindo colocar todos os seus arquivos em uma única pasta própria.
FHS define os diretórios principais e seus conteúdos dentro do sistema operacional Linux. Quem quiser uma visão resumida e bastante simples disso pode conferir aqui:
http://pt.wikipedia.org/wiki/FHSAdicionalmente, essa pasta própria do eclipse contendo todos os seus arquivos, obtida após a descompactação, pode ser colocada em qualquer caminho, desde que todos os arquivos estejam juntos, entretanto, é de ver que deixar essa pasta no caminho /home é, digamos assim, pelo menos uma impropriedade.
O diretório /home conceitualmente não deveria conter arquivos binários, executáveis, mas apenas arquivos que correspondam a arquivos de geração própria do usuário (documentos textos, imagens, configurações, etc).
A impropriedade fica manifesta quando se pensa no procedimento de backup da pasta /home, onde então se estará copiando arquivos desnecessários, ocupando um espaço maior e ainda alongando o tempo de execução do backup, já que em princípio não é necessário fazer backup do programa propriamente dito, já que a qualquer momento, em caso de necessidade, pode novamente ser feito o download a partir de sua origem (repositório, site).
O FHS, de maneira geral, prevê a utilização do diretório /opt/ para aplicações.
No caso do Eclipse isso seria perfeitamente possível uma vez que o programa permite determinar o caminho onde devem ser salvos os trabalhos realizados, numa pasta que por padrão ele denomina de workspace, a qual, essa sim, pode ser colocada em qualquer caminho, como por exemplo, /home/nome_usuario/desenvolvimento/eclipse/workspace, ou qualquer outro que se queira.
Retornemos, porém, ao foco da questão proposta, que é poder chamar o programa a partir do terminal digitando apenas o seu nome (nome do binário), isto é, sem ter que anteceder esse nome com o comando de execução (./), usando o bash, que é o interpretador de comando padrão do Linux.
Uma solução possível é criar um link simbólico no path do sistema apontando para o binário executável.
Só para ilustrar, vamos supor a seguinte situação, feito o download compactado do eclipse, baixado e descompactado dentro da pasta Downloads, descompactação essa que gera a pasta eclipse, dentro da qual estão todos os arquivos do programa.
Esse passo é desnecessário, dependendo de onde se queira deixar o eclipse, mas é apenas para ilustar, vamos transferir a pasta eclipse para o diretório /opt/
sudo mv /home/nome_usuario/Downloads/eclipse /opt/
nome_usuario, claro, usa o nome de usuário real do sistema, no caso concreto.
Criando um link simbólico.
A path do sistema é dada por:
echo $PATH
o que resulta em:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Vamos criar o link simbólico dentro de /usr/local/sbin
Entrando no diretório:
cd /usr/local/sbin
Criando o link simbólico com o nome exato do próprio binário executável:
sudo ln -s /opt/eclipse/eclipse
Conferindo se o link simbólico está lá
ls
resulta:
eclipse (em cor diferenciada, azul claro, se estiver usando esquema de cores para o terminal)
Experimente agora chamar o programa digitando apenas eclipse a partir de qualquer ponto do terminal e verá o carregamento do programa. Por exemplo, navegue até a pasta /home/nome_usuario e digite eclipse.
cd /home/nome_usuario
eclipse
Um ponto a notar é que essa espécie de uso, carregar o programa a partir do terminal, faz com que o terminal fique "preso" ao programa que está sendo executado, o que é uma desvantagem (experimente fazer o mesmo com o firefox), quando comparativamente se aciona o programa a partir do ambiente gráfico.
Embora seja possível fazer uso da opção acima descrita, é sempre melhor manter uma entrada do programa que se instalou no menu do sistema, existente na barra superior (tomando como referência o Ubuntu 11.04, ambiente clássico), usando o procedimento padrão de criação dessa entrada para aqueles programas que não se instalam ou se instalam e não criam por si próprios essa entrada no ambiente gráfico.
Os desenvolvedores despendem muito esforço e energia para criar ferramentas amigáveis para a realização das tarefas do sistema, sendo o uso do terminal (CLI - Command Line Interface, segundo alguns, numa corruptela, Command Linux Interface) uma exceção à regra, que é o uso do ambiente gráfico.
O procedimento padrão para criação de entrada no menu do sistema é clicar no último ícone à direita da barra superior, o painel, localizando a entrada "Configurações do sistema", abre-se a janela "Centro de Controle".
Dentro do "Centro de Controle", no grupo "Pessoal", localize o ícone "Menu principal", click nele.
Na coluna à esquerda identifique e torne ativo o grupo em que se quer instalar o ícone (no nosso exemplo do Eclipse, seria o grupo "Desenvolvimento", mas pode ser qualquer um que se queira).
Click no botão "+Novo item" para adicionar uma entrada.
Coloque um nome que se queira no campo "Nome"
Use o botão "Navegar" para encontrar o executável e estabelecer o comando de chamada do programa correspondente.
Click em OK para fechar, pronto, a entrada de chamada do programa e seu correspondente ícone estão colocados no menu do sistema, de forma rápida, fácil e simples.
Embora absolutamente desnecessário, haja vista o procedimento padrão acima descrito, querendo, sempre é possível complicar e adicionar a entrada no menu do sistema manualmente.
Cada entrada do menu do sistema possui um arquivo correspondente no formato nome_do_programa.desktop no diretório:
/usr/share/applications
Assim sendo, pode ser criado um arquivo texto (use o gedit para isso) e adicionado nesse diretório, arquivo esse no seguinte formato que se pode exemplificar com o gbrainy.desktop, que é um jogo disponível no menu do sistema em Aplicativos/Jogos/gbrainy:
[Desktop Entry]
Version=1.0
Name=gbrainy
GenericName=Game
Comment=Play games that challenge your logic, verbal, calculation and memory abilities
Exec=gbrainy
Icon=gbrainy
StartupNotify=true
Terminal=false
Type=Application
Categories=GNOME;GTK;Game;LogicGame;
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gbrainy
X-GNOME-Bugzilla-Component=General
X-GNOME-Bugzilla-Version=@VERSION@
X-Ubuntu-Gettext-Domain=gbrainy
Ainda como exemplo, no caso do Eclipse, poderia ser criado um eclipse.desktop nos seguintes moldes:
[Desktop Entry]
Name=Eclipse
Comment=ferramenta de desenvolvimento
Exec=/opt/eclipse/eclipse
Terminal=false
Type=Application
Icon=/opt/eclipse/eclipse_icon.png
Categories=Development;Database;
Como dito acima, isso é apenas complicação desnecessária, já que o procedimento padrão faz tudo isso de forma muito mais simples e rápida, entretanto, é apenas para constar a possibilidade.
[]'s