Caminho do ícone no arquivo .desktop

7

Na minha área de trabalho eu tenho um arquivo .desktop. Se eu digitar:

Icon=/home/ianbell/Pictures/myLogo.png

o ícone do arquivo .desktop muda (o resultado esperado).

Mas, se eu digitar:

Icon=~/Pictures/myLogo.png

não funciona.

Não é ~/ um atalho para /home/$USER ?

    
por Ian Bell 17.01.2016 / 19:18

2 respostas

9

O uso de caminhos em um arquivo .desktop

Em um arquivo .desktop , você precisa usar os caminhos absoluto e completo . Portanto, ~ não é expandido.

Este é um erro comumente cometido:)

Exceções relativas a ícones são um.o. descrito aqui :

% bl0ck_qu0te%

e aqui :

% bl0ck_qu0te%

Mais informações

Em um arquivo .desktop :

Na linha Icon= , você tem permissão para usar espaços:

Icon=/home/jacob/Thema/icon/some folder/some icon.png

está bem.

No entanto

Na linha Exec= , você não tem permissão para usar espaços, a menos que no caso de um argumento . Em todos os outros casos, você precisa citar as etapas do caminho com um espaço:

Exec=/home/jacob/Bureaublad/some folder/application

falhará, enquanto

Exec="/home/jacob/Bureaublad/some folder/application"

ou

Exec=/home/jacob/Bureaublad/"some folder"/application

funcionará bem

    
por Jacob Vlijm 17.01.2016 / 19:24
4

Em suma, o caminho .desktop do Icon= do arquivo compreende os caminhos absolutos, mas não a expansão do til, por causa do especificação que define como .desktop arquivos devem funcionar.

Expansão de til

  • Onde você veria que a expansão de til ( ~ ) para a variável de ambiente $HOME geralmente está, por exemplo, em bash, que é o shell de login usual com o qual você interage no prompt de comando
  • bash e outros shells compatíveis com POSIX, expansão de til para $ HOME consistente com Especificação POSIX para shells

arquivos .desktop

  • No entanto, um arquivo .desktop não é a mesma coisa que um shell, é um arquivo de configuração de texto simples para que não funcione necessariamente da mesma maneira, mesmo que .desktop arquivos e shells possam ser encontrados no Linux
  • como o arquivo de .desktop deve funcionar, está definido em Especificação de entrada na área de trabalho

Especificação de entrada na área de trabalho, referente a Icons , diz:

% bl0ck_qu0te%

É por isso que você foi capaz de usar caminhos absolutos, já que é coberto pela especificação

% bl0ck_qu0te%

Quando verificamos a Especificação do Tema do Ícone , não há nada que diga que ela tenha que seguir o til do POSIX expansão em tudo.

Resumo

Assim, devido às especificações do Freedesktop em relação à configuração de .desktop Icon= , os caminhos absolutos são suportados, mas, como você descobriu, as expansões POSIX de til para $ HOME não são.

    
por clarity123 17.01.2016 / 20:19