web-dev-qa-db-fra.com

Comment puis-je ajouter une application au gestionnaire de fenêtres GNOME?

La documentation intégrée de GNOME ne couvre que les choses que n'importe qui peut facilement deviner. J'ai une application pour laquelle je ne peux que démarrer à partir de la ligne de commande. Cela ne me dérange pas d'utiliser un terminal mais ...

Quoi qu'il en soit, comment ajouter la commande (et de préférence un logo Nice) à GNOME WM?

59
mart

Dans GNOME et autres freedesktop.org - environnements de bureau conformes, tels que KDE et nity , les applications sont ajoutées aux menus du bureau ou au shell du bureau via entrées du bureau, définies dans les fichiers texte avec le .desktop extension (appelée fichiers de bureau). Les environnements de bureau construisent des menus pour un utilisateur à partir des informations combinées extraites des entrées de bureau disponibles.

Les fichiers du bureau peuvent être créés à deux endroits:

  • /usr/share/applications/ pour les entrées de bureau disponibles pour tous les utilisateurs du système
  • ~/.local/share/applications/ pour les entrées de bureau disponibles pour un seul utilisateur

Vous devrez peut-être redémarrer GNOME pour que les nouvelles applications ajoutées fonctionnent.

Par convention, les fichiers de bureau ne doivent pas inclure d'espaces ou de caractères internationaux dans leur nom.

Chaque fichier de bureau est divisé en groupes, chacun commençant par l'en-tête de groupe entre crochets ([]). Chaque section contient un certain nombre de paires clé, valeur, séparées par un signe égal (=).

Voici un exemple de fichier de bureau:

[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Application Name
Comment=Application description
Icon=/path/to/icon.xpm
Exec=/path/to/application/executable
Terminal=false
Categories=Tags;Describing;Application

Explication

  • [Desktop Entry] le Desktop Entry l'en-tête de groupe identifie le fichier comme une entrée de bureau
  • Type le type de l'entrée, les valeurs valides sont Application, Link et Directory
  • Encoding le encodage de caractères du fichier de bureau
  • Name le nom de l'application visible dans les menus ou lanceurs
  • Comment une description de l'application utilisée dans les info-bulles
  • Icon l'icône affichée pour l'application dans les menus ou lanceurs
  • Exec la commande utilisée pour démarrer l'application à partir d'un shell.
  • Terminal si l'application doit être exécutée dans un terminal, les valeurs valides sont true ou false
  • Categories point-virgule (;) liste séparée des catégories de menu dans lesquelles l'entrée doit être affichée

Les arguments de ligne de commande dans la clé Exec peuvent être signifiés avec les variables suivantes:

  • %f un seul nom de fichier.
  • %F plusieurs noms de fichiers.
  • %u une URL unique.
  • %U plusieurs URL.
  • %d un seul répertoire. Utilisé conjointement avec %f pour localiser un fichier.
  • %D plusieurs répertoires. Utilisé conjointement avec %F pour localiser les fichiers.
  • %n un nom de fichier unique sans chemin.
  • %N plusieurs noms de fichiers sans chemins.
  • %k un URI ou un nom de fichier local de l'emplacement du fichier de bureau.
  • %v le nom de l'entrée Appareil.

Notez que ~ ou des variables d'environnement comme $HOME ne sont pas développés dans les fichiers du bureau, donc tous les exécutables référencés doivent être soit dans le $PATH ou référencé via leur chemin absolu.

Un Desktop Entry Specification complet est disponible sur le GNOME Dev Center .

Lancer les scripts

Si l'application à lancer nécessite l'exécution de certaines étapes avant d'être appelée, vous pouvez créer un script Shell qui lance l'application et pointer l'entrée du bureau vers le script Shell. Supposons qu'une application doit être exécutée à partir d'un certain répertoire de travail actuel. Créez un script de lancement dans un emplacement approprié (~/bin/ par exemple). Le script pourrait ressembler à ceci:

#!/bin/bash
pushd "/path/to/application/directory"
./application "$@"
popd

Définissez le bit exécutable pour le script:

$ chmod +x ~/bin/launch-application

Pointez ensuite la touche Exec dans l'entrée de bureau vers le script de lancement:

Exec=/home/user/bin/launch-application
96
Thomas Nyman

Très bonne réponse de Thomas Nyman.

Gnome est livré avec l'outil gui gnome-desktop-item-edit aide à la création de fichiers * .desktop. Nous devons l'utiliser à partir de la ligne de commande ou créer un fichier de bureau pour cela.

Instructions pour créer l'application Gnome à partir de gnome-desktop-item-edit

  1. Ouvrez les fenêtres de terminal et tapez la commande suivante:

    gnome-desktop-item-edit --create-new/home/[votre nom d'utilisateur] /. local/share/applications

  2. Dans la fenêtre ouverte, remplissez ce qui suit: enter image description here

    Name: Gnome Applicaiton

    Command: gnome-desktop-item-edit --create-new /home/[your user name]/.local/share/applications

    Cliquez sur l'icône pour sélectionner une autre icône.

  3. Cliquez sur OK pour fermer les fenêtres

  4. Fermez la fenêtre du terminal

Test de la nouvelle génération Gnome Application

  1. Tiret ouvert
  2. Type d'application
  3. Vous devriez voir le Gnome Application entré avant
  4. Sélectionnez-le
  5. Créer une autre application
13
Dudi Boy

Les réponses précédentes de Thomas Nyman et Dudi Boy sont très bonnes et détaillées. Je poste ceci parce que je n'ai trouvé de réponse à mon doute dans aucun autre post et j'ai dû chercher dans les problèmes git.

Après avoir suivi les étapes comme Thomas Nyman l'a suggéré, j'ai pu faire apparaître l'icône de mon programme dans le menu de l'application. Le problème ici est que j'utilise Dash to Dock comme barre latérale et que je ne pouvais pas épingler l'icône en tant que favori comme les autres icônes. Après la recherche, j'ai trouvé que vous devez ajouter la ligne StartupWMClass=ApplicationName dans .desktop fichier. Après cela, l'option d'ajouter aux favoris apparaîtra en cliquant avec le bouton droit sur l'icône dans Dash to Dock.

2
JonLord