Удаление периферийного оборудования из операционной системы Linux — задача, с которой может столкнуться любой пользователь, от новичка до системного администратора. Часто требуется избавиться от старого устройства, заменить его на новое, или просто очистить список принтеров, которые перестали работать корректно.
Принтеры в Linux управляются подсистемой CUPS (Common UNIX Printing System), которая гарантирует, что удаление устройства будет безопасным для системы, если соблюдать правильную последовательность действий. Независимо от того, используете вы дистрибутив Ubuntu, Fedora или Debian, принципы работы с драйверами остаются схожими.
Удаление принтера через графический интерфейс
Самый простой способ избавиться от ненужного устройства — воспользоваться графическими настройками вашего рабочего окружения. Этот метод подходит для большинства пользователей, которые не хотят погружаться в командную строку.
В дистрибутивах на базе GNOME или KDE нужно открыть меню «Параметры» или «Системные настройки», где найти раздел «Принтеры». Здесь отображается полный список подключенных устройств. Выберите нужный принтер и нажмите кнопку «Удалить» или значок корзины.
Система запросит подтверждение действий, после чего драйвер и настройки конкретного устройства будут стерты из памяти. Если у вас несколько профилей пользователей, убедитесь, что вы удаляете устройство из нужной учетной записи, а не из глобальных настроек.
Иногда графический интерфейс может «зависнуть» при попытке удаления сложного сетевого устройства. В таком случае не стоит перезагружать компьютер сразу, лучше попробовать другой метод.
Важно отметить, что удаление через GUI удаляет только конфигурацию, но не сам драйвер из системы. Это безопасно, но может потребовать очистки кэша позже.
Использование командной строки (CUPS)
Для более глубокого контроля и работы в серверных средах без графического интерфейса идеально подходит утилита lpadmin. Она является стандартом для управления очередями печати в Linux.
Чтобы удалить принтер, откройте терминал и введите команду с правами суперпользователя. Формат команды строгий: нужно указать имя устройства, которое вы хотите удалить.
sudo lpadmin -x ИМЯ_ПРИНТЕРА
Замените ИМЯ_ПРИНТЕРА на реальное название вашего устройства, например, HP_LaserJet_1020 или Canon_Network. Если вы не знаете точное имя, его можно узнать, введя команду lpstat -p.
Этот метод удаляет устройство полностью, включая все связанные с ним очереди печати. Это гораздо быстрее, чем переключение между вкладками в графическом меню.
Иногда название принтера содержит пробелы или специальные символы, в таких случаях лучше заключить имя в кавычки, чтобы система восприняла его как единое целое.
Удаление через утилиту system-config-printer
Хотя современные дистрибутивы часто полагаются на настройки GNOME, классическая утилита system-config-printer остается мощным инструментом для администрирования.
Этот инструмент предоставляет более детальный список настроек, чем стандартное меню настроек. Он позволяет увидеть не только имя устройства, но и его порт, драйвер и состояние очереди.
Чтобы запустить эту утилиту, введите в терминале system-config-printer или найдите её в меню приложений по имени «Настройка принтера».
В открывшемся окне нажмите правой кнопкой мыши на ненужном принтере и выберите пункт «Удалить». Интерфейс программы может отличаться в зависимости от версии Linux, но логика остается неизменной.
Преимущество этого метода в том, что он может предоставить более подробную информацию о том, почему принтер не удаляется (например, если он занят в данный момент).
☑️ Проверка перед удалением
Очистка очереди печати и временных файлов
Иногда удаление самого устройства не решает проблему, если в системе остались зависшие задания печати или временные файлы. Это может привести к ошибкам при подключении нового принтера с тем же именем.
Для очистки очереди используйте команду cancel -a, которая отменяет все задания во всех очередях. Это критически важно сделать перед полным удалением драйверов.
sudo cancel -a
После этого необходимо проверить папки временных файлов, где могут храниться данные о принтере. Обычно они находятся в /var/spool/cups.
Удаление содержимого этой папки требует осторожности. Лучше не удалять файлы вручную, а использовать сервисные команды, чтобы не повредить структуру кэша CUPS.
⚠️ Внимание: Полная очистка папки /var/spool/cups может привести к потере истории печати и временных данных других активных задач. Делайте это только если система полностью остановлена или не используется.
Также стоит проверить наличие остаточных конфигурационных файлов в /etc/cups/. Их удаление иногда требуется, если принтер был удален, но настройки остались в памяти системы.
Перед очисткой временных файлов создайте резервную копию папки /var/spool/cups, чтобы в случае ошибки можно было восстановить данные печати.
Удаление драйверов и пакетов ПО
После удаления самого принтера в системе могут остаться драйверы и пакеты программного обеспечения, установленные производителем. Это особенно актуально для принтеров HP, Epson и Brother.
В системах на базе Debian/Ubuntu для удаления пакетов используйте apt. Найдите имя пакета, относящегося к принтеру, и выполните команду удаления.
sudo apt remove --purge имя-пакета
Параметр --purge важен, так как он удаляет не только сам пакет, но и его конфигурационные файлы. Это гарантирует полную чистоту системы.
Для дистрибутивов Fedora или CentOS используется утилита dnf или yum с аналогичными флагами. Удаление драйверов освобождает место на диске и предотвращает конфликты версий.
Не забудьте также проверить наличие модулей ядра, связанных с принтером, хотя они обычно загружаются автоматически и удаляются сами при перезагрузке.
Где искать список установленных пакетов драйверов?
Для просмотра списка установленных пакетов, связанных с печатью, введите команду: dpkg --list | grep -i print. Это покажет все пакеты, содержащие слово 'print' в названии.
Частые проблемы и их решение
При удалении принтера пользователи часто сталкиваются с ошибкой «Device busy» (Устройство занято). Это значит, что процесс печати всё ещё работает в фоне.
Чтобы решить эту проблему, нужно остановить службу CUPS, выполнить удаление и снова запустить её. Используйте команды sudo systemctl stop cups и sudo systemctl start cups.
Иногда проблема кроется в правах доступа. Если вы пытаетесь удалить принтер из-под обычного пользователя, а он был добавлен как системный, возникнет ошибка прав.
В таблице ниже приведены основные коды ошибок и способы их устранения при работе с lpadmin.
| Код ошибки | Описание проблемы | Решение |
|---|---|---|
Device busy |
Принтер занят или есть активные задания | Остановить службу cups или отменить все задания |
Access denied |
Недостаточно прав доступа | Использовать sudo перед командой |
Printer not found |
Указано неверное имя устройства | Проверить список принтеров через lpstat -p |
PPD error |
Поврежден файл описания принтера | Удалить файл .ppd вручную из /etc/cups/ppd/ |
Если вы удаляете сетевой принтер, убедитесь, что он отключен от сети, чтобы служба CUPS не пыталась снова обнаружить его при перезагрузке.
⚠️ Внимание: Если принтер был подключен через USB, физически отключите его перед перезапуском службы печати. Это предотвратит автоматическое повторное добавление устройства системой.
Иногда система может кэшировать информацию об устройстве. В этом случае помогает очистка кэша DNS и перезагрузка службы avahi-daemon, если принтер был обнаружен через сеть.
Полное удаление принтера требует не только отключения устройства в настройках, но и очистки очередей, пакетов драйверов и временных файлов в /var/spool/cups.
Специфика работы с сетевыми и виртуальными принтерами
Сетевые принтеры и виртуальные устройства (например, PDF-конвертеры) управляются немного иначе. Они часто имеют фиксированные имена, которые могут конфликтовать при попытке установки нового оборудования.
Удаление виртуального принтера, такого как CUPS-PDF, требует удаления соответствующего пакета, так как он не привязан к физическому устройству.
Для сетевых принтеров важно проверить настройки /etc/cups/printers.conf. Если вы удалили устройство через интерфейс, но запись осталась в конфигурационном файле, принтер может появиться снова после перезагрузки.
Ручное редактирование файла printers.conf — крайняя мера. Делайте резервную копию перед внесением изменений.
В некоторых корпоративных средах принтеры могут управляться через LDAP или централизованные серверы. В таких случаях удаление локально может быть бесполезным, если устройство снова подтянется с сервера.
☑️ Чеклист для сетевых принтеров
FAQ: Часто задаваемые вопросы
Можно ли удалить принтер без прав суперпользователя?
Нет, удаление принтера требует прав администратора (root), так как это изменение системной конфигурации. Вы можете использовать sudo, чтобы выполнить команду от имени администратора.
Что делать, если принтер не удаляется через графический интерфейс?
Если графический интерфейс не реагирует, используйте командную строку и утилиту lpadmin -x. Это наиболее надежный способ удаления устройства в Linux.
Удаление принтера влияет на другие устройства?
Нет, удаление одного принтера не затрагивает другие устройства. Однако, если вы удалите общий драйвер, это может повлиять на принтеры, использующие тот же пакет ПО.
Как восстановить удаленный принтер?
Восстановление возможно только путем повторного добавления устройства через настройки или команду lpadmin. Если драйверы были полностью удалены, их придется установить заново.
⚠️ Внимание: После удаления принтера и перезагрузки системы, убедитесь, что новые настройки применены корректно, проверив статус службы печати командой systemctl status cups.