Como faço para criar um arquivo .desktop para iniciar o Eclipse?

Como faço para criar um arquivo .desktop para iniciar o Eclipse?

Quando crio um arquivo .desktop para iniciar o Eclipse (compilação mais recente com suporte a JDK 1.8), recebo o seguinte erro:

A Java Runtime Environment (JRE) or Java Development Kit (JDK)
must be available in order to run Eclipse. No Java virtual machine
was found after searching the following locations:
/home/dean/bin/eclipse-standard-luna-M5-linux-gtk-x86_64/eclipse/jre/bin/java
java in your current PATH

Por que ele tenta encontrar o JRE no diretório onde está o binário do Eclipse?

Posso iniciar o Eclipse a partir da linha de comando e fixá-lo no inicializador e ele funciona. Por que o arquivo .desktop está tão confuso sobre o que deveria fazer?

Aqui está meu arquivo .desktop:

[Desktop Entry]
Version=1.0
Name=Eclipse JDK 1.8
Comment=Eclipse
Exec=/home/dean/bin/eclipse-standard-luna-M5-linux-gtk-x86_64/eclipse/eclipse
Icon=/home/dean/bin/eclipse-standard-luna-M5-linux-gtk-x86_64/eclipse/icon.xpm
Terminal=false
Type=Application
Categories=Utility;Application;

O problema que estou tendo não é o que foi perguntado ema pergunta vinculada acima como uma duplicata. Meu problema é porque meu PATH para o JDK está definido em meu .bashrc.

Responder1

Eu tive o mesmo problema.

O próximo arquivo eclipse.desktop funciona no Ubuntu 14.06 x64.

[Desktop Entry]
Encoding=UTF-8
Name=Eclipse
Comment=Eclipse IDE
Exec=/home/ivan/Eclipse/eclipse -vm /home/ivan/java/jdk1.7.0_25/bin/java
Icon=/home/ivan/Eclipse/icon.xpm
Categories=Application;Development;Java;IDE
Type=Application
Terminal=0

Eu não modifiquei oeclipse.ini

Outra solução é modificar oeclipse.iniarquivo sem modificar seu eclipse.desktop

Meu eclipse.ini:

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20140116-2212
-product
org.eclipse.epp.package.standard.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vm
/home/ivan/java/jdk1.7.0_25/bin/java
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m

A opção -vm e seu valor (o caminho) devem estar em linhas separadas.

Mais informações:Wiki eclipse.ini

Responder2

A saída diz que também pesquisou no PATH:

No Java virtual machine was found after searching the following locations:
...
java in your current PATH

Você disse que pode iniciar eclipsea partir de um terminal: neste caso, eu diria que o seu javaestá instalado em um diretório não padrão, que é adicionado ao seu PATH por um script de inicialização do terminal (bashrc, zshrc, etc.), mas não é adicionado à sua sessão quando você fizer login. Portanto, quando você está em uma sessão de terminal, seu PATH é diferente daquele usado quando o arquivo .desktop é invocado.

Para solucionar este caso:

  • Para ver onde javaestá instalado:which java
  • Verifique ~/.profilese o PATH correto com o javadiretório está definido nele. Se o caminho correto estiver definido apenas em .bashrc, .zshrc, etc., é possível que esses scripts não sejam invocados no login, portanto o PATH não está definido corretamente. Além disso, se você tiver ~/.bash_profileou ~/.bash_loginprecisar verificar isso também. Se você fornecer esses arquivos, poderemos verificar se esse é o seu problema.

Se você não conseguir resolver desta forma, você pode modificar o PATH diretamente no arquivo .desktop comenv PATH= ...

Responder3

Copiei o seguinte bloco da if [ -n "$BASH_VERSION" ]; theninstrução:

if [ -f "$HOME/.bashrc_" ]; then
    . "$HOME/.bashrc"
fi

Eu também tentei sem a instrução if:

. "$HOME/.bashrc"

mas o Eclipse falha com a mesma mensagem de erro em ambos os casos. Aparentemente HOMEnão está definido quando o lightdm é executado ~/.profile.

Definir explicitamente o caminho ~/.profilefunciona, mas quero manter meu PATH e meus outros recursos do Bash (aliases, funções) no mesmo arquivo.

A solução é definir o PATHna Exec=env PATH=$PATH:...linha em eclipse.desktop. No entanto, nada do que tentei funciona para iniciar o IntelliJ a partir de um ícone na área de trabalho.

Dado que você está reinventando a experiência da GUI do Linux com o Unity, talvez seja hora de deixar para trás a série de scripts propensos a erros e usar algo que seja menos propenso a erros e mais fácil de usar. Os scripts ainda teriam que estar lá para os shells bash, mas a área de trabalho do Unity poderia ser independente deles.

Responder4

Eu tenho um método muito simples.

Abra o Gedit ou Editor de Texto. Adicionar:

[Desktop Entry]
Exec=/home/testrule/eclipse/eclipse
Icon=/home/testrule/eclipse/icon.xpm
Type=Application

Salve na área de trabalho como eclipse.desktop.

Clique com o botão direito no eclipse.desktoparquivo > clique em propriedades > clique na guia Permissões >> Clique nocaixa de seleçãode Executar

informação relacionada