Por ter uma linha #!
, o arquivo .desktop
pode ser executável e executado diretamente (por exemplo, a partir de uma linha de comando ou de alguns navegadores de arquivos).
A idéia por trás da combinação de env
é manipular diferentes sistemas operacionais nos quais xdg-open
pode estar em diretórios diferentes. Por exemplo, no Debian o programa está em /usr/bin/xdg-open
, mas em outro SO pode estar em outro lugar. A localização de env
é praticamente fixa e essa construção resultará efetivamente em $PATH
sendo procurado pelo programa xdg-open
.
Na minha instalação Debian, nenhum arquivo em /usr/share/applications
está marcado como executável e nenhum deles tem uma linha #!
.
Portanto, se você quiser que o arquivo .desktop
seja executável, precisará de um #!
e agrupá-lo com env
ajudará na portabilidade. Se você não precisa que seja executável, você não precisa disso.