Lanceurs (fichiers .desktop)
Sur les systèmes GNU-Linux comme Ubuntu, les lanceurs sont des fichiers donnant accès, à la manière d'un "raccourci", à un logiciel, à un fichier, ou à un dossier.
Les environnements graphiques (Unity, MATE, GNOME Shell, KDE Plasma, Xfce, Budgie, …) utilisent notamment des lanceurs pour construire leurs menus et pour permettre le lancement d'applications en cliquant sur leurs icônes.
Les lanceurs sont plus riches que de simples raccourcis : nom, icône, mots-clés (traduits), description de l'application (traduite), actions spécifiques, … les lanceurs permettent aux menus de proposer des icônes claires, des catégories, une recherche, et une description accessible des applications.
Cette page décrit comment gérer les lanceurs existants, et comment les personnaliser voire en créer.
Gestion des lanceurs
Il est déjà possible de lancer des applications depuis votre environnement, les opérations possibles diffèrent en fonction de votre variante mais restent globalement similaires :
Ajout à un dock ou à un tableau de bord
La terminologie peut changer d'un environnement à l'autre, mais il s'agit toujours globalement :
- soit de faire un clic-droit sur l'icône de l'application, puis "ajouter au tableau de bord" ou "épingler au dock" ou "ajouter aux favoris" ;
- soit de glisser-déposer l'icône de l'application vers l'endroit ciblé.
Certains environnements comme GNOME ou KDE permettent aussi d'épingler les applications déjà lancées à partir de l'icône présente dans la liste des fenêtres ou dans le dock.
Dans les environnements MATE, Xfce et LXDE, les lanceurs peuvent être ajoutés au tableau de bord par un clic-droit sur le tableau de bord, puis "Ajouter au tableau de bord", une fenêtre s'ouvre alors, on peut alors choisir d'ajouter un lanceur.
Le retrait de l'application ainsi épinglée se fait généralement par un clic-droit sur l'icône.
Organiser vos applications
Cas général
Des utilitaires comme MenuLibre permettent de choisir comment sont rangées les applications (l'agencement en catégories notamment), et de cacher celles qui sont superflues. (En cas de souci avec MenuLibre, des alternatives comme Arronax ou Alacarte existent.)
Pour GNOME Shell
Pour organiser la vue applications, il existe des appfolders, permettant par exemple de réunir ensemble tous les utilitaires, ou tous les jeux, etc. afin d'alléger la quantité d'applications affichées quand on lance la vue applications.
Des utilitaires, des extensions, ou des scripts permettent de gérer les appfolders, mais la logithèque GNOME est le moyen recommandé pour en créer ou en modifier. (dans l'onglet "installés", il faut se mettre en mode sélection pour que l'option apparaisse)
Ajouter au bureau
Ouvrez le menu Applications, puis faites un clic droit sur le nom du logiciel de votre choix. Il apparaît alors un petit menu qui vous propose notamment d'ajouter ce lanceur au bureau.
Une autre possibilité consiste à faire un glisser-déposer sur le bureau.
Lanceurs personnalisés
Généralités
Pour construire les menus, les environnements prennent en comptent tous les fichiers .desktop
qu'on trouve :
- soit dans
/usr/share/applications/
- soit dans
~/.local/share/applications/
La plupart des gestionnaires de fichiers présentent les fichiers des lanceurs sous la forme de leur icône, avec leur nom traduit, et lancent l'application quand on clique dessus. C'est pratique quand on veut s'en servir comme de raccourcis sur le bureau, mais c'est assez gênant quand on veut les éditer, voire simplement les renommer.
.desktop
qui est modifié, mais la valeur de sa propriété "Nom" (« Name »).
Pour renommer réellement le fichier .desktop
, saisissez dans un terminal la commande suivante :
mv ancien_nom.desktop nouveau_nom.desktop
/usr/share/applications/
(c'est le cas pour la plupart des applications), il ne faut JAMAIS modifier directement le lanceur original : les modifications devraient en effet se faire en tant que super-utilisateur, ce qui est en soi risqué, et les modifications seraient effacées à la moindre mise à jour !
Il est conseillé de copier le lanceur original dans le dossier ~/.local/share/applications/
, et de modifier la copie.
Pour vérifier la syntaxe du fichier .desktop
modifié ou créé, utilisez l'utilitaire desktop-file-validate
.
Modification d'un lanceur existant
Dans ce qui suit, lorsque vous précisez un chemin, quel qu'il soit, au sein d'un lanceur, il est conseillé que ce soit le chemin absolu (c'est-à-dire depuis la racine, et pas depuis votre dossier personnel ~
).
Avec MenuLibre
Voir la page dédiée à MenuLibre.
(En cas de souci avec MenuLibre, des alternatives comme Arronax ou Alacarte existent.)
Sur LXDE / Lubuntu, on utilisera LXDE Shortcut, en lançant la commande (en tapant Alt+F2 ou depuis un terminal) :
lxshortcut -o ~/Desktop/my_shorcut.desktop
Avec Nautilus
En faisant clic-droit → Propriétés sur un lanceur, on accède à quelques propriétés de base du lanceur :
- Nom : le nom du programme tel qu'il apparaîtra là où sera le lanceur, ce champ est à remplir à votre convenance.
- Description : le nom générique de l'application ("Navigateur Web" ou "Jeu de plateforme" par exemple). Ce champ peut être vide.
- Commande : la commande qui sera lancée lors d'un clic sur le lanceur.
- Commentaire : Commentaire à propos du programme, qui sur la plupart des environnements apparaîtra lorsque vous laisserez votre curseur au-dessus du lanceur. Ce champ peut être vide.
- Icône : En cliquant sur l'icône, on peut choisir une nouvelle image qui fera office d'icône. (Si vous les cherchez, vos thèmes d'icônes existants sont dans
/usr/share/icons
ou~/.local/share/icons/
)
/usr/share/applications
, il vous faudra le copier dans ~/.local/share/applications/
avant tout.
Avec un éditeur de texte
En faisant clic droit → Ouvrir avec une autre application sur le lanceur, vous pourrez choisir de l'éditer avec un éditeur de texte.
Cela vous donne plus de possibilités, mais il faut savoir éditer précisément le fichier en respectant sa syntaxe, sinon il ne fonctionnera plus.
Le contenu devrait ressembler à ceci :
Les phrases précédés d'un # sont des commentaires, pas pris en compte lors de l'exécution du fichier.
[Desktop Entry] Type=Application Name=nom du programme GenericName=nom générique Comment=commentaire/description du programme Icon=icône du programme #il peut s'agir d'un chemin, ou alors du nom d'une icône contenue dans votre thème d'icônes Exec=commande qui permettrait d'ouvrir le programme par le terminal Terminal=false #ouvrir ou non un terminal lors de l'exécution du programme (false ou true) StartupNotify=false #notification de démarrage ou non (false ou true) Categories=catégories du programme #Exemple: Categories=Application;Game;ArcadeGame;
Keywords
et Categories
contiennent des listes de termes, avec un point-virgule après chaque terme.
Souvent, les champs sont aussi disponibles en versions traduites :
Name=Nom du programme Name[fr]=Nom français du programme #etc.
Tous les champs possibles et leurs descriptions sont décrits ici.
Champ "Type"
Le champ Type : détermine quel est le type auquel la commande sera associée :
- « Application »
- « Link »
- « Directory »
Les types "Link" et "Directory" sont peu utilisés, car "Directory" ne sert à rien du point de vue de l'utilisateur, et il est généralement plus simple de faire un lien vers le fichier ou le dossier en question, plutôt qu'un lanceur. Si vous voulez un fichier ou un dossier parmi vos applications dans votre menu, ou un lien avec une icône spéciale par exemple, ça peut cependant être utile.
Link
Ceci est utilisé pour créer un lien vers un fichier ou un dossier, qui s'ouvrira avec le logiciel par défaut pour ce type de fichier.
Par exemple, si vous souhaitez créer un lanceur qui permet d'ouvrir le fichier montexte.txt qui se trouve dans votre dossier personnel avec votre éditeur de texte par défaut, on n'utilise pas le champ "Exec=" dans le fichier, mais le champ "URL=", où on renseignera la valeur suivante
file:///home/<votre_nom_d'utilisateur>/montexte.txt
Avec des logiciels graphiques dédiés (utilitaire de création de lanceurs de MATE), il semble également possible de cliquer sur le bouton Parcourir pour sélectionner le fichier à ouvrir.
Pour les emplacements "spéciaux", comme les fichiers récents avec Nautilus par exemple, il est préférable de faire un lanceur de type "Application" et lui donner une commande telle que
Exec=nautilus recent://
Directory
Ceci est utilisé pour organiser les menus, le fichier se termine alors en .directory
et n'est pas lançable.
Champ "Exec" (commande à exécuter)
Cas général
Le champ Commande ("Exec=") contiendra la commande qui lance l'application. Ce sera souvent le nom de l'application dont vous cherchez à créer le lanceur, écrite en minuscules :
Par exemple, pour un lanceur démarrant Firefox :
firefox
Alternativement, on peut indiquer le chemin complet. Il faudra saisir dans un terminal la commande suivante:
which firefox
pour connaître ce chemin complet.
Veillez à respecter la casse 1) lorsque vous remplissez la commande.
xprop WM_CLASS
puis avec le curseur de la souris, cliquez sur la fenêtre qui vous intéresse et le résultat apparaîtra dans le terminal.
Par exemple pour le moniteur système, vous obtiendrez en réponse:
WM_CLASS(STRING) = "gnome-system-monitor", "Gnome-system-monitor"
Application installée hors dépôts
Si vous souhaitez créer un lanceur pour une application installée autrement que depuis les dépôts, par exemple mise en place par vos soins dans votre Dossier Personnel ou dans le dossier /opt/, il vous faudra au choix :
- soit saisir le chemin complet vers votre exécutable. Si vous ne savez pas comment renseigner ce chemin, vous pouvez vous aider du bouton Parcourir.
Avec un fichier en argument
Si vous souhaitez créer un lanceur pour un logiciel et un fichier particulier, après avoir choisi le Type « Application » , rajoutez l'emplacement du fichier après la commande.
Par exemple, pour utiliser totem pour lire le fichier exemple.avi qui se trouve dans un dossier film de l'utilisateur, il s'agira d'indiquer la commande suivante :
totem /home/<votre_nom_d'utilisateur>/Vidéos/exemple.avi
Avec une variable en préfixe
Si vous souhaitez créer un lanceur demandant un préfixe, il vous suffira généralement de faire précéder la commande de ce préfixe.
Par exemple, pour créer un lanceur démarrant le jeu Dofus installé via Wine, il suffit de renseigner la commande suivante :
env WINEPREFIX="$HOME/.wine" wine "C:\Program Files\Dofus\UpLauncher.exe"
Autre exemple, si je ne veux pas que le thème "Vertex Dark" que j'utilise ne rende illisible les formulaires sur le web, je peux lancer Firefox avec un thème clair, différent du reste du système :
env GTK_THEME="Vertex:light" firefox
Cas d'un script
Si vous souhaitez créer un lanceur qui appelle un script bash, il s'agira généralement d'indiquer la commande suivante :
sh -c /chemin/du/script.sh
Par exemple, si vous désirez créer un lanceur pour script test.sh se trouvant dans un dossier Script de votre Dossier Personnel vous indiquerez
sh -c /home/<votre_nom_d'utilisateur>/Scripts/test.sh
Codes spéciaux pour la ligne de commande
La ligne de commande peut contenir des codes spéciaux. Ils seront remplacés avec la valeur correspondante en cas de besoin :
- %f Un nom de fichier unique, même si plusieurs fichiers sont sélectionnés. Si le fichier n'est pas dans le système de fichier local (ex. disponible en HTTP ou en FTP), il sera téléchargé et %f pointera sur le fichier temporaire (à utiliser pour les applications ne comprenant pas la syntaxe URL).
- %F Une liste de fichiers. À utiliser pour des applications qui peuvent ouvrir plusieurs fichiers à la fois.
- %u Une URL unique.
- %U Une liste d'URLs.
Par exemple, si on fait "clic-droit/ouvrir avec" sur un fichier, et qu'on choisit une application dont le lanceur contient "%f" à la fin de sa ligne "Exec=", %f sera remplacé par le nom du fichier avant que la commande ne se lance.
Création d'un lanceur
Avec MenuLibre
Voir la page dédiée à MenuLibre.
(En cas de souci avec MenuLibre, des alternatives comme Arronax ou Alacarte existent.)
Sur le bureau
Pour faire un raccourci sur le bureau, faites un clic-droit sur le bureau, choisissez Créer un lanceur… puis à la section « Modification d'un lanceur existant » pour savoir quoi mettre comme valeur dans les champs présentés.
Pour créer un lien vers un dossier ou fichier : maintenir les touches Ctrl et Shift (Majuscule) enfoncé, glisser le dossier (ou fichier) sur le bureau.
Sur un tableau de bord
Pour faire un raccourci sur un tableau de bord :
- faites un clic-droit dessus (pour gnome-session-fallback, voir ici le raccourci clavier correspondant),
- choisissez Ajouter au tableau de bord → Lanceur d'application personnalisé
- reportez-vous à la section « Modification d'un lanceur existant » pour savoir quoi mettre comme valeur dans les champs présentés.
Pour tous les utilisateurs
.desktop
dans le dossier /usr/share/applications/
, ce qui doit être fait avec les privilèges d'administrateur.
Pour des soucis de stabilité et de sécurité, ce sera fait en ligne de commande.
Tout d'abord, créez le fichier .desktop
voulu dans votre dossier personnel par exemple dans ~/.local/share/applications/
Puis, copiez-le au bon endroit grâce à la commande :
cp ~/.local/share/applications/<nom du programme>.desktop /usr/share/applications/<nom du programme>.desktop
En ajoutant un script dans le menu contextuel
- Avec MATE (gestionnaire de fichiers Caja)
Cette méthode crée un script dans le menu contextuel de Caja pour créer des lanceurs vers des exécutables :
Créez le fichier ~/.local/share/caja/scripts/Créer un lanceur :
mate-desktop-item-edit `pwd` --create-new
Puis rendez-le exécutable.
- Avec Cinnamon (gestionnaire de fichiers Nemo)
Pour Nemo, l'emplacement du script serait ~/.local/share/nemo/scripts/Créer un lanceur
, mais il pourrait être nécessaire de remplacer le contenu du script par ceci.
- Avec GNOME ou Unity (gestionnaire de fichiers Nautilus)
Pour Nautilus, l'emplacement du script serait ~/.local/share/nautilus/scripts/Créer un lanceur
, mais il pourrait être nécessaire de remplacer le contenu du script par ceci.
Une extension Nautilus (non-officielle, à installer avec la méthode présentée par le développeur), est aussi disponible à cette adresse.
Création avec un éditeur de texte
Ci-dessous sont résumées les grandes étapes.
- Avec un éditeur de texte, créer le fichier avec l'extension
.desktop
(ex. :une_app.desktop
) :- accessible pour tous les utilisateurs : avec les droits root (sudo) créer le fichier dans
/usr/share/applications/
(ex :$ vim /usr/share/applications/une_app.desktop
). - accessible uniquement pour un utilisateur : créer le fichier dans
~/.local/share/applications/
(ex. :$ vim /usr/share/applications/une_app.desktop
).
- Editer le fichier en suivant la syntaxe décrite dans la partie modification avec un éditeur de texte. Exemple minimal
- une_app.desktop
[Desktop Entry] Type=Application Name=une app Exec=/home/un_utilisateur/applications/une_app
- Vérifier la syntaxe
desktop-file-validate
(ex :$ desktop-file-validate /usr/share/applications/une_app.desktop
). S'il n'y a aucune erreur, l'utilitaire n'affiche rien. - Mettre à jour manuellement la base des lanceurs pour ne pas avoir à attendre la mise à jour automatique avec
update-desktop-database
(ex :$ update-desktop-database ~/.local/share/applications
).
Lancement d'un lanceur
Si le fichier .desktop a l'attribut executable, on peut cliquer sur lui.
Si gtk3 est installé, le lanceur peut être rapidement testé avec gtk-launch
(ex : $ gtk-launch une_app.desktop
).
Pour le lancer en ligne de commande, utiliser l'une des méthodes de cette page : Exécution d'un fichier .desktop dans le terminal
Ajout d'une action
Une action est une commande supplémentaire, à laquelle on peut accéder en faisant un clic-droit sur l'icône du lanceur dans certains environnements (Unity, GNOME Shell, Budgie, …). On parle aussi parfois de "quicklists" pour désigner ce concept.
On peut en ajouter avec MenuLibre, ou bien en ajoutant, à la fin des fichiers .desktop
, des sections sur ce modèle :
[Desktop Action identifiant] Name=Nom de l'option Name[fr]=Nom traduit Exec=commande quelconque
Les identifiants des actions devront être listés dans la section principale du fichier :
Actions=identifiant;
Exemple
Pour obtenir le résultat ci-contre (illustré avec GNOME Shell), on modifie le lanceur de Firefox de la manière suivante :
[Desktop Entry]
Name=Firefox
# [Ici, le reste du lanceur normal pour firefox]
# Nouvelle ligne pour lister les actions :
Actions=new-window;new-private-window;
# Nouvelles sections :
[Desktop Action new-window]
Name=New Window
Name[fr]=Nouvelle fenêtre
Exec=firefox -new-window
[Desktop Action new-private-window]
Name=New Private Window
Name[fr]=Nouvelle fenêtre privée
Exec=firefox -private-window
DBusActivatable=false
si on veut que les quicklists fonctionnent.
Voir aussi
- Les lanceurs sont aussi utilisés pour lancer les applications au démarrage de la session
- (en) Spécifications officielles des formats des fichiers .desktop (Desktop Entry) et des menus (Desktop Menu).
- (en) Page d'aide de Gnome sur les fichiers .desktop qui décrit les variables d'environnement utilisés pour spécifié les chemins dans lesquels les .desktop sont lus.
- (en) doc de LXShortCut
Contributeurs principaux : Nicow, Lefendril, YannUbuntu, fabux, L'Africain, roschan , …