¿Cómo validar / verificar archivos .desktop?

12

Tengo un par de .desktoparchivos que no funcionan como se esperaba o no funcionan. No puedo ver ningún error en ninguna parte y pedir ayuda en cada uno parece improductivo. ¿Hay alguna forma de verificar que estoy usando la sintaxis correcta en el archivo, que cumple con el estándar FreeDesktop, para poder aplicar soluciones específicas?

Braiam
fuente

Respuestas:

19

Está buscando la desktop-file-validateherramienta proporcionada por el paquete desktop-files-utils en su distribución. Comprueba la sintaxis, usando palabras / caracteres reservados, en resumen, que cumple con la especificación Desktop Entry . Aquí hay un ejemplo de un archivo .desktop incorrecto:

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

Que en buenos archivos como caribou-autostart.desktopno mostrará nada.

Braiam
fuente
Es desktop-file-validateposible que FTR no muestre errores, pero podría no funcionar debido a una entrada no válida Exec.
Pablo A