Das Drucken ist für mich sehr schwierig, da der Druckerdialog mit Hunderten automatisch hinzugefügten Druckern gefüllt ist, sodass ich den gewünschten Drucker nicht finden kann (siehe Abbildung unten).
Die Drucker stammen aus meinem Arbeitsnetzwerk, in dem anscheinend viele Leute (einschließlich Studenten, denke ich) ihre Heimdrucker "teilen", die mein Laptop dann automatisch abholt. (zufällig deaktiviere ich manchmal den Avahi-Daemon bei der Arbeit, einfach weil er viel CPU verbraucht).
Wenn ich zu gehe http://localhost:631/printers/
, heißt es, dass es 131 Drucker gibt, die alle vom Hersteller und Modell 'Local Raw Printer' sind. Mit zwei Ausnahmen: 1 ist ein Netzwerkdrucker im Einsatz, den ich manuell konfiguriert habe. Ein weiterer ist ein Netzwerkdrucker bei meinen Eltern, der ebenfalls automatisch hinzugefügt wurde und in dem ich mich gerade im selben Netzwerk befinde. Aber der Rest ist nur Müll, den ich wirklich gerne vermeiden würde. Tipps dazu sind willkommen.
Ich werde jedoch für einige Zeit nicht an meinen Arbeitsplatz zurückkehren, daher möchte ich, dass diese Drucker (das wären die automatisch hinzugefügten 129/130-Drucker) vorerst entfernt werden. Gibt es eine Möglichkeit, das zu tun? Ich schätze, ich könnte es tun, indem ich mich in der cups-Weboberfläche durchklickte, aber für 129 Drucker ist das ein bisschen viel. Ich suche also nach einem einzigen Befehl oder nach Tipps, wie man ihn mit einer Art Skript erreicht.
quelle
Antworten:
Mit diesem Befehl
lpstat -a
können wir die installierten Drucker sehen und den Namen des gewünschten Druckers identifizieren, den wir behalten möchten. Mit demgrep
Befehl können wir auch die Ergebnisse 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:
Dies sollte nichts zurückgeben, da es Folgendes tut:
lpstat -a
: Liste der installierten Druckercut -d" " -f1
: Nur die Namen der Drucker zurückgebensed -E '/<NAME_OF_PRINTER>/d'
: Entfernen Sie den Namen des Druckers, um ihn aus der Ausgabe der vorherigen Befehle zu entfernengrep <NAME_OF_PRINTER>
: Stellen Sie sicher, dass der gewünschte Drucker nicht in der Liste enthalten istWenn das oben genannte auscheckt; Führen Sie dann diesen Befehl aus, um alle anderen Drucker zu entfernen, die Sie nicht benötigen:
quelle
lpstat -a
ergibt<printer_name> not accepting request since <some date> -\n reason unknown
(mitreason unknown
in einer neuen Zeile!). Mit Ihrem Listing-Befehl erhalte ich also eine Menge "Drucker" mit dem Namen "reason" (es gibt einen Einzug).lpstat -a
Ihnen der Befehl ?sed
Befehl in die "Pipe Chain" eingefügt :sed -E /reason/d
um die zusätzlichen Zeilen loszuwerden.