J'ai installé différentes versions de l'environnement (Unity, Mate, Xfce, KDE ...) sur ma machine. J'ai décidé de me connecter pour utiliser Xfce. Mais il y a des applications/logiciels dans les autres environnements que je voudrais utiliser sans me connecter à cet autre poste de travail et sans essayer de découvrir la commande de ce programme afin de pouvoir l'exécuter depuis un terminal directement depuis Xfce.
J'aimerais que toutes les applications répertoriées dans mon menu soient répertoriées de manière automatisée (les réponses "créer chaque entrée de raccourci à partir de zéro" doivent donc être exclues).
Vous pouvez utiliser alacarte
pour modifier le menu de l'application. Ce n'est pas comme faire tous les raccourcis à partir de rien, ni automatisé ... Certaines versions du logiciel alacarte provenant d'autres environnements de bureau sont également visibles.
Je soupçonne que la clé réside dans le contenu des fichiers .desktop
que l'on trouve le plus souvent dans /usr/share/applications
. (Un utilisateur peut également avoir certains fichiers .desktop
placés dans $HOME/.local/share/applications
automatiquement ou manuellement.)
Le format des fichiers .desktop
est généralement basé sur spécifications défini par freedesktop.org .
D'intérêt ici, sont deux entrées:
signifie "cette application existe, mais ne l'affichez pas dans les menus". Cela peut être utile pour, par exemple, associez cette application aux types MIME, de sorte qu'elle soit lancée à partir d'un gestionnaire de fichiers (ou d'autres applications), sans avoir d'entrée de menu pour celle-ci (il existe de nombreuses bonnes raisons à cela, y compris par exemple le type netscape -remote ou le type kfmclient openURL de choses).
Une liste de chaînes identifiant les environnements de bureau devant afficher/ne pas afficher une entrée de bureau donnée.
Par défaut, un fichier de bureau doit être affiché, sauf si une clé OnlyShowIn est présente. Dans ce cas, la valeur par défaut est que le fichier ne soit pas affiché.
Sur mon système qui est juste "KDE", je vois:
$ grep -E "NoDisplay" /usr/share/applications/*.desktop
/usr/share/applications/display-im6.desktop:NoDisplay=true
/usr/share/applications/display-im6.q16.desktop:NoDisplay=true
/usr/share/applications/geoclue-where-am-i.desktop:NoDisplay=true
/usr/share/applications/hplj1020.desktop:NoDisplay=true
/usr/share/applications/ktelnetservice5.desktop:NoDisplay=true
/usr/share/applications/kwalletmanager5-kwalletd.desktop:NoDisplay=true
/usr/share/applications/libreoffice-math.desktop:NoDisplay=false
/usr/share/applications/libreoffice-startcenter.desktop:NoDisplay=false
/usr/share/applications/libreoffice-xsltfilter.desktop:NoDisplay=true
(plus many more entries)
$ grep -E "OnlyShowIn" /usr/share/applications/*.desktop
/usr/share/applications/org.kde.kcolorschemeeditor.desktop:OnlyShowIn=KDE;
/usr/share/applications/org.kde.kinfocenter.desktop:OnlyShowIn=KDE;
/usr/share/applications/org.kde.kmenuedit.desktop:OnlyShowIn=KDE;
/usr/share/applications/org.kde.plasmashell.desktop:OnlyShowIn=KDE;
/usr/share/applications/org.kde.polkit-kde-authentication-agent-1.desktop:OnlyShowIn=KDE;
/usr/share/applications/systemsettings.desktop:OnlyShowIn=KDE;
$
$ grep -E "NotShowIn" /usr/share/applications/*.desktop
/usr/share/applications/kdesystemsettings.desktop:NotShowIn=KDE;
/usr/share/applications/libreoffice-math.desktop:NotShowIn=GNOME;
/usr/share/applications/libreoffice-startcenter.desktop:NotShowIn=GNOME;
/usr/share/applications/org.kde.kdeconnect.kcm.desktop:NotShowIn=KDE;
/usr/share/applications/org.kde.kdeconnect.nonplasma.desktop:NotShowIn=KDE;
/usr/share/applications/org.kde.klipper.desktop:NotShowIn=KDE;
/usr/share/applications/system-config-printer.desktop:NotShowIn=KDE;GNOME;
$
Lorsque vous exécuterez les commandes indiquées ci-dessus sur votre système, il se peut que certaines applications ne soient pas incluses dans les menus, que ce soit dans l'environnement de bureau d'origine ou dans un autre. Dans certains cas, il n’ya peut-être aucune raison qui vous semble valable.
Si vous souhaitez modifier le statut d'affichage de certaines applications, je vous suggère de copier le fichier .desktop
correspondant vers ~/.local/share/applications
et d'y apporter vos modifications. Les modifications apportées là-bas
.desktop
dans /usr/share/applications
sera écrasé.