Вопрос или проблема
Мой локальный сервер CUPS путается в именах принтера, который я использую. У него два имени: hpext
и hpext@vm-cups
. Я никогда не могу предсказать, какое из них сработает, и если я использую неправильное, задания просто остаются в его очереди бесконечно.
В /etc/cupsd/cupsd.conf
принтеры не указаны; вместо этого у меня есть строка
BrowsePoll cups.eecs.tufts.edu
Этот сервер указывает только hpext
, а не hpext@vm-cups
.
Я думаю, что мой локальный сервер каким-то образом запутался, и если я смогу удалить принтер из его памяти, все будет хорошо. Но нигде в документации я не могу найти команду для удаления принтера, и кнопка УДАЛЕНИЕ ПРИНТЕРА на глупом веб-интерфейсе не действует.
Что я могу сделать?
lpadmin помогает вам управлять принтерами CUPS
Вы можете просмотреть документацию на сайте CUPS или использовать man lpadmin
.
Я полагаю, что вам нужно следующее
lpadmin -x destination
Вы можете получить назначение (ID каждого принтера в CUPS), запустив lpstat -s
для перечисления всех принтеров. Документация lpstat доступна здесь.
- В интернете введите http://localhost:631/printers/
- Нажмите на принтер, который нужно удалить.
- Выберите
Удалить принтер
в выпадающем спискеАдминистрирование
. - Подтвердите
Удалить принтер
, нажав на него.
Другой способ обойти это — выключить автоматический просмотр сетевых принтеров и просто добавить тот принтер, который вам нужен, вручную. Я думаю, что причина, по которой кнопка Удалить не действует, заключается в том, что CUPS получает трансляцию/уведомление о том, что на сети доступен “новый” принтер.
Добавление: Если вы не хотите терять те принтеры, которые у вас уже есть, добавьте их в ваш локальный CUPS, а не полагайтесь на трансляцию.
Ответ или решение
Удаление принтера из системы CUPS может быть необходимым шагом в случаях, когда сервер "запутался" в настройках или когда возникают проблемы с дублированием имен принтеров. В вашем случае, когда один и тот же принтер имеет два имени: hpext
и hpext@vm-cups
, это может привести к бесконечному ожиданию выполнения задач, если выбран неверный вариант. Рассмотрим теорию, практический пример и конкретное применение решения вашей проблемы.
Теория
Common UNIX Printing System (CUPS) — это система печати, основанная на Unix, используемая для управления принтерами и заданиями печати. Она предоставляет как веб-интерфейс, так и командную строку для управления принтерами.
Основные компоненты CUPS:
- Демоны CUPS: Основной демон (cupsd), который обрабатывает задачи и менеджер очередей.
- Конфигурационные файлы: Например,
/etc/cups/cupsd.conf
, которые определяют общие настройки. - Интерфейсы управления: Веб-интерфейс и команды, такие как
lpadmin
иlpstat
, для создания, удаления и управления принтерами.
Когда вы сталкиваетесь с проблемой дублирующих принтеров, это обычно связано с автодискавери (автоматическим обнаружением) сетевых принтеров, что может создавать конфликты в именах или сбои в работе.
Пример
Теперь, чтобы на практике удалить принтер из памяти CUPS и предотвратить подобные конфликты, можно воспользоваться командой lpadmin
. Запуск этой команды через терминал позволяет напрямую взаимодействовать с системой и настроить принтер правильно. Пошаговая инструкция:
-
Получение списка принтеров:
Используйте командуlpstat -s
, чтобы получить список всех принтеров, известных CUPS. Это позволит вам определить точное имя принтера, который требуется удалить.lpstat -s
Это отобразит все принтеры с их уникальным идентификатором.
-
Удаление принтера:
После того как вы определили проблемный принтер (например,hpext@vm-cups
), удалите его с помощью команды:lpadmin -x hpext@vm-cups
Эта команда удаляет указанный принтер из системы.
-
Проверка изменений:
Повторно выполнитеlpstat -s
, чтобы убедиться, что принтер был успешно удален.
Применение
После удаления проблемного принтера можно предпринять ряд шагов, чтобы предотвратить повторение проблемы:
-
Отключение автоматического обнаружения сетевых принтеров:
Для этого требуется внести изменения в конфигурацию CUPS, отключив опцию BrowsePoll или BrowseInterval. Откройте файл/etc/cups/cupsd.conf
и закомментируйте соответствующие строки. -
Ручная настройка принтеров:
Добавьте принтеры вручную, чтобы избежать их повторного автоматического добавления:lpadmin -p hpext -E -v device-URI -P /path/to/ppd/file
Где
device-URI
представляет собой URI вашего принтера, а/path/to/ppd/file
– это файл PPD принтера. -
Использование веб-интерфейса:
Зайдите наhttp://localhost:631/printers/
, выберите ненужный принтер и в меню "Administration" используйте опцию "Delete Printer" для удаления. -
Тестирование печати:
Убедитесь, что оставшийся или вновь настроенный принтер работает корректно, отправив тестовую страницу на печать.
Эти шаги помогут не только устранить текущую проблему, но и сохранить стабильность сети печати в будущем. CUPS — мощная система, но она требует внимательного подхода к настройке и управлению, чтобы избежать конфликтов и обеспечить надежную работу всех печатных устройств.