Come faccio a creare un file .desktop per avviare eclipse?


12

Quando creo un file .desktop per avviare eclipse (ultima build con supporto JDK 1.8) ottengo il seguente errore:

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

Perché tenta di trovare JRE nella directory in cui si trova il binario eclipse?

Posso avviare Eclipse dalla riga di comando e posso bloccarlo sul programma di avvio e funziona. Perché il file .desktop è così confuso su ciò che dovrebbe fare?

Ecco il mio file .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;

Il problema che sto riscontrando non è quello che è stato posto nella domanda sopra collegata come duplice . Il mio problema è perché il mio PERCORSO su JDK è impostato nel mio .bashrc.


L'unica differenza tra il mio eclipse.desktop e quello in quella domanda è che aggiunge alcuni argomenti all'avvio di eclipse. Quando aggiungo quegli stessi argomenti ottengo lo stesso messaggio di errore. I file .desktop di Unity apparentemente non possono avviare Eclipse.
Dean Schulze,

Risposte:


9

Ho avuto lo stesso problema.

Il prossimo file eclipse.desktop funziona in 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

Non ho modificato eclipse.ini

Un'altra soluzione è quella di modificare il file eclipse.ini senza modificare eclipse.desktop

My 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

L'opzione -vm e il suo valore (il percorso) devono essere su righe separate.

Maggiori informazioni: Wiki eclipse.ini


perché ha bisogno del percorso completo per icon.xpm?
Nicky De Maeyer,

1
dove posiziono il file eclipse.desktop?
Jonathan,

1

L'output dice che ha cercato anche nel PERCORSO:

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

Hai detto che puoi lanciare eclipseda un terminale: in questo caso direi che il tuo javaè installato in una directory non standard, che viene aggiunta al tuo PERCORSO da uno script di avvio del terminale (bashrc, zshrc, ecc.) Ma non viene aggiunto alla tua sessione quando accedi. Pertanto, quando ci si trova in una sessione terminale, il PERCORSO è diverso da quello utilizzato quando viene richiamato il file .desktop.

Per risolvere questo caso:

  • Per vedere dove javaè installato:which java
  • Controlla ~/.profilese javaè impostato il PERCORSO corretto con la directory. Se il percorso corretto è impostato solo in .bashrc, .zshrcecc, allora è possibile che questi script non vengono richiamati su login, quindi il percorso non è impostato correttamente. Anche se hai ~/.bash_profileo ~/.bash_logindevi controllare anche quelli. Se fornisci questi file, possiamo esaminare se questo è il tuo problema.

Se non riesci a risolverlo in questo modo, puoi sempre modificare il PERCORSO direttamente nel file .desktop con env PATH= ...


Questo è esattamente il mio problema allora. Ho impostato il PERCORSO su JDK in .bashrc. Guardando i documenti per un file .desktop la voce PATH sembra fare qualcos'altro. C'è un modo per impostare il PATH di sistema in .desktop?
Dean Schulze,

Dopo alcuni googling ho scoperto che la soluzione è quella di cambiare la linea Exec in questo modo: Exec=env PATH=/home/dean/bin/jdk1.8.0/bin:$PATH /home/dean/bin/eclipse-standard-luna-M5-linux-gtk-x86_64/eclipse/eclipse i documenti per il file .desktop non sono stati d'aiuto.
Dean Schulze,

Tuttavia, la stessa modifica alla riga Exec = ... non funziona per l'avvio di IntelliJ tramite il file idea.sh.
Dean Schulze,

@DeanSchulze Sì, Exec=env PATH= ...questo è ciò che intendevo nella mia ultima riga. Normalmente vorresti impostare PATH in .profile, non .bashrc. Il file .profile viene analizzato dalla shell di accesso in modo che configuri il PERCORSO correttamente quando effettui il login e quindi non sarà necessario per envrisolvere il problema. Su Debian / Ubuntu .profile source .bashrc, quindi questo non dovrebbe essere un problema, ma forse il tuo .profile non lo sta facendo, quindi controlla. Oppure hai un file .bash_profile o .bash_login che sovrascrive le impostazioni .profile.
falconiere,

@DeanSchulze Quindi, per riassumere, imposta il tuo PERCORSO in .profile (o .bash_profile o .bash_login se hai uno di quei file) non in .bashrc, o assicurati che .bashrc provenga dai file di cui sopra. Se lo imposti in questo modo, il tuo PERCORSO dovrebbe essere corretto anche per i file .desktop e non sarà necessario "ingannare".
falconiere,

1

Ho copiato il seguente blocco dall'interno if [ -n "$BASH_VERSION" ]; thendell'istruzione:

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

Ho anche provato senza l'istruzione if:

. "$HOME/.bashrc"

ma Eclipse fallisce con lo stesso messaggio di errore in entrambi i casi. Apparentemente HOMEnon è impostato quando si esegue lightdm ~/.profile.

L'impostazione esplicita del percorso ~/.profilefunziona, ma voglio mantenere il mio PERCORSO e le altre funzionalità di Bash (alias, funzioni) nello stesso file.

La soluzione è impostare PATHon the Exec=env PATH=$PATH:...line in eclipse.desktop. Tuttavia, nulla di ciò che ho provato funziona per avviare IntelliJ da un'icona sul desktop.

Dato che stai reinventando l'esperienza della GUI di Linux con Unity, forse è il momento di lasciare alle spalle la serie di script soggetta a errori e utilizzare qualcosa che è meno soggetto a errori e più facile da usare. Gli script dovrebbero essere ancora lì per le shell bash, ma il desktop Unity potrebbe essere indipendente da loro.


1

Ho un metodo molto semplice.

Apri Gedit o l'Editor di testo. Inserisci:

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

Salva su desktop come eclipse.desktop.

Fare clic con il tasto destro sul eclipse.desktopfile> fare clic su Proprietà> fare clic sulla scheda Autorizzazioni >> Fare clic sulla casella di controllo Esegui

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.