Mise à jour : Debian 9.6
Dans le cadre d'un bureau graphique tel que défini par l'organisation Freedesktop, la gestion graphique des applications est basée sur les Entrées de Bureau. Les entrées de Bureau sont des fichiers (*.desktop) contenant les informations utilisées pour
Définir comment lancer une application et les types MIME associés
Construire des Menus arborescents (classement par catégories, telles que Accessoire, Bureautique, Développement, ...)
Références :
A chaque application graphique est associée un fichier de configuration, appelé Entrée de Bureau, spécifiant le nom du programme, sa catégorie, la commande pour le lancer, les types MIME des fichiers associés, etc... Le contenu du fichier de configuration est défini par une spécification freedesktop.org
Un fichier de configuration .desktop est construit sur le modèle suivant :
$ cat exemple.dekstop
[Desktop Entry] # Type d'application : Application, lien ou répertoire Type=Application # Nom de l'application Name=medit # Commentaire (qui sera affiché dans le menu) Comment=Éditeur de texte # Programme à lancer (avec paramètres optionnels), chemin complet si en dehors du PATH Exec=medit %F # Chemin complet vers l’icône (ou nom de l’icône si celle-ci est située dans /usr/share/icons/...) Icon=medit # Exécution du programme en terminal ou non Terminal=false
# Utilisation du curseur de lancement .... ou non
StartupNotify=true
# Types mime associés
MimeType=test/plain;
# Catégorie du menu (en anglais), tojours suivi d'un point virgule; Categories=Utility;TextEditor;
Le paramètre "Categories" si présent, doit comprendre au moins une des catégories principales suivantes :
CATEGORY # TRADUCTION
--------------------------------
AudioVideo # Multimédia
Development # Développement
Education # Éducation
Game # Jeux
Graphics # Infographie
Network # Internet
Office # Bureautique
Science # Science
Settings # Paramètres
System # Système
Utility # Accessoires
La ligne Exec, contient la commande à exécuter. Sous xfce4, pour lancer la commande dans un terminal qui restera ouvert le temps de l'exécution, ce qui permettra de surveiller son bon déroulement, précéder la commande par : exo-open --launch TerminalEmulator
Les fichiers de configuration ont un nom libre et leur extension est .desktop. Les Entrées de Bureau des applications graphiques sont généralement livrées et installées par les applications elle-mêmes.
Les entrées de Bureau doivent être situés dans des dossiers particuliers afin d'être pris en compte automatiquement lors de la génération des menus :
Le fichiers .destop des applications utilisateur sont situés en
~/.local/share/applications
Les Fichiers .desktop situés dans ce dossier sont prioritaires par rapport à cex installés dans les dossiers système
Les fichiers .desktop des applications "system wide" sont situés en
/usr/share/applications # Fichiers .desktop installés par le système
/usr/local/share/applications # Fichiers .desktop installés par l'administrateur
Les fichiers .desktop peuvent être définis (ou redéfinis)
De façon exhaustive, par création / modification avec un éditeur de texte du fichier .desktop
Avec un gestionnaire de menu tel que alacarte
$ cat digikam.desktop
[Desktop Entry]
Type=Application
Name=digikam
Comment=Gestion de photo professionnelle avec la puissance de l'Open Source
Exec=/home/philippe/Applications/digikam-5.9.0-01-x86-64.appimage
Icon=digikam
Categories=Graphics;
Le valider avec
$ desktop-file-validate digikam.desktop
L'installer
soit en tant qu'application utilisateur
$ mv digital.desktop ~/.local/share/applications/
soit "system wide" en tant qu'application installée par l'administrateur
$ sudo mv digital.desktop /usr/share/local/applications/
soit "system wide" en tant qu'application système (dans /usr/share/applications)
$ sudo desktop-file-install digikam.desktop
Le gestionnaire de menu alacarte permet, en mode graphique, de créer, modifier, supprimer ou masquer des entrées du menu. Pour installer alacarte :
$ sudo aptitude install alacarte
alacarte peut être lancé :
directement depuis une console
$ alacarte
depuis son entrée appelée : Menu Principal dans la catégorie Accessoires
depuis whisker-menu "clic droit >Modifier les applications" sous réserve que dans Propriétés > Commande > Modifier les applications, alacarte ait été sélectionné.
A noter
Les modifications effectuées sur les entrées situées dans /usr/share/applications ne portent pas sur les fichiers .desktop originaux, mais sur des copies effectuées dans le répertoire de l'utilisateur dans ~/.local/share/applications, celles-ci devenant prioritaires.
La possibilité de modifier l'ordre des entrées dans une catégorie est offerte, mais cette modification ne semble pas prise en compte par le menu généré par xfce4, dont les entrées restent classées par ordre alphabétique.
Certaines opérations ne sont pas possibles directement :
Pour déplacer une entrée d'une catégorie à une autre : supprimer l'entrée de la catégorie d'origine et la recréer dans la nouvelle.
Certains paramètres ne sont pas accessibles, les créer (ou les modifier) en éditant le fichier .desktop correspondant (voir ci-après)
Il n'est pas possible de faire une recherche sur une entrée de menu, sélectionner une à une toutes les catégories et faire défiler la liste ...
Certaines de ces limitations sont absentes du gestionnaire de menu alternatif menulibre, qui est toutefois moins convivial par certains aspects.
Les Entrées de Bureau sont principalement utilisées pour réaliser des Menus ou des Docks. En dehors de ces usages, les Entrées de menu peuvent être utilisées pour lancer manuellement une application ou pour automatiser leur lancement au démarrage du bureau.
En ligne de commande
Installer la commande dex du paquet homonyme
$ sudo aptitude install dex
Pour lancer un fichier desktop
$ dex <chemin_vers_fichier.desktop>
Depuis le gestionnaire de fichiers
Cliquer sur le fichier desktop pour lancer l'application
Depuis le bureau
Copier le fichier desktop sur le bureau (copier / glisser) ou bien cliquer sur le bureau et utiliser l'option Créér un lanceur (les fichiers dekstop déjà créés sont automatiquement proposés)
Ajouter le fichier .desktop correspondant dans l'un des répertoires suivants :
~/.config/autostart
/etc/xdg/autostart