我有一个启动应用程序的 .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
我想使用 shell 脚本来启动此应用程序,因为使用 shell 脚本我可以传递脚本命令行参数,然后将其传递给启动应用程序。
#!/bin/sh
nohup /path/to/myapp -test "$@" &
但是,对于 shell 脚本,图标不是 shell 文件的图标。它使用 myapp 的默认图标。有没有办法让它表现得像 .desktop 一样,并让 shell 使用自定义图标启动应用程序?
编辑-我尝试将桌面入口路径提供给 shell
一个桌面条目:
[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
壳:
#!/bin/sh
nohup /usr/lib/firefox/firefox "$@" &
答案1
没有理由这样做。这正是为什么这是不可能的。如果您要传递除允许的参数之外的参数,那么您将从命令行调用它,在这种情况下没有理由使用图标。在这种情况下,您将不会使用文件.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
。
这是一个例子用法。