Como validar / verificar arquivos .desktop?

12

Eu tenho alguns .desktoparquivos que não estão funcionando conforme o esperado ou não estão. Não vejo nenhum erro em lugar algum e pedir ajuda em cada um deles parece improdutivo. Existe uma maneira de verificar se estou usando a sintaxe correta no arquivo, se está em conformidade com o padrão FreeDesktop, para que eu possa aplicar correções específicas?

Braiam
fonte

Respostas:

19

Você está procurando a desktop-file-validateferramenta fornecida pelo pacote desktop-files-utils em sua distribuição. Ele verifica a sintaxe, usando palavras / caracteres reservados, em resumo, se está em conformidade com a especificação de Entrada da área de trabalho . Aqui está um exemplo de um arquivo .desktop incorreto:

➜  ~  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 em bons arquivos como caribou-autostart.desktopnão mostra nada.

Braiam
fonte
O FTR desktop-file-validatepode não mostrar erros, mas ainda pode não funcionar devido a uma entrada inválida ativada Exec.
Pablo A