La plupart des environnements graphiques proposant des bureaux virtuels peuvent utiliser le format proposé par le projet freedesktop (desktop entry) pour la création de lanceur d’application disposé sur le bureau ou dans les menus. C'est le cas de Gnome et de KDE.
Pour illustrer pas à pas la création d'un lanceur, On crée ici un lanceur pour l'application Freecad téléchargée sur l’hôte au format AppImage.
S'il n'existe pas, créer le répertoire pour stocker les icônes (fichiers au formant PNG 512×512)
# Création d'un répertoire pour stocker les icônes mkdir ~/.local/share/icons # Place l’icône dans le répertoire dédié mv /tmp/FreeCAD-logo.svg ~/.local/share/icons/
Créer un fichier d'extension .desktop dans le répertoire ~/.local/share/applications. Le contenu du fichier .desktop peut être relativement simple :
[Desktop Entry] Type=Application Version=1.0 Name=FreeCAD-0.21.2-Linux-x86_64.AppImage Comment=DAO Freecad 0.21.2 (AppImage) # NB : Utiliser des chemins absolus # Executables et ses arguments Exec=/home/yoann/Applications/FreeCAD-0.21.2-Linux-x86_64.AppImage # Icône associé au lanceur Icon=/home/yoann/.local/share/icons/FreeCAD-logo.svg # Describes whether this application needs to be run in a terminal or not Terminal=false
La documentation officielle fournit la liste des attributs (keys) disponibles.
Placer le droit d'exécution sur le fichier:
chmod u+x FreeCAD-0.21.2.desktop
L'application lancée peut être associée à une ou plusieurs catégories/sous-catégories (entrée Categories). Les catégories préexistent et leur nom est sensible à la casse : Liste exhaustive des catégories.
desktop-file-validate FreeCAD-0.21.2.desktop
Invoquer update-desktop-database pour que les modifications apportées soient prises en compte:
update-desktop-database ~/.local/share/applications
gtk-launch /path/to/application.desktop
Sous GNOME Shell, lorsque l'application est lancée, son icône n'est pas représentée dans la barre de dock : une roue crantée apparaît à la place. Voir la note Icône de l'application manquante dans le dock de Gnome.