![.desktop 文件无法运行](https://linux22.com/image/898648/.desktop%20%E6%96%87%E4%BB%B6%E6%97%A0%E6%B3%95%E8%BF%90%E8%A1%8C.png)
我有一个用于.py 的基本.desktop 文件:
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Appy
Comment=some app
Exec=/home/me/Documents/py/cs/simi0op.py
Icon=/usr/share/icons/hicolor/48x48/apps/pic.jpeg
Terminal=true
当我双击桌面图标时,我收到一个终端错误消息,提示 .ext 不在路径中。但它确实在路径中。
我的错误信息:
无法执行子进程“path/to/file.py”(没有此文件或目录)
但是我可以通过终端 cd 并通过 python3 运行,没有问题。.py 文件确实使用了一个或两个导入,但这些工作正常,所以它们也应该可以从 .desktop 快捷方式工作……不是吗?
我认为我的 Exec var 设置正确。单击图标会产生错误,但文件存在 - 并通过终端中的 python3 运行:
答案1
你有没有尝试过:
[Desktop Entry]
Version=1.0
Type=Application
Name=Appy
Comment=
Exec=/home/[username]/path/file.py
Icon=/usr/share/icons/hicolor/48x48/apps/pic.jpeg
Path=/home/[username]/path
Terminal=false
StartupNotify=false
也许尝试终端=false ..我有一个使用此设置运行的脚本,终端为 false ,您可能需要添加路径行
答案2
最有可能的是,您需要执行chmod +x /home/[username]/path/file.py
,将 [用户名] 替换为您的实际用户名。
如果失败,请复制/粘贴 .desktop 文件的准确内容和准确的错误消息。将内容更改为“path/to/file.py”可能会隐藏有用信息,使我们更难为您提供帮助。
答案3
对我来说,罪魁祸首是将我的主目录绝对路径(即 /home/[用户名]/)替换为 shell 保留字符波浪号,~
该字符通常在 shell 本身上工作时指定主目录。如果是这种情况,则恢复到明确的路径。