如何在Linux上创建.desktop文件应用程序启动器?

时间:2010-08-08 04:34:15

标签: c++ linux qt kde opensuse

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

命令:$PWD/myapp.sh

工作路径:$PWD

但是,$PWD在我启动.desktop文件时打印我的主目录,导致尝试启动~/myapp.sh而不是~/Development/build-directory/bin/myapp.sh(该目录是.desktop文件所在的目录) 。为什么不正确地将工作目录设置为.desktop文件实际所在的位置?如何在不使用指定.desktop文件中的绝对路径的情况下解决此

1 个答案:

答案 0 :(得分:2)

$PWD包含shell的当前working directory,它与.desktop文件的位置无关。您可以使用以下方法执行此操作:

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

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