Jak sprawdzić / zweryfikować pliki .desktop?

12

Mam kilka .desktopplików, które nie działają zgodnie z oczekiwaniami lub wcale. Nigdzie nie widzę żadnego błędu, a proszenie o pomoc w każdym z nich wydaje się bezproduktywne. Czy istnieje sposób na sprawdzenie, czy korzystam z poprawnej składni pliku, czy jest on zgodny ze standardem FreeDesktop, więc mogę zastosować określone poprawki?

Braiam
źródło

Odpowiedzi:

20

Szukasz desktop-file-validatenarzędzia dostarczonego przez pakiet desktop-files-utils w twojej dystrybucji. Sprawdza składnię, używając zastrzeżonych słów / znaków, w skrócie, że jest zgodny ze specyfikacją Desktop Entry . Oto przykład złego pliku .desktop:

➜  ~  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

Co w dobrych plikach takich jak caribou-autostart.desktopnic nie pokaże.

Braiam
źródło
FTR desktop-file-validatemoże nie pokazywać żadnych błędów, ale nadal może nie działać z powodu nieprawidłowego wpisu Exec.
Pablo A