GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Verhindern, dass externe Geräte für den Launcher gesperrt sind?

Wenn ich ein externes Gerät (z. B. einen USB-Stick oder ein Android-Smartphone) anschließe, wird es automatisch in Nautilus geöffnet und ein entsprechendes Symbol für den Unity Launcher gesperrt. Gibt es eine Möglichkeit, dies zu verhindern?

Ich verwende Ubuntu 14.04

Akzeptierte Antwort:

Wenn Sie ein Gerät über den Unity Launcher entsperren, wird es tatsächlich auf die schwarze Liste gesetzt aus dem Launcher. Mit dem Befehl können Sie sehen, welche Geräte derzeit auf der schwarzen Liste stehen:

gsettings get com.canonical.Unity.Devices blacklist

Das folgende Skript ist eine alternative Möglichkeit, Ihre eigenen Geräte auf der schwarzen Liste festzulegen . Der Unterschied besteht darin, dass das Skript dies dauerhaft tut, bis Sie die Datei ~/.blacklist_data entfernen . (siehe Erklärung:Wie es funktioniert )

Hintergrundskript

Selbst für ein Hintergrundskript ist dieses extrem geringes Gewicht, da, wenn sich nichts an der Blacklist ändert, nur die aktuelle Blacklist von den gsettings gelesen wird Befehl. Es liest die dconf Datenbank, die binary ist Format und damit sehr leicht.

Das Skript

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

blacklist_data = os.environ["HOME"]+"/.blacklist_data"

def get_setlist():
    cmd = "gsettings get com.canonical.Unity.Devices blacklist"
    blacklist = subprocess.check_output(["/bin/bash", "-c", cmd]).decode("utf-8").strip()
    return "[]" if blacklist == "@as []" else blacklist

try:
    blacklist1 = str(open(blacklist_data).read()).strip()
    cmd = 'gsettings set com.canonical.Unity.Devices blacklist "'+blacklist1+'"'
    subprocess.call(["/bin/bash", "-c", cmd])
except FileNotFoundError:
    blacklist1 = "[]"
    open(blacklist_data, "wt").write(blacklist1)

while True:
    time.sleep(1)
    blacklist2 = get_setlist()
    if blacklist2 != blacklist1:
        oldlist = open(blacklist_data).read().strip()
        n_old = len(eval(oldlist))
        try:
            n_new = len(eval(blacklist2))
        except SyntaxError:
            n_new = 0
        if n_old < n_new:
            open(blacklist_data, "wt").write(blacklist2)
        else:
            cmd = 'gsettings set com.canonical.Unity.Devices blacklist "'+oldlist+'"'
            subprocess.call(["/bin/bash", "-c", cmd])
    blacklist1 = blacklist2

Verwendung

  1. Kopieren Sie das Skript in eine leere Datei und speichern Sie es als myown_blacklist.py
  2. Testen Sie es mit dem Befehl:

    python3 /pat/to/myown_blacklist.py`
    

    Entsperren Sie jetzt Ihre (beliebigen, es funktioniert nicht nur USB-Geräte) unerwünschten Geräte. Das Entsperren ist nur einmal erforderlich.

  3. Wenn alles funktioniert, fügen Sie es den Startanwendungen hinzu:Wählen Sie Dash> Startanwendungen> Hinzufügen. Fügen Sie den Befehl hinzu:

    python3 /pat/to/myown_blacklist.py`
    

Wie es funktioniert

Das Problem ist, dass Unity Geräte „vergisst“, sobald sie ausgehängt wurden. Das Skript verfolgt dann, was mit der Ausgabe von passiert:

gsettings get com.canonical.Unity.Devices blacklist

Wenn der Liste ein Element hinzugefügt wird, schreibt das Skript die Liste in eine versteckte Datei in Ihrem Home-Verzeichnis. Wenn ein Element entfernt wird, liest es die versteckte Datei und stellt die Blacklist wieder her (dies wird nur einmal beim Unmounten des Geräts benötigt)

Verwandt:Das Paket „grub-efi-amd64-signed“ konnte das Ziel nicht installieren/?
Ubuntu
  1. Müssen Sie verhindern, dass ein Paket installiert wird?

  2. Benutzerdefinierte Anwendungen zum Gnome Launcher hinzufügen?

  3. Verwenden von Udev zum automatischen Mounten einer externen Festplatte?

  4. Verhindern, dass der Radeon-Treiber an bestimmte PCI-Geräte angeschlossen wird?

  5. Wie kann man verhindern, zu SWAP zu gehen?

So erstellen Sie eine externe Tabelle in Hive

So verhindern Sie, dass ein Paket in Ubuntu- und Debian-basierten Linux-Distributionen aktualisiert wird

Launcher Symbol ohne Symbol duplizieren?

Wie kann verhindert werden, dass sich die Bildschirme ausschalten, wenn der Bildschirm gesperrt ist?

Was ist ein DDoS und wie verhindern wir, dass unser Unternehmen angegriffen wird?

Verhindern Sie, dass Ubuntu 14.04 auf Virtualbox sperrt, wenn Windows gesperrt ist