У меня есть .desktop файл, который запускает приложение, и это использует .desktop значок:
[Desktop Entry]
Name=My Ro
Type=Application
Comment=Web Application
Exec=/path/to/myapp -test
Icon=/opt/giteye/icon.xpm
Name[en_US]=My Ro
Я хочу использовать сценарий оболочки вместо этого для запуска этого приложения, потому что со сценарием оболочки я могу передать параметры командной строки сценария, которые затем передаются запускающемуся приложению.
#!/bin/sh
nohup /path/to/myapp -test "$@" &
Однако со сценарием оболочки значок не является значком файла оболочки. Это использует значок по умолчанию myapp. Там должен так или иначе заставить это вести себя как .desktop и заставить оболочку запустить приложение с пользовательским значком?
Одна настольная запись:
[Desktop Entry]
Name=Firefox
Type=Application
Comment=Web Application
Exec=/home/yasir/Desktop/launchers/Mozilla\ Firefox\ -\ test.sh
Icon=/home/yasir/Desktop/customFx.png
Name[en_US]=Firefox
Другой рабочий стол:
[Desktop Entry]
Name=Firefox Safe Mode
Type=Application
Comment=Web Application
Exec=/home/yasir/Desktop/launchers/Mozilla\ Firefox\ -\ test.sh -safe-mode
Icon=/home/yagt/Documents/fxSafe.png
Name[en_US]=Firefox Safe Mode
Shell:
#!/bin/sh
nohup /usr/lib/firefox/firefox "$@" &
Там не возникает никакая причина сделать это. Это точно, почему это не возможно. Если Вы соберетесь передать аргументы кроме позволенных аргументов, то Вы будете вызывать его из командной строки, в этом случае нет причины иметь значок. В этом случае, Вы привычка использовать .desktop
файл, но сценарий непосредственно.
Add... Accepts...
%f a single filename.
%F multiple filenames.
%u a single URL.
%U multiple URLs.
%d a single directory. Used in conjunction with %f to locate a file.
%D multiple directories. Used in conjunction with %F to locate files.
%n a single filename without a path.
%N multiple filenames without paths.
%k a URI or local filename of the location of the desktop file.
%v the name of the Device entry.
Это позволенные аргументы, которые передаются из GUI, как, например, путем перетаскивания файла к .desktop
файл.
Вот пример использование.