GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment arrêter les icônes de partition dans Unity Launcher ?

Nouveau problème. Ubuntu 16.04/16.10. Maintenant, chaque fois que je démarre gparted, de nouvelles icônes de partition de disque apparaissent, juste au-dessus de l'icône de la corbeille, dans le lanceur Unity. Je dois "déverrouiller depuis le lanceur" pour m'en débarrasser.

Les articles plus anciens pour les anciennes versions d'Ubuntu proposent divers correctifs qui ne s'appliquent plus dans 16.04/16.10. Des idées sur la façon de se débarrasser définitivement de ces icônes embêtantes ?

Voici une capture d'écran qui montre les 3 icônes, juste au-dessus de l'icône de la corbeille :

Réponse acceptée :

La raison

La suppression d'appareils du lanceur mettra l'appareil sur liste noire dans les (gsettings ) clé

com.canonical.Unity.Devices blacklist

Cependant, si l'appareil est supprimé (déconnecté de quelque manière que ce soit), l'appareil est également supprimé de la liste noire. La prochaine fois que vous connecterez l'appareil, l'histoire recommencera.

La solution

La solution ci-dessous stockera les appareils sur liste noire dans un fichier. Après les avoir supprimés une fois , l'appareil n'apparaîtra plus jamais dans le lanceur. Si vous déconnectez un appareil, le script ajoutera (ré-)immédiatement l'appareil à la liste noire.

#!/usr/bin/env python3
import subprocess
import time
import os

key = "com.canonical.Unity.Devices"
bl_file = os.environ["HOME"]+"/.blacklist_data"

while True:
    time.sleep(2)

    current = subprocess.check_output([
        "gsettings", "get", key, "blacklist",
        ]).decode("utf-8")
    if "@as" in current:
        current = []
    else:
        current = eval(current)        
    try:
        r = open(bl_file).read()
        r = [] if r == '' else r.splitlines()           
    except FileNotFoundError:
        r = []
    if current != r:
        newlist = list(set([d for d in current+r if not d == '']))
        open(bl_file, "wt").write("\n".join(newlist))
        subprocess.Popen(["gsettings", "set", key, "blacklist", str(newlist)])

Comment utiliser

  1. Copiez le script dans un fichier vide
  2. Enregistrez-le sous remember_blacklist.py
  3. Testez-le avec la commande :

    python3 /path/to/remember_blacklist.py
    
  4. Si tout fonctionne correctement, ajoutez aux applications de démarrage :Dash> Startup Applications> Add. Ajoutez la commande :

    python3 /path/to/remember_blacklist.py
    

Remarque

  1. Lecture depuis gsettings (pratiquement tout ce que fait le script) est extrêmement léger et n'ajoutera aucune charge notable à votre système
  2. Si (et tant que) l'appareil est ouvert dans n'importe quel nautilus fenêtre, il apparaîtra toujours dans le lanceur. L'icône ne sera cependant pas verrouillée sur le lanceur et disparaîtra.

Ubuntu
  1. Comment chiffrer une partition avec DM-Crypt LUKS sous Linux

  2. Ubuntu 16.04 :Comment ajouter/supprimer des applications épinglées à Unity Launcher via Terminal ?

  3. Comment créer des partitions à l'intérieur du périphérique de bouclage

  4. Comment créer un périphérique de bloc virtuel (périphérique de boucle/système de fichiers) sous Linux

  5. Comment installer Unity dans Ubuntu 18.04 LTS

Comment changer l'icône du lanceur d'application Dash to Dock

Comment créer plusieurs profils pour le lanceur Unity dans Ubuntu à l'aide de launcher-list-indicator

Comment réparer:Pas d'unité, pas de lanceur, pas de tableau de bord dans Ubuntu Linux

Comment installer le serveur Ubuntu 20.04

Comment ajouter plusieurs espaces de travail dans Unity 2d ?

Comment monter automatiquement une partition d'échange ?