Мне очень сложно выполнять печать, потому что диалог принтера полон сотен автоматически добавленных принтеров, поэтому я не могу найти тот, который хочу использовать, см. Скриншот ниже.
Принтеры происходят из моей рабочей сети, где, очевидно, многие люди (включая студентов, я полагаю) «делятся» своими домашними принтерами, которые Мой ноутбук автоматически включается. (по совпадению я иногда отключаю avahi-демон на работе, просто потому, что он использует большое количество процессора).
Когда я перехожу к http://localhost:631/printers/
, там говорится о 131 принтере, и все они изготовлены и изготовлены как «Локальный сырой принтер». За двумя исключениями: 1 - это сетевой принтер на работе, который я настроил вручную. Другой - это сетевой принтер у моих родителей, который также был автоматически добавлен, и я сейчас в той же сети, что и сейчас. Но остальное - просто мусор, которого я действительно хотел бы избежать. Советы о том, как это сделать, будут оценены.
Я не буду возвращаться на свое рабочее место какое-то время, поэтому сейчас я просто хотел бы удалить эти принтеры (то есть принтеры с автоматически добавляемыми 129/130). Есть способ сделать это? Я думаю, что я мог бы сделать это, щелкнув через веб-интерфейс чашки, но для 129 принтеров, это немного. Поэтому я ищу отдельную команду или советы о том, как этого добиться с помощью своего рода сценария.
Используя эту команду: lpstat -a
мы видим установленные принтеры и определяем название желаемого принтера для хранения, мы можем использовать grep
управляйте также для фильтрации результатов как так: lpstat -a | grep <probable_name_of_printer>
.
Затем этот небольшой сценарий может помочь:
Выполните эту команду, чтобы проверить, что желаемый принтер не перечислен:
lpstat -a | cut -d" " -f1 | sed -E '/<NAME_OF_PRINTER>/d' | grep <NAME_OF_PRINTER>
Это ничего не должно возвращать, поскольку это делает следующее:
lpstat -a
: перечислите установленные принтерыcut -d" " -f1
: возвратите только названия принтеровsed -E '/<NAME_OF_PRINTER>/d'
: удалите название принтера для удержаний от вывода предыдущих командgrep <NAME_OF_PRINTER>
: удостоверьтесь, что желаемый принтер не находится в спискеЕсли вышеупомянутое проверяет; затем выполните эту команду для удаления любого принтера, в котором Вы не нуждаетесь:
sudo bash -c 'for i in $(lpstat -a | cut -d" " -f1 | sed -E '/<NAME_OF_PRINTER>/d'); do lpadmin -x "$i"; done'