Como eu crio um arquivo .desktop para iniciar o eclipse?

7

Quando eu crio um arquivo .desktop para iniciar o eclipse (compilação mais recente com suporte ao 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 em que o binário do eclipse está?

Eu posso iniciar o Eclipse a partir da linha de comando e posso fixá-lo no iniciador e ele funciona. Por que o arquivo .desktop está tão confuso sobre o que é suposto fazer?

Aqui está o 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 em a questão ligada acima como uma duplicação . Meu problema é porque meu PATH para o JDK está definido no meu .bashrc.

    
por Dean Schulze 09.02.2014 / 05:38

4 respostas

1

Eu copiei o seguinte bloco de dentro da declaração if [ -n "$BASH_VERSION" ]; then :

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 HOME não está definido quando o lightdm executa ~/.profile .

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

A solução é definir o PATH na linha Exec=env PATH=$PATH:... no eclipse.desktop. Nada que eu tentei funciona para iniciar o IntelliJ a partir de um ícone no desktop, no entanto.

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 menos propenso a erros e mais fácil de usar. Os scripts ainda teriam que estar lá para os shells do bash, mas o desktop do Unity poderia ser independente deles.

    
por Dean Schulze 11.02.2014 / 18:34
7

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 o eclipse.ini

Outra solução é modificar o arquivo eclipse.ini 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

    
por iv4z 28.04.2014 / 03:45
1

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

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

Você disse que pode iniciar eclipse de um terminal: nesse caso, eu diria que seu java está 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ê faz o login. Então, quando você está em uma sessão de terminal, seu PATH é diferente daquele que é usado quando o arquivo .desktop é invocado.

Para solucionar esse caso:

  • Para ver onde java está instalado: which java
  • Verifique seu ~/.profile se o PATH correto com o diretório java estiver definido nele. Se o caminho correto for definido apenas em .bashrc , .zshrc , etc., é possível que esses scripts não sejam chamados no login, portanto, o PATH não está configurado corretamente. Além disso, se você tiver ~/.bash_profile ou ~/.bash_login , será necessário verificar também. Se você fornecer esses arquivos, podemos analisar isso, seja este o seu problema.

Se você não puder resolvê-lo dessa maneira, poderá sempre modificar o PATH diretamente no arquivo .desktop com env PATH= ...

    
por falconer 09.02.2014 / 19:06
1

Eu tenho um método muito simples.

Abra o Gedit ou o Editor de texto. Adicione:

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

Salvar na área de trabalho como eclipse.desktop .

Clique com o botão direito no arquivo eclipse.desktop > clique em propriedades > clique na guia Permissões > > Clique na caixa de seleção de Executar

    
por TestingRule 09.12.2016 / 13:14