我有一個.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
用於開啟檔案(在其各自的關聯程序中)。他們從來不打算自己執行任何事。若要執行桌面定義的命令,您可以使用右旋糖酐。