135 votes

Comment trouver les fichiers *.desktop ?

Pour autant que je sache, tous les raccourcis du lanceur Unity ont un fichier *.desktop correspondant. J'ai un raccourci (pour skrooge ) qui n'a pas d'icône. Comment puis-je trouver le fichier *.desktop correspondant à ce raccourci afin d'y ajouter une icône ?

6voto

OndroMih Points 515

Vous pouvez trouver tous les répertoires contenant des fichiers de bureau dans la variable d'environnement XDG_DATA_DIRS. Les fichiers *.desktop peuvent se trouver dans le répertoire applications dans chacun des répertoires de cette variable. Par exemple :

> echo $XDG_DATA_DIRS
/usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop

Vous pouvez utiliser ce bash script pour lister tous les fichiers du bureau utilisés par le système (par exemple pour construire le panneau ou le menu des applications) :

for p in ${XDG_DATA_DIRS//:/ }; do 
  find $p/applications -name '*.desktop' 
done

Je n'ai pas trouvé de documentation à ce sujet mais il y a quelques informations sur cette variable d'environnement ici : https://unix.stackexchange.com/a/531664

-2voto

Parse flower Points 1

Je ne sais pas encore quel fichier .desktop prend effet. Ma meilleure supposition est, à partir de https://wiki.archlinux.org/index.php/Desktop_entries pour faire un script comme celui-ci et l'exécuter :

#!/bin/sh

# try to find the effective desktop file
# (there seems to be no documented standard for this)

use_if_desktop_file () {
  if [ -r "$1" ] &&
     [ "$(xdg-mime query filetype "$1")" = application/x-desktop ]; then
       echo "$1"
       exit
  fi
}

for d in ~/.local/share/applications /usr/local/share/applications \
         /usr/share/applications; do
  use_if_desktop_file "$d/$1"
  use_if_desktop_file "$d/$1.desktop"
done

# no file found
exit 1

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X