Bagaimana cara men-debug file .desktop?

10

Saya punya .desktopfile untuk memulai program python di lingkungan conda tertentu, seperti ini:

[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

Ini digunakan untuk bekerja, tapi saya men-tweak lingkungan python saya baru-baru ini.

Sekarang, di terminal perintah yang sama

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

menjalankan aplikasi, tetapi .desktopfile tidak. Bagaimana saya mencari tahu karena kesalahan apa itu?

.desktopFile - file saya yang lain berjalan dengan baik, saya berasumsi ada yang salah dengan lingkungan Python saya, yang cukup meretas untuk saat ini (yang merupakan alasan utama untuk menjalankan ini di condalingkungan yang didedikasikan untuk memulai).

Zachary Brady awalnya menyarankan (tetapi ada masalah ) xdg-openmungkin menjalankan .desktopfile, tetapi itu memberi saya kotak pesan yang mengatakan

Kesalahan

Gagal menambahkan plugin ke panel

Tidak ada instance menjalankan xfce4-panel yang ditemukan

baik untuk ini .desktopdan untuk yang lain yang berfungsi. (Saya menjalankan Ubuntu sederhana, tidak ada xfce).

Anaforis
sumber
Saya menghapus jawaban saya setelah membaca lebih lanjut tentang itu xdg-opentelah disadap cukup lama dan hanya membuka ikon desktop di editor teks ...
Zachary Brady
Ternyata masalahnya adalah tidak tersubstitusi ~(muncul sebagai " ~", bukan sebagai " /home/anaphory") di jalur Python, yang saya temukan dengan menambahkan env > check;di tengah-tengah perintah. Tapi saya yakin ada cara yang lebih baik untuk men-debug ini!
Anaforis

Jawaban:

3

Anda juga dapat menggunakan alat validasi desktop-file-validate untuk menemukan lebih banyak masalah.

(lihat juga: Bagaimana memvalidasi / memverifikasi file .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
Jonas Stein
sumber
1

Di Linux Mint, layanan File Manager dinamai nemo , nemo dapat keluar dengan mengeluarkan:

nemo -q

Dengan manajer file Anda berhenti, Anda dapat membukanya di terminal

nemo

Sekarang akan mencetak log-nya ke terminal ini, ketika Anda pergi untuk membuka file * .desktop Anda, Anda harus dapat melihat stdout dari baris Exec * .desktop Anda.

ThorSummoner
sumber
Oh, dan ketika Anda selesai debugging, Ctrl + C terminal yang menjalankan nemo, dan buka melalui menu awal Anda, atau relog kembali sesi desktop Anda.
ThorSummoner
0

Saya biasanya menambahkan yang berikut untuk melihat apa yang sedang dieksekusi:

Terminal=true
TerminalOptions=\s--noclose
pengguna375770
sumber
0

xdg-opendan exo-opendigunakan untuk membuka file (dalam program terkait masing-masing). Mereka tidak pernah dimaksudkan untuk mengeksekusi apapun sendiri. Untuk menjalankan perintah yang ditentukan oleh desktop, Anda dapat menggunakan dex .

Hermann
sumber