Как создать файл .desktop для запуска Eclipse?

Как создать файл .desktop для запуска Eclipse?

При создании файла .desktop для запуска Eclipse (последняя сборка с поддержкой JDK 1.8) возникает следующая ошибка:

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

Почему он пытается найти JRE в каталоге, где находится исполняемый файл Eclipse?

Я могу запустить Eclipse из командной строки, и я могу прикрепить его к лаунчеру, и он работает. Почему файл .desktop так запутался в том, что он должен делать?

Вот мой файл .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;

Проблема, с которой я столкнулся, не в том, о чем спрашивалосьвопрос, указанный выше как дубликат. Моя проблема в том, что мой PATH к JDK установлен в моем .bashrc.

решение1

У меня такая же проблема.

Следующий файл eclipse.desktop работает в 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

Я не изменилeclipse.ini

Другое решение — изменитьeclipse.iniфайл без изменения вашего eclipse.desktop

Мой 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

Параметр -vm и его значение (путь) должны быть на разных строках.

Больше информации:Вики eclipse.ini

решение2

В выводе говорится, что поиск также выполнялся в PATH:

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

Вы сказали, что можете запустить eclipseиз терминала: В этом случае я бы сказал, что ваш javaустановлен в нестандартный каталог, который добавляется в ваш PATH скриптом запуска терминала (bashrc, zshrc и т. д.), но не добавляется в ваш сеанс при входе в систему. Поэтому, когда вы находитесь в сеансе терминала, ваш PATH отличается от того, который используется при вызове файла .desktop.

Чтобы устранить эту проблему:

  • Чтобы увидеть, где javaустановлено:which java
  • Проверьте , установлен ~/.profileли в нем правильный PATH с javaкаталогом. Если правильный путь установлен только в .bashrc, .zshrc, и т. д., то возможно, что эти скрипты не вызываются при входе в систему, поэтому PATH установлен неправильно. Также, если у вас есть ~/.bash_profileили ~/.bash_loginвам нужно проверить их тоже. Если вы предоставите эти файлы, мы можем рассмотреть, является ли это вашей проблемой.

Если вы не можете решить проблему таким образом, вы всегда можете изменить PATH непосредственно в файле .desktop с помощьюenv PATH= ...

решение3

Я скопировал следующий блок из оператора if [ -n "$BASH_VERSION" ]; then:

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

Я также пробовал без оператора if:

. "$HOME/.bashrc"

но Eclipse в обоих случаях выдает одно и то же сообщение об ошибке. Видимо, HOMEне устанавливается при запуске lightdm ~/.profile.

Явное указание пути ~/.profileработает, но я хочу сохранить PATH и другие функции Bash (псевдонимы, функции) в одном файле.

Решение — установить PATHon Exec=env PATH=$PATH:...line в eclipse.desktop. Однако, ничего из того, что я пробовал, не работает для запуска IntelliJ с иконки на рабочем столе.

Учитывая, что вы переосмысливаете опыт Linux GUI с Unity, возможно, пришло время оставить серию подверженных ошибкам скриптов позади и использовать что-то менее подверженное ошибкам и более простое в использовании. Скрипты все равно должны быть там для оболочек bash, но рабочий стол Unity может быть независимым от них.

решение4

У меня очень простой метод.

Откройте Gedit или текстовый редактор. Добавьте:

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

Сохранить на рабочем столе как eclipse.desktop.

Щелкните правой кнопкой мыши по eclipse.desktopфайлу > щелкните свойства > щелкните вкладку «Разрешения» >> щелкнитефлажокиз Execute

Связанный контент