La plupart des environnement de bureau s'appuient sur les recommandations du freedesktop.org en ce qui concerne la gestion des entrées (les applications) du menu.
Elles (lancées à partir d'une console, ou en graphique) reposent sur un fichier .desktop
(généralement on les retrouve dans le dossier /usr/share/applications/
, mais pas que 1)).
On peut vouloir modifier les entrées du menu, pour cela on va se référer au dossier XDG_DATA_HOME (cela correspond au répertoire caché, ~/.local/share/
).
Par exemple si l'on souhaite ne pas voir une entrée dans le menu, il suffit de copier le .desktop
(celui situé dans le dossier /usr/share/applications/
dans le dossier ~/.local/share/applications/
2) et rajouter cette ligne au fichier :
[...] NotShowIn=MATE;
Dans cet exemple c'est le bureau MATE, qui est utilisé.
Pour connaître le nom du bureau actuellement en fonctionnement, il faut afficher dans une console la variable suivante :
echo $XDG_CURRENT_DESKTOP
Certains langages (par exemple Python, Ruby, R, etc.) sont accessibles à travers une console interactive. Pour pouvoir lancer ce shell, il faut disposer d'un terminal 3).
Par exemple pour lancer l'interpréteur Python3 avec un bureau sous GNOME :
#!/usr/bin/env xdg-open [Desktop Entry] Type=Application Name=Python3 Name[fr_FR]=Python3 Comment=Launch the Python interpreter Icon=application-x-executable OnlyShowIn=GNOME; Exec=gnome-terminal --hide-menubar --title=Python3 --window -e python3 Terminal=true Categories=Development;GTK;ConsoleOnly; StartupNotify=false
La particularité, il faut rendre ce fichier exécutable (un simple chmod +x
fait l'affaire). Un autre point important à remarquer, il fait appel à l'utilitaire xdg-open (première ligne, shebang).
Pour les utilisateurs du bureau Xfce, il existe un équivalent à xdg-open
qui s'appelle exo-open
.
Le .desktop
est donc le suivant :
#!/usr/bin/env exo-open [Desktop Entry] Type=Application Name=Python3 Name[fr_FR]=Python3 Comment=Launch the Python interpreter Icon=application-x-executable OnlyShowIn=XFCE; Exec=xfce4-terminal --hide-menubar --hide-toolbar -T Python3 -x python3 Terminal=true Categories=Development;GTK;ConsoleOnly; StartupNotify=false