Question Déverrouillage des applications du lanceur depuis la ligne de commande


Afin de configurer automatiquement les nouvelles installations, j'ai besoin d'un moyen de déverrouiller les applications par défaut à partir de la barre de lancement. Je ne sais pas où cette information est stockée, peut-être modifier / remplacer le fichier serait le moyen le plus simple.


1
2018-01-11 21:08


origine




Réponses:


La commande pour obtenir les icônes du lanceur actuel est la suivante:

gsettings get com.canonical.Unity.Launcher favorites

Cela vous donnera une liste comme:

['item_1', 'item_2', 'application://application_to_remove.desktop', 'etc']

Si vous supprimez votre article de la liste et ensemble la version modifiée de la liste par la commande:

gsettings set com.canonical.Unity.Launcher favorites "['item_1', 'item_2', 'etc']"
(mind the double quotes)

Votre application est déverrouillée depuis le lanceur.

Exemple de script

Comme exemple de comment le travail peut être fait par un script (python):

#!/usr/bin/env python3
import subprocess
import sys

key = "com.canonical.Unity.Launcher"
desktopfile = sys.argv[1]

curr_launcher = eval(subprocess.check_output([
    "gsettings", "get", key, "favorites"
    ]).decode("utf-8"))
new_launcher = [item for item in curr_launcher if not desktopfile in item] 
subprocess.Popen(["gsettings", "set", key,"favorites",str(new_launcher)])

Comment utiliser

  • Collez le script dans un fichier vide, enregistrez-le sous remove_fromlauncher.py
  • Exécuter par la commande

    python3 /path/to/remove_fromlauncher.py <application.desktop>
    

    ou plus court:

    python3 /path/to/remove_fromlauncher.py <application>
    

    Exemple supprimer Virtualbox:

    python3 /path/to/remove_fromlauncher.py virtualbox.desktop
    

Remarque

Gardez à l'esprit que vous ne pouvez pas simplement supprimer tout éléments de la liste; Il comprend également des éléments qui ne sont pas des applications.


MODIFIER

Version du script pour supprimer plusieurs icônes à la fois:

#!/usr/bin/env python3
import subprocess
import sys

key = "com.canonical.Unity.Launcher"

desktopfiles = sys.argv[1:]

for desktopfile in desktopfiles:
    curr_launcher = eval(subprocess.check_output([
        "gsettings", "get", key, "favorites"
        ]).decode("utf-8"))
    new_launcher = [item for item in curr_launcher if not desktopfile in item] 
    subprocess.Popen(["gsettings", "set", key,"favorites",str(new_launcher)])

L’utilisation est à peu près la même, mais vous pouvez maintenant utiliser plusieurs arguments à la fois, par exemple:

python3 /path/to/remove_fromlauncher.py gedit thunderbird

va supprimer les deux Thunderbird et Gedit du lanceur.


1
2018-01-11 21:27



Juste essayé le gsettings set sur Ubuntu 14.04 et il n'a aucun effet. - Luís de Sousa
@ LuísdeSousa Vous ne savez pas ce que vous voulez dire, quelle commande exactement? - Jacob Vlijm
Ce peu: gsettings set com.canonical.Unity.Launcher favorites "['item_1', 'item_2', 'etc']". N'a pas d'effet visible, le lanceur reste le même. - Luís de Sousa
@ LuísdeSousa le script eorks je suppose? - Jacob Vlijm