Comment puis-je ajouter des applications à la barre de lancement d'applications lxpanel via cli?

11

Existe-t-il un moyen sur la barre d'outils LXDE de changer quelles applications se trouvent sur la partie de lancement rapide via le terminal afin qu'elle puisse être placée dans un fichier batch à modifier sur plusieurs clients?

Jhondoe
la source
Je peux confirmer la réponse de Stranger, avec Jessie sur Pi3, les fichiers de bureau sont dans / usr / share / raspi-ui-overrides / applications / Le moment où j'ai copié eclipse.desktop sur / usr / share / applications / son icône est apparue dans l'Appliaction Préférences de la barre de lancement, et j'ai pu l'ajouter à la barre de lancement.
István Arany

Réponses:

17

Cela peut être fait facilement en créant un .desktopfichier pour chaque application que vous souhaitez ajouter au menu. Tout cela est expliqué clairement dans le wiki LXDE pour le menu principal 1 .

* Emplacements .desktop

Si vous souhaitez que l'application apparaisse dans les menus de tous les utilisateurs d'un système, ajoutez le fichier au répertoire /usr/share/applications/. Par exemple, vous pouvez avoir /usr/share/applications/gimp.desktoppour l'application gimp. C'est là que les packages créent normalement leurs .desktopfichiers et est recommandé.

Si vous souhaitez ajouter l'application au menu d'un utilisateur spécifique, créez le fichier dans le répertoire $HOME/.local/share/applications/.

* Paramètres .desktop

Lisez certains de vos .desktopfichiers existants /usr/share/applications/pour comprendre comment ils fonctionnent. Ils sont assez simples, mais le wiki fournit une brève explication des paramètres couramment utilisés.

Voici une explication légèrement modifiée du wiki pour le warsow.desktopfichier. Les paramètres réels sont en gras.

  • [Desktop Entry] - indique que ce fichier est un fichier * .desktop
  • Encodage = UTF-8 - Le codage UTF-8 est utilisé
  • Exec = warsow - chemin d'un binaire ou d'un script utilisé pour démarrer le programme
  • Icon = / home / USER / my / icons / wsw-icon_80x80.png - chemin vers l'icône de l'entrée
  • Type = Application - le fichier de bureau démarre une application
  • Terminal = false - le programme ne s'exécutera pas dans un terminal
  • Nom = Warsow - nom affiché dans le menu
  • GenericName = warsow - description de l'entrée
  • StartupNotify = false - La notification de démarrage est désactivée
  • Catégories = Jeu - spécifie les catégories dans lesquelles l'entrée sera placée dans le menu (plusieurs catégories sont spécifiées avec un point-virgule entre elles, par exemple «Jeu; Éducation»)

Ajout d'une application à une barre de lancement d'application

Si vous avez créé un .desktopfichier ou si un a été créé lors de l'installation de l'application, vous pouvez ajouter l'application à une barre de lancement à l'intérieur d'un panneau lx. Les configurations des panneaux se trouvent dans le répertoire des profils. Par exemple, l'un de vos panneaux peut être à $HOME/.config/lxpanel/LXDE/panels/panel.

En modifiant le fichier avec vim ~/.config/lxpanel/LXDE/panels/panel, je peux voir où le plugin et la configuration de la barre de lancement sont ajoutés. Si le plugin n'est pas déjà ajouté au panneau, vous devrez l'ajouter pour chaque utilisateur. Notez que les plugins de la barre de lancement apparaîtront dans le panneau dans le même ordre qu'ils apparaissent dans ce fichier.

De plus, vous devrez ajouter la Buttonconfiguration avec un idchemin d'accès au .desktopfichier pour chaque application que vous souhaitez voir apparaître dans la barre de lancement. Voici un exemple de son apparence.

Plugin {
    type = launchbar
    Config {
        Button {
            id=pcmanfm.desktop
        }
        Button {
            id=/var/lib/menu-xdg/applications/menu-xdg/X-Debian-Applications-Network-File-Transfer-transmission_bittorrent_client_(gtk).desktop
        }
        Button {
            id=/usr/share/applications/gimp.desktop
        }
        Button {
            id=/var/lib/menu-xdg/applications/menu-xdg/X-Debian-Applications-Terminal-Emulators-gnome_terminal.desktop
        }
        Button {
            id=/usr/share/applications/gedit.desktop
        }
        Button {
            id=/usr/share/applications/gcalctool.desktop
        }
        Button {
            id=/usr/share/applications/keepassx.desktop
        }
    }
}

Rafraîchir le panneau

Le wiki fournit même un script pratique pour redémarrer lxpanel afin de s'assurer qu'il mettra à jour vos modifications.

#!/bin/bash

# lxpanel processes must be killed before it can reload an lxpanel profile.
killall lxpanel
# Finds and deletes cached menu items to ensure updates will appear.
find ~/.cache/menus -name '*' -type f -print0 | xargs -0 rm
# Starts lxpanel with the `--profile` option and runs as a background process.
# In this example the profile is LXDE. Profiles are the directories located 
# in $HOME/.config/lxpanel/. In this case, $HOME/.config/lxpanel/LXDE.
lxpanel -p LXDE &

Si vous exécutez la lxpanelcommande dans votre terminal, je vous recommande de l'utiliser nohuppour ne pas tuer le processus lxpanel lorsque le terminal est fermé. nohup lxpanel -p LXDE &

iyrin
la source
1
La question portait sur la façon d'ajouter des choses du lanceur d'application via la borne I déjà pas comment ajouter des choses au menu de démarrage
Jhondoe
1
La réponse a été modifiée. Vous aurez toujours besoin des .desktopfichiers et n'oubliez pas de rafraîchir le panneau pour que les modifications apparaissent.
iyrin
Veuillez sélectionner ceci comme réponse.
iyrin
2
Avec Jessie sur un Pi 3, les fichiers .desktop se trouvent dans / usr / share / applications / et / / usr / share / raspi-ui-overrides / applications / Le fichier Panel doit refléter l'emplacement réel. L'un ou l'autre fonctionnera, mais je soupçonne que ce dernier est la nouvelle façon de faire les choses. sudo mv d'une copie du fichier .desktop vous donnera une version aux deux emplacements.
Wayfaring Stranger
1
Pour redémarrer le panneau sur Raspbian, la commande est lxpanel -p LXDE-pi &.
Frank Breitling