Bagaimana cara memvalidasi / memverifikasi file .desktop?

12

Saya memiliki beberapa .desktopfile yang tidak berfungsi seperti yang diharapkan atau tidak sama sekali. Saya tidak dapat melihat kesalahan di mana pun dan meminta bantuan untuk masing-masing tampaknya tidak produktif. Apakah ada cara saya dapat memverifikasi bahwa saya menggunakan sintaks yang benar dalam file, bahwa itu sesuai dengan standar FreeDesktop, sehingga saya dapat menerapkan perbaikan spesifik?

Braiam
sumber

Jawaban:

19

Anda mencari desktop-file-validatealat yang disediakan oleh paket file-desktop-utils dalam distribusi Anda. Itu memeriksa sintaks, menggunakan kata-kata / karakter yang dicadangkan, dalam ringkasan, bahwa itu sesuai dengan spesifikasi Entri Desktop . Berikut adalah contoh file .desktop yang buruk:

➜  ~  desktop-file-validate asdf.desktop 
asdf.desktop: error: value "cd /opt/sqldeveloper/sqldeveloper/bin && bash sqldeveloper $*" for key "Exec" in group "Desktop Entry" contains a reserved character '&' outside of a quote
asdf.desktop: error: value "cd /opt/sqldeveloper/sqldeveloper/bin && bash sqldeveloper $*" for key "Exec" in group "Desktop Entry" contains a reserved character '&' outside of a quote
asdf.desktop: error: value "cd /opt/sqldeveloper/sqldeveloper/bin && bash sqldeveloper $*" for key "Exec" in group "Desktop Entry" contains a reserved character '$' outside of a quote
asdf.desktop: error: value "cd /opt/sqldeveloper/sqldeveloper/bin && bash sqldeveloper $*" for key "Exec" in group "Desktop Entry" contains a reserved character '*' outside of a quote
asdf.desktop: hint: value item "GNOME" in key "Categories" in group "Desktop Entry" can be extended with another category among the following categories: GTK
asdf.desktop: error: value "GNOME;Oracle;Utility;Development;" for key "Categories" in group "Desktop Entry" contains an unregistered value "Oracle"; values extending the format should start with "X-"
asdf.desktop: hint: value "GNOME;Oracle;Utility;Development;" for key "Categories" in group "Desktop Entry" contains more than one main category; application might appear more than once in the application menu
asdf.desktop: error: value "s.0.m.t.h.i.n.g" for key "Version" in group "Desktop Entry" is not a known version

Yang di file yang baik suka caribou-autostart.desktoptidak akan menampilkan apa pun.

Braiam
sumber
FTR desktop-file-validatemungkin tidak menunjukkan kesalahan tetapi masih mungkin tidak berfungsi sama sekali karena entri yang tidak valid aktif Exec.
Pablo A