Sur mon bureau, j'ai un fichier .desktop. Si je tape:
Icon=/home/ianbell/Pictures/myLogo.png
l'icône du fichier .desktop change (le résultat attendu).
Mais si je tape:
Icon=~/Pictures/myLogo.png
ça ne marche pas.
N'est-ce pas ~/
un raccourci pour /home/$USER
?
Réponses:
L'utilisation de chemins dans un fichier .desktop
Dans un
.desktop
fichier, vous devez utiliser des chemins absolus et complets . Par conséquent,~
n'est pas développé.C'est une erreur courante :)
Les exceptions concernant les icônes sont également décrites ici :
et ici :
Plus d'information
Dans un
.desktop
fichier:Dans la
Icon=
ligne, vous êtes autorisé à utiliser des espaces:c'est bien.
toutefois
Dans la
Exec=
ligne, vous n'êtes pas autorisé à utiliser des espaces, sauf en cas d' argument . Dans tous les autres cas, vous devez citer les étapes du chemin avec un espace:échouera, tandis que
ou
fonctionnera bien
la source
En bref,
.desktop
leIcon=
chemin du fichier comprend les chemins absolus, mais pas l'expansion tilde, en raison de la spécification qui définit le fonctionnement des.desktop
fichiers.Expansion de Tilde
~
extension tilde ( ) vers la$HOME
variable d'environnement est souvent par exemple dans bash, qui est le shell de connexion habituel avec lequel vous interagissez à l'invite de commandefichiers .desktop
.desktop
fichier n'est pas la même chose qu'un shell, c'est un fichier de configuration en texte brut donc il ne fonctionnerait pas nécessairement de la même manière, même si les.desktop
fichiers et les shells peuvent tous deux être trouvés sur Linux.desktop
fichier est censé fonctionner, est défini dans la spécification d' entrée de bureau de FreedesktopLa spécification d'entrée de bureau, concernant
Icons
, dit:C'est pourquoi vous avez pu utiliser des chemins absolus, car il est couvert par la spécification
Lorsque nous vérifions la spécification du thème de l' icône , rien ne dit qu'elle doit suivre l'expansion du tilde de POSIX.
Sommaire
Ainsi, en raison des spécifications de Freedesktop concernant
.desktop
leIcon=
paramètre de, les chemins absolus sont pris en charge, mais comme vous l'avez constaté, les extensions POSIX tilde-à-$ HOME ne le sont pas.la source