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.

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 :

Vous êtes utilisateur d'Unity ? Cette page vous est dédiée pour plus de détails.

Ajout à un dock ou à un tableau de bord

Compatible avec les environnements MATE, GNOME Shell, Unity, Cinnamon, Budgie, Xfce, et KDE Plasma.

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.

Clic droit sur un endroit vide du tableau de bord -> Ajouter au tableau de bord 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

Exemple avec un appfolder "Navigateurs" 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

Compatible avec les environnements MATE, Cinnamon et KDE Plasma.

Clic droit sur le logiciel -> Choisir d'ajouter ce lanceur au tableau de bord ou 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.

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.

Lorsque vous renommez un lanceur, ce n'est pas le nom du fichier .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
Si vous voulez modifier un lanceur présent dans /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

Méthode recommandée.

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 :

Le lanceur d'Abiword

  • 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/ ;-) )
Évidemment, vous ne pourrez modifier les valeurs que si vous avez les droits sur le fichier : si vous voulez modifier un lanceur qui se trouve dans /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 :

Aucun espace de part et d'autre du symbole "=".

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;
Les champs 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.

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.

Pour trouver la commande (sans arguments) qui a permis de lancer une fenêtre donnée, saisissez dans un terminal la commande suivante:
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.
  • créer un lien symbolique vers un des répertoires de la variable PATH en saisissant dans un terminal la commande suivante:
    sudo ln -s /chemin/de/l'exécutable /usr/bin/nom_du_programme
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
Si malgré les bons droits attribués à votre script, celui-ci ne semble pas s'exécuter depuis le lanceur, vérifiez d'avoir bien choisi le Type "Application".
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.

Pour une explication plus complète voir la liste de variable exec (en) dans les définitions standards de freedesktop.org

Création d'un lanceur

Avec MenuLibre

Méthode recommandée.

Voir la page dédiée à MenuLibre.

(En cas de souci avec MenuLibre, des alternatives comme Arronax ou Alacarte existent.)

Sur le bureau

Compatible avec les environnements MATE et Cinnamon.

Clic droit sur un endroit vide du bureau -> Créer un lanceur... 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.


Compatible avec l'environnement GNOME.

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

Compatible avec les environnements MATE, Xfce, gnome-session-fallback et Cinnamon.

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.
Clic droit sur un endroit vide du tableau de bord -> Ajouter au tableau de bord Choisir Lanceur d'application personnalisé

Pour tous les utilisateurs

La création d'un lanceur accessible depuis les menus pour tous les utilisateurs du système implique de devoir créer le fichier .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

FIXME un équivalent devrait exister pour Xfce
  • 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.

FIXME Cinnamon possède probablement un équivalent à mate-desktop-item-edit
  • 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.

  1. Avec un éditeur de texte, créer le fichier avec l'extension.desktop (ex. : une_app.desktop) :
    1. 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).
    2. accessible uniquement pour un utilisateur : créer le fichier dans ~/.local/share/applications/ (ex. : $ vim /usr/share/applications/une_app.desktop).
  2. 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
  3. 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.
  4. 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

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
Avec certains logiciels comme Nautilus, il faut faire attention à régler
DBusActivatable=false

si on veut que les quicklists fonctionnent.


Contributeurs principaux : Nicow, Lefendril, YannUbuntu, fabux, L'Africain, roschan , …


1)
différence minuscule/majuscule
  • raccourci-lanceur.txt
  • Dernière modification: Le 11/09/2022, 11:29
  • par moths-art