使用gnome-terminal的桌面应用程序:脚本和图标的相对路径

use*_*275 9 bash ubuntu icons desktop-application launcher

gnome-terminal用来创建一个可点击的桌面应用程序.该应用程序应下载到一个zip文件夹中,其子目录bin包含my myapp.desktop.我想somedir在我的zip文件中有一个不同的目录,其中包含主应用程序脚本和应用程序的图标.

但是,gnome-terminal似乎不适用于相对路径.我在这里myapp.desktop:

[Desktop Entry]
Exec=gnome-terminal -e "bash -c -i 'exec $SHELL --init-file ../somedir/myscript.sh'"
Icon=../somedir/myicon.gif
Terminal=true
Type=Application
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何将点击应用程序图标的目录传递给gnome-desktop?或者我如何组织我的目录,以便我不必拥有myicon.gifmyscript.sh在同一目录中myapp.desktop

我知道这个--working-directory论点,gnome-terminal并试图通过$PWD,没有成功.

编辑:

相关问题: 用于Python脚本的桌面启动器以错误的路径启动程序(Linux)

可以在.desktop文件中指定路径,但同样,它似乎不处理相对路径.如果我添加 Path=.,则找不到.

ter*_*ill 5

根据本文档 和有关 ask ubuntu 的其他答案(如thisthis),我认为您不能直接在桌面应用程序中使用相对路径。

但是,您可以将文件保存在所需的文件夹中,并在包中包含一个配置脚本,该脚本将可执行文件和图标复制到默认路径中,如文档中指定的($PATH 用于可执行文件,/usr/share/pixmaps 用于图标)。

此外,这里有一个很好的解决方法。而这里就像我提出的一个解决方案。

每个人似乎都同意使用相对路径是不可能的,但是......

...多搜索一点,似乎可以通过省略路径上的正斜杠来使用主目录作为相对路径的起点。基于此页面(链接):

  Exec="${HOME}/bin/scripts/UNIX/Prototype.bash"
  Path=${HOME}/bin/scripts/UNIX
Run Code Online (Sandbox Code Playgroud)

不起作用

但是这个:

  Exec="Prototype.bash"
  Path=bin/scripts/UNIX
Run Code Online (Sandbox Code Playgroud)

应该。