Como posso fazer o comando “eclipse myprogram.c” funcionar no terminal?

1

Como o título diz como posso fazer esse comando funcionar. Eu tenho o eclipse instalado na minha pasta / opt / e fiz um arquivo destop com:

[Desktop Entry]
Version=4.6
Name=Eclipse Neon C
GenericName=IDE
Comment=Eclipse Neon for c/c++ developers
Exec=/opt/eclipse/eclipse
Terminal=false
Icon=/opt/eclipse/icon.xpm
Type=Application
Categories=Utility;Application;

No entanto, sempre que digito eclipse myprogram.c , recebo o seguinte erro "

The program 'eclipse' is currrently not installed. You can install it by typing: 
sudo apt install eclipse-platform.
    
por Pascalerino 11.07.2016 / 01:20

2 respostas

3

O eclipse binário é o que é executado na linha de comando. Ao contrário do Desktop e do Dash, que podem usar lançadores de aplicativos, você precisa verificar se o binário está armazenado na variável PATH na linha de comando.

Se você quiser fazer isso útil uma vez , execute export PATH="/opt/eclipse:$PATH" .

Se você deseja que isso funcione perpetuamente para o futuro, precisamos garantir que todas as vezes que o shell for aberto e adicionar a pasta /opt/eclipse ao seu PATH , para que eclipse é corretamente interpretado pelo seu terminal. Se você estiver executando o Bash, adicione-o a ~/.bashrc , execute source ~/.bashrc e execute o comando original novamente:

export PATH="/opt/eclipse:$PATH"
    
por Thomas Ward 11.07.2016 / 01:28
-1

Se você soltar seu arquivo .desktop em .local / share / applications, o programa eclipse será encontrado.

O que eu não sei é se você pode passar um parâmetro como myprogram.c, sem modificar sua linha exec em seu arquivo .desktop. Se ele não passar no parâmetro myprogram.c, você pode tentar alterar a linha exec para "Exec = / opt / eclipse / eclipse $ 1", sem as aspas, ou talvez Exec="/ opt / eclipse / eclipse $ 1" com as citações, e veja se isso funciona. postnote: talvez o $ 1 deva ser% F.

Se isso não funcionar, talvez outro especialista aqui possa ajudar mais.

Felicidades, Al

    
por heynnema 11.07.2016 / 02:18