.desktop 파일을 어떻게 디버깅합니까?

.desktop 파일을 어떻게 디버깅합니까?

.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과 그렇지 않으면 작동하는 다른 것 모두에 대해. (저는 xfce 없이 일반 Ubuntu를 실행하고 있습니다.)

답변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 라인의 stdout을 볼 수 있습니다.

답변4

xdg-open파일을 여는 데 exo-open사용됩니다(해당 관련 프로그램에서). 그들은 결코 스스로 무언가를 실행할 의도가 없었습니다. 데스크탑에서 정의한 명령을 실행하려면 다음을 사용할 수 있습니다.덱스.

관련 정보