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).
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 -a
können wir die installierten Drucker anzeigen und den Namen des gewünschten Druckers ermitteln, der behalten werden soll. Mit dem grep
Befehl können wir die Ergebnisse auch wie folgt filtern: lpstat -a | grep <probable_name_of_printer>
.
Dann kann dieses kleine Skript helfen:
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 Druckercut -d" " -f1
: gibt nur die Namen der Drucker zurücksed -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.
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'