La documentation intégrée de GNOME ne couvre que les choses que tout le monde peut facilement deviner. J'ai une application pour cela que je peux seulement commencer à partir de la ligne de commande. Pas que ça me dérange d'utiliser un terminal mais ...
Quoi qu'il en soit, comment puis-je ajouter la commande (et de préférence un joli logo) à GNOME WM?
Réponses:
Dans GNOME et d'autres environnements de bureau compatibles avec freedesktop.org , tels que KDE et Unity , des applications sont ajoutées aux menus ou au shell du bureau via des entrées de bureau , définies dans des fichiers texte avec l'
.desktop
extension (appelés fichiers de bureau ). Les environnements de bureau créent 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 chaque utilisateur du système~/.local/share/applications/
pour les entrées de bureau disponibles pour un utilisateur uniqueVous devrez peut-être redémarrer GNOME pour que les nouvelles applications ajoutées fonctionnent.
Selon la convention, les fichiers du 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 du groupe entre crochets (
[]
). Chaque section contient un certain nombre de clés , la valeur de deux, séparés par un signe égal (=
).Vous trouverez ci-dessous un exemple de fichier de bureau:
Explication
[Desktop Entry]
l'en-Desktop Entry
tête de groupe identifie le fichier en tant qu'entrée de bureauType
le type de l'entrée, les valeurs valides sontApplication
,Link
etDirectory
Encoding
l' encodage des caractères du fichier de bureauName
le nom de l'application visible dans les menus ou les lanceursComment
une description de l'application utilisée dans les info-bullesIcon
l'icône affichée pour l'application dans les menus ou les lanceursExec
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 sonttrue
oufalse
Categories
point-virgule (;
) liste séparée des catégories de menu dans lesquelles l'entrée doit être affichéeLes arguments de ligne de commande dans la
Exec
clé peuvent être signifiés avec les variables suivantes:%f
un seul nom de fichier.%F
plusieurs noms de fichiers.%u
une seule URL.%U
plusieurs URL.%d
un seul répertoire. Utilisé en conjonction avec%f
pour localiser un fichier.%D
plusieurs annuaires. Utilisé conjointement avec%F
pour localiser les fichiers.%n
un seul nom de fichier 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 Device.Notez que
~
les variables d'environnement telles que$HOME
ne sont pas développées dans les fichiers du bureau. Par conséquent, tous les exécutables référencés doivent figurer dans$PATH
ou référencés via leur chemin absolu.Une spécification complète du poste de travail est disponible sur le centre de développement GNOME .
Lancer des scripts
Si l'application à lancer nécessite certaines étapes avant d'être appelée, vous pouvez créer un script shell qui lance l'application et faire pointer l'entrée du bureau vers le script shell. Supposons qu'une application nécessite d'être exécutée à partir d'un certain répertoire de travail en cours. Créez un script de lancement dans un emplacement approprié (
~/bin/
par exemple). Le script pourrait ressembler à ceci:Définissez le bit exécutable pour le script:
Ensuite, pointez la
Exec
clé dans l'entrée du bureau sur le script de lancement:la source
<path>/.FTL
pointerait vers un fichier caché appelé.FTL
, qui n'est pas le même que./FTL
, qui pointe vers un fichier appeléFTL
dans le répertoire en cours. Vous pouvez essayer de lancerFTL
via/full/path/path/to/FTL
un terminal pour voir si vous obtenez une sortie d'erreur significative. Par exemple, si l'exécutable recherche des bibliothèques dans le répertoire de travail en cours, vous devrez peut-être créer un script de lancement qui reproduira l'actionpushd <path>; ./FTL; popd
duExec
spécificateur du fichier de bureau vers le script de lancement.Très bonne réponse de Thomas Nyman.
Gnome est livré avec un outil graphique
gnome-desktop-item-edit
facilitant la création de fichiers * .desktop. Nous devons l’utiliser en ligne de commande ou créer un fichier de bureau pour cela.Instructions pour faire une application Gnome à partir de
gnome-desktop-item-edit
Ouvrez les fenêtres du terminal et tapez la commande suivante:
gnome-desktop-item-edit --create-new / home / [votre nom d'utilisateur] /. local / share / applications
Dans la fenêtre ouverte remplissez les champs suivants:
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.
Cliquez sur OK pour fermer les fenêtres
Fermer la fenêtre du terminal
Test nouvellement généré
Gnome Application
Gnome Application
entré avantla source
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 pas trouvé de réponse à mon doute dans aucun autre message et j'ai dû chercher dans les problèmes git.
Après avoir suivi les étapes décrites par Thomas Nyman, j'ai pu créer l'icône de mon programme dans le menu Applications. 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, contrairement aux autres icônes. Après avoir cherché, j'ai trouvé que vous deviez ajouter la ligne
StartupWMClass=ApplicationName
dans le.desktop
fichier. Ensuite, l'option d'ajout aux favoris apparaît en cliquant avec le bouton droit de la souris sur l'icône dans Dash to Dock.la source