Я сделал следующие процедуры, чтобы создать панель запуска приложений, но она не работает.
создать сценарий оболочки с именем shell.sh
со следующим содержанием:
java -jar foo.jar
sudo chmod +x shell.sh
/usr/share/applications/
с содержимым:
[Desktop Entry]
Name=foo
Terminal=false
Exec=/path/shell.sh
Type=Application
Icon=/path/icon.png
Categories=Utility;
Затем у меня есть приложение со значком, но оно не может быть запущено при двойном щелчке на shell.sh. работает. Что не так?
Вот несколько советов, которые могут помочь вам решить вашу проблему:
Exec=/path/shell.sh
на Exec=sh /path/shell.sh
или Exec=bash /path/shell.sh
Добавьте разрешение на выполнение к Файл .desktop
sudo chmod +x /usr/share/application/<your_desktop_file>
Также, если вы не хотите, чтобы этот модуль запуска был доступен для всей системы (то есть: для всех пользователей), вы можете поместить файл .desktop в ~/.local/share/applications
. Поскольку эта папка находится в вашей домашней папке, вам не нужно sudo
для создания / редактирования файла.
Убедитесь, что вы либо
java -jar foo.java
вам нужно заменить foo.java
на /full/path/to/foo.java
Path
записи рабочего стола, которое определяет рабочий каталог для вашего сценария, т. е. сценарий выполняется относительно указанного рабочего каталога. Если вы выберете второй вариант, ваша запись на рабочем столе будет выглядеть примерно так
[Desktop Entry]
Name=foo
Terminal=false
Exec=/full/path/to/shell.sh
Path=/full/path/to
Type=Application
Icon=/full/path/to/icon.png
Categories=Utility;
Я не знаю, что не так с вашей записью, но я использую следующее приложение для создания пользовательских модулей запуска. работает и в Unity:
http://gtk-apps.org/content/show.php/Desktop+Entry+Editor?content=147818
Desktop Entry Editor - это приложение с графическим интерфейсом для редактирования и создания программ запуска приложений для GNOME, KDE, XFCE и любой другой среды рабочего стола, реализующих Спецификацию входа рабочего стола с freedesktop.org.