Comment valider / vérifier les fichiers .desktop?

12

J'ai quelques .desktopfichiers qui ne fonctionnent pas comme prévu ou pas du tout. Je ne vois aucune erreur nulle part et demander de l'aide sur chacun semble improductif. Existe-t-il un moyen de vérifier que j'utilise la syntaxe correcte dans le fichier, qu'elle est conforme à la norme FreeDesktop, donc je peux appliquer des correctifs spécifiques?

Braiam
la source

Réponses:

19

Vous recherchez l' desktop-file-validateoutil fourni par le package desktop-files-utils dans votre distribution. Il vérifie la syntaxe, en utilisant des mots / caractères réservés, en résumé, qu'il est conforme à la spécification Desktop Entry . Voici un exemple de mauvais fichier .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

Qui dans de bons fichiers comme caribou-autostart.desktopne montrera rien.

Braiam
la source
FTR desktop-file-validatepeut ne montrer aucune erreur mais peut ne pas fonctionner du tout en raison d'une entrée non valide sur Exec.
Pablo A