如何调试.desktop文件?


10

我有一个.desktop文件可在特定的conda环境中启动python程序,如下所示:

[Desktop Entry]
Version=1.0
Name=Qutebrowser
GenericName=Web Browser
Comment=View and edit files
MimeType=text/html;
Exec=bash -c "source /vol/home/kaipingga/anaconda3/bin/activate qutebrowser; qutebrowser"
Icon=/vol/home/kaipingga/.config/qutebrowser.svg
Type=Application
Terminal=false
Categories=Network;Utility;X-Python;
StartupWMClass=Qutebrowser
X-Desktop-File-Install-Version=0.20

这曾经可以工作,但是最近我调整了python环境。

现在,在终端中,相同的命令

$ bash -c "source /vol/home/kaipingga/anaconda3/bin/activate qutebrowser; qutebrowser"

运行该应用程序,但.desktop不运行该文件。我是怎么发现错误的?

我的其他.desktop文件运行良好,我认为我的Python环境出了点问题,此刻此刻是很棘手的(这是conda从头开始在专用环境中运行的主要原因)。

Zachary Brady最初建议(但存在问题xdg-open可能运行.desktop文件,但它给了我一个消息框,内容为

错误

无法将插件添加到面板

找不到xfce4-panel的运行实例

既适用于此.desktop,也适用于其他可行的方法。(我正在运行普通的Ubuntu,没有xfce)。


在阅读了更多内容后,我删除了我的答案。问题xdg-open已经存在一段时间了,并且只在文本编辑器中打开了桌面图标...
Zachary Brady

事实证明,问题是在Python路径中未被替换的~(显示为“ ~”,而不是“ /home/anaphory”),我通过env > check;在命令中间添加来发现了该问题。但是我敢肯定,有一种更好的方法可以调试它!
照应性

Answers:



1

在Linux Mint上,文件管理器服务名为nemo,可以通过发出以下命令退出nemo:

nemo -q

在文件管理器停止的情况下,您可以在终端中打开它

nemo

现在,它将把日志打印到此终端,当您打开* .desktop文件时,您应该能够看到* .desktop的Exec行的标准输出。


哦,完成调试后,请在运行nemo的终端上按Ctrl + C,然后通过开始菜单将其打开,或者重新登录桌面会话。
ThorSummoner

0

我通常添加以下内容以查看正在执行的操作:

Terminal=true
TerminalOptions=\s--noclose

0

xdg-openexo-open用于打开文件(在各自的关联程序中)。他们从来没有打算自己执行任何事情。要执行由桌面定义的命令,可以使用dex

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.