2

我在 Qt 中开发了一个使用启动脚本的应用程序,myapp.sh. 我创建了一个启动此脚本的 .desktop 文件,并设置:

命令:$PWD/myapp.sh

工作路径:$PWD

但是,$PWD当我启动 .desktop 文件时会打印我的主目录,从而导致尝试启动~/myapp.sh而不是~/Development/build-directory/bin/myapp.sh(该目录是 .desktop 文件所在的位置)。为什么它没有正确地将工作目录设置为 .desktop 文件实际所在的位置,我怎样才能解决这个问题不必在 .desktop 文件中指定绝对路径?

4

1 回答 1

2

$PWD保存 shell 的当前工作目录,它与 .desktop 文件的位置无关。您可以这样做的一种方法是:

Exec=$(dirname %k)/myapp.sh

规范中,%k是“桌面文件的位置作为 URI(例如,如果从 vfolder 系统获取)或本地文件名,如果位置未知,则为空。” 所以这是myapp.sh在同一个目录中。

于 2010-08-08T04:49:08.460 回答