我有一个.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
)。
扎卡里·布雷迪最初建议(但也有问题)xdg-open
可能会运行.desktop
文件,但它给我一个消息框说
错误
无法将插件添加到面板
未找到 xfce4-panel 的运行实例
既适用于这个.desktop
,也适用于另一个可行的方法。 (我运行的是普通 Ubuntu,没有 xfce)。
答案1
您还可以使用验证工具桌面文件验证去发现更多的问题。
(也可以看看:如何验证.desktop 文件?)
# Result for your example
$ desktop-file-validate qutebrowser.desktop
test.desktop: hint: value "Network;Utility;X-Python;" for key "Categories"
in group "Desktop Entry" contains more than one main category; application
might appear more than once in the application menu
答案2
我通常添加以下内容来查看正在执行的内容:
Terminal=true
TerminalOptions=\s--noclose
答案3
在 Linux Mint 上,文件管理器服务名为nemo
,nemo 可以通过发出以下命令退出:
nemo -q
文件管理器停止后,您可以在终端中打开它
nemo
现在,它会将其日志打印到此终端,当您打开 *.desktop 文件时,您应该能够看到 *.desktop 的 Exec 行的标准输出。
答案4
xdg-open
并exo-open
用于打开文件(在其各自的关联程序中)。他们从来不打算自己执行任何事情。要执行桌面定义的命令,您可以使用右旋糖酐。