Wie entferne ich Hunderte automatisch hinzugefügter Netzwerkdrucker?

Wie entferne ich Hunderte automatisch hinzugefügter Netzwerkdrucker?

Das Drucken fällt mir sehr schwer, da der Druckerdialog Hunderte automatisch hinzugefügte Drucker enthält und ich den Drucker, den ich verwenden möchte, nicht finden kann (siehe Screenshot unten).

Abbildung eines Druckerdialogs mit einer sehr langen Bildlaufleiste

Die Drucker stammen aus meinem Arbeitsnetzwerk, wo anscheinend viele Leute (darunter vermutlich auch Studenten) ihre Heimdrucker „teilen“, die mein Laptop dann automatisch erkennt. (Zufällig deaktiviere ich den Avahi-Daemon bei der Arbeit manchmal, einfach weil er viel CPU-Last verbraucht.)

Wenn ich auf gehe http://localhost:631/printers/, steht dort, dass es 131 Drucker gibt, und sie sind alle von Marke und Modell „Local Raw Printer“. Mit zwei Ausnahmen: 1 ist ein Netzwerkdrucker bei der Arbeit, den ich manuell konfiguriert habe. Ein anderer ist ein Netzwerkdrucker bei meinen Eltern, der auch automatisch hinzugefügt wurde und mit dem ich mich gerade im selben Netzwerk befinde. Aber der Rest ist einfach Müll, den ich wirklich gerne vermeiden würde. Tipps dazu wären willkommen.

Ich werde jedoch für eine Weile nicht an meinen Arbeitsplatz zurückkehren, daher möchte ich vorerst nur, dass diese Drucker (das wären die 129/130 automatisch hinzugefügten Drucker) entfernt werden. Gibt es eine Möglichkeit, das zu tun? Ich schätze, ich könnte es tun, indem ich mich durch die CUPS-Weboberfläche klicke, aber für 129 Drucker ist das ein bisschen viel. Ich suche also nach einem einzelnen Befehl oder Tipps, wie ich das mit einer Art Skript erreichen kann.

Antwort1

Mit diesem Befehl lpstat -akönnen wir die installierten Drucker anzeigen und den Namen des gewünschten Druckers ermitteln, der behalten werden soll. Mit dem grepBefehl können wir die Ergebnisse auch wie folgt filtern: lpstat -a | grep <probable_name_of_printer>.

Dann kann dieses kleine Skript helfen:

  1. Führen Sie diesen Befehl aus, um zu überprüfen, ob der gewünschte Drucker nicht aufgeführt ist:

    lpstat -a | cut -d" " -f1 | sed -E '/<NAME_OF_PRINTER>/d' | grep <NAME_OF_PRINTER>
    
    • Dies sollte nichts zurückgeben, da es Folgendes tut:

      • lpstat -a: Liste der installierten Drucker
      • cut -d" " -f1: gibt nur die Namen der Drucker zurück
      • sed -E '/<NAME_OF_PRINTER>/d': Entfernen Sie den Namen des Druckers, der aus der Ausgabe der vorherigen Befehle beibehalten werden soll.
      • grep <NAME_OF_PRINTER>: Stellen Sie sicher, dass der gewünschte Drucker nicht in der Liste enthalten ist.
  2. Wenn das oben genannte zutrifft, führen Sie diesen Befehl aus, um alle anderen Drucker zu entfernen, die Sie nicht benötigen:

    sudo bash -c 'for i in $(lpstat -a | cut -d" " -f1 | sed -E '/<NAME_OF_PRINTER>/d'); do lpadmin -x "$i"; done'
    

verwandte Informationen