it-swarm.com.de

Wie stoppe ich Partitionssymbole in Unity Launcher?

Neues Problem. Ubuntu 16.04/16.10. Wenn ich nun gparted starte, werden im Unity-Starter direkt über dem Papierkorbsymbol neue Festplattenpartitionssymbole angezeigt. Ich muss "vom Launcher entsperren", um sie loszuwerden.

Ältere Veröffentlichungen für ältere Versionen von Ubuntu schlagen verschiedene Korrekturen vor, die in 16.04/16.10 nicht mehr zutreffen. Irgendwelche Ideen, wie man diese lästigen Symbole dauerhaft loswird?

Hier ist ein Screenshot mit den drei Symbolen direkt über dem Papierkorbsymbol:

enter image description here

8
heynnema

Die Ursache

Durch Entfernen von Geräten aus dem Launcher wird das Gerät mit der Taste (gsettings) auf die schwarze Liste gesetzt

com.canonical.Unity.Devices blacklist

Wird das Gerät jedoch entfernt (auf irgendeine Weise getrennt), wird das Gerät auch von der Blacklist entfernt. Wenn Sie das nächste Mal das Gerät anschließen, beginnt die Geschichte von vorne.

Die Lösung

Die folgende Lösung speichert auf der schwarzen Liste befindliche Geräte in einer Datei. Nach dem Entfernen von einmal wird das Gerät im Launcher nie wieder angezeigt. Wenn Sie ein Gerät trennen, fügt das Skript das Gerät sofort (erneut) als auf die schwarze Liste gesetzt hinzu.

#!/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)])

Wie benutzt man

  1. Kopieren Sie das Skript in eine leere Datei
  2. Speichere es als remember_blacklist.py
  3. Teste es mit dem Befehl:

    python3 /path/to/remember_blacklist.py
    
  4. Wenn alles in Ordnung ist, fügen Sie Startanwendungen hinzu: Dash> Startanwendungen> Hinzufügen. Fügen Sie den Befehl hinzu:

    python3 /path/to/remember_blacklist.py
    

Hinweis

  1. Das Lesen von gsettings (praktisch alles, was das Skript leistet) ist extrem leicht und belastet Ihr System nicht merklich
  2. Wenn (und solange) das Gerät in einem nautilus Fenster geöffnet ist, wird es weiterhin im Launcher angezeigt. Das Symbol wird jedoch nicht für den Launcher gesperrt und verschwindet.
6
Jacob Vlijm