编辑-我尝试将桌面入口路径提供给 shell

编辑-我尝试将桌面入口路径提供给 shell

我有一个启动应用程序的 .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

这是一个例子用法。

相关内容