我试图让 .desktop 文件运行 .sh,该文件存储在与 .desktop 相同的目录中。整个目录需要可移植并可以从一台机器移动到另一台机器。
现在我可以使用以下方法获取 EXEC 命令的当前路径:
Exec=bash -c '"$(dirname "$1")"/run.sh' dummy %k
但现在我还希望它从同一目录加载图标,以便它变得完全可移植。但没有取得任何成功,而是使用 EXEC 命令建议的方法。
这是我尝试过的:
Icon=bash -c '"$(dirname "$1")"/run.sh' dummy %k
和
Icon=bash -c '"$(pwd)"/data/planet_image_gray.png'
但似乎都不起作用。我希望有一个解决方案。
提前致谢。
答案1
这个技巧对条目有效,EXEC
因为它运行一个命令,但它对无效,ICON
因为它需要一个可以在 /usr/share/icons/ 目录中找到的标准图标名称,或者一个自定义图像的绝对路径名。现代版本的桌面甚至不接受自定义图像的相对路径名。
如果你真的必须在您的便携式目录中有一个自定义图像是可能的,但有点混乱。您可以通过在将目录移动到新位置时运行安装脚本来完成此操作。安装脚本将生成一个为其当前位置定制的新 .desktop 文件,可以使用脚本本身存储的详细信息,也可以使用模板文件。但这对我来说听起来很混乱......