Wie validiere / verifiziere ich .desktop-Dateien?

12

Ich habe ein paar .desktopDateien, die nicht wie erwartet oder überhaupt nicht funktionieren. Ich kann nirgendwo einen Fehler sehen und es scheint unproduktiv, bei jedem um Hilfe zu bitten. Gibt es eine Möglichkeit, um zu überprüfen, ob ich die richtige Syntax in der Datei verwende und ob sie dem FreeDesktop-Standard entspricht, damit ich bestimmte Korrekturen anwenden kann?

Braiam
quelle

Antworten:

19

Sie suchen nach dem desktop-file-validateTool, das vom Paket desktop-files-utils in Ihrer Distribution bereitgestellt wird . Zusammenfassend wird anhand reservierter Wörter / Zeichen überprüft, ob die Syntax der Desktop Entry-Spezifikation entspricht . Hier ist ein Beispiel für eine fehlerhafte .desktop-Datei:

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

Was in guten Dateien wie caribou-autostart.desktopnichts anzeigt.

Braiam
quelle
FTR zeigt desktop-file-validatemöglicherweise keine Fehler an, funktioniert jedoch aufgrund eines ungültigen Eintrags am möglicherweise überhaupt nicht Exec.
Pablo A vor