Na minha área de trabalho, tenho um arquivo .desktop. Se eu digitar:
Icon=/home/ianbell/Pictures/myLogo.png
o ícone do arquivo .desktop é alterado (o resultado esperado).
Mas, se eu digitar:
Icon=~/Pictures/myLogo.png
isso não funciona.
Não é ~/
um atalho para /home/$USER
?
Respostas:
O uso de caminhos em um arquivo .desktop
Em um
.desktop
arquivo, você precisa usar caminhos absolutos e completos . Portanto,~
não é expandido.Este é um erro comumente cometido :)
Exceções relativas aos ícones são descritas aqui :
e aqui :
Mais Informações
Em um
.desktop
arquivo:Na
Icon=
linha, você tem permissão para usar espaços:está bem.
Contudo
Na
Exec=
linha, você não tem permissão para usar espaços, a menos que no caso de um argumento . Em todos os outros casos, é necessário citar as etapas do caminho com um espaço:falhará, enquanto
ou
vai funcionar bem
fonte
Em suma,
.desktop
oIcon=
caminho do arquivo compreende caminhos absolutos, mas não a expansão até um milhão, devido à especificação que define como os.desktop
arquivos devem funcionar.Expansão Tilde
~
expansão tilde ( ) para a$HOME
variável de ambiente geralmente é, por exemplo, no bash, que é o shell de login usual com o qual você interage no prompt de comandoArquivos .desktop
.desktop
arquivo não é a mesma coisa que um shell, é um arquivo de configuração de texto sem formatação, portanto, não necessariamente funcionaria da mesma maneira, mesmo que.desktop
arquivos e shells possam ser encontrados no Linux.desktop
o arquivo de um trabalho deve funcionar, é definido nas Especificações de entrada na área de trabalho do FreedesktopA especificação de entrada da área de trabalho, referente a
Icons
, diz:É por isso que você conseguiu usar caminhos absolutos, uma vez que é coberto pelas especificações
Quando verificamos a Especificação de tema de ícone , não há nada que diga que ele deve seguir a expansão de til do POSIX.
Sumário
Portanto, devido às especificações do Freedesktop em relação
.desktop
àIcon=
configuração, caminhos absolutos são suportados, mas como você descobriu, as expansões de POSIX para $ HOME não são.fonte