作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在 Qt 中开发了一个应用程序,它使用启动脚本 myapp.sh
。我创建了一个启动此脚本的 .desktop 文件,并设置:
命令:$PWD/myapp.sh
工作路径:$PWD
但是,当我启动 .desktop 文件时,$PWD
打印我的主目录,导致尝试启动 ~/myapp.sh
而不是 ~/Development/build-directory/bin/myapp.sh
(该目录是 .desktop 文件所在的目录)。为什么它不能将工作目录正确设置为 .desktop 文件实际所在的位置,我如何才能解决此问题而不必在 .desktop 文件中指定绝对路径?
最佳答案
$PWD
保存当前的 working directory shell,这与 .desktop 文件的位置无关。您可以这样做的一种方法是:
Exec=$(dirname %k)/myapp.sh
来自 the spec , %k
是“桌面文件的位置作为 URI(例如,如果从 vfolder 系统获取)或本地文件名,如果不知道位置则为空。”所以这是同一目录中的 myapp.sh
。
关于c++ - 如何在 Linux 上创建 .desktop 文件应用程序启动器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3433088/
我是一名优秀的程序员,十分优秀!