Печать на Linux: USB, сеть и резервные планы

Linux часто «просто печатает». Если принтер подключён по USB или находится в локальной сети, система обычно видит его автоматически. Многие устройства, включая популярные модели HP, появляются в списке принтеров без ручной установки драйверов или ввода IP‑адреса.
Но не всегда всё идёт гладко. Когда автоматическое обнаружение не срабатывает, у Linux есть пошаговый резервный план: сначала стандартные базы драйверов, затем PPD от производителя, и только в самом крайнем случае — ручной поиск нестандартных решений. Ниже — полное руководство, которое подойдёт и домашнему пользователю, и администратору сети.
Краткое описание проблемы и когда стоит волноваться
Если принтер не отображается в Settings → Printers, не печатает по сети или не поддерживает сканирование — это повод для проверки по чек‑листу. Чаще всего проблема решается за 5–20 минут. Редкие случаи требуют поиска нестандартных драйверов или использования промежуточного сервера печати.
Техническая основа: что отвечает за печать в Linux
Большинство дистрибутивов используют CUPS (Common Unix Printing System). Коротко: CUPS управляет очередями печати и переводит данные в формат, понятный принтеру. Он использует протокол IPP (Internet Printing Protocol) для сетевой печати.
CUPS предоставляет как графические средства в настройках системы, так и веб‑интерфейс по адресу http://localhost:631 — он одинаков в любой среде рабочего стола и доступен в Raspbian и на серверах.
Как всё должно работать в идеале
- Подключили принтер (USB или сеть).
- Открыли «Настройки → Принтеры».
- Увидели ваш принтер в списке и распечатали тест‑страницу.
Если принтер автоматически добавлен, его имя появится в левом списке в интерфейсе настроек.
Пошаговая методика установки принтера
Ниже — «минималистичная» методология, которую можно выполнить последовательно:
- Проверить физическое подключение и питание.
- Перезагрузить принтер и компьютер.
- Проверить появление в Settings → Printers.
- Если не найден — открыть CUPS на localhost:631.
- Попробовать добавить через Foomatic/PPD.
- Если сетевой — добавить через IPP или LPD.
- Если ничего не помогает — использовать облачные сервисы производителя или печать PDF.
Установка драйвера и файлы PPD
Для корректной работы часто требуется файл PPD (PostScript Printer Description). Это текстовый файл, описывающий возможности принтера (форматы бумаги, разрешения, поддерживаемые режимы печати). По умолчанию дистрибутивы поставляются с базой свободных драйверов, известной как Foomatic.
Поиск драйвера в базе Foomatic
В Ubuntu и многих других дистрибутивах процесс простой: Settings → Printers → Add (+). Выберите порт (USB, последовательный, сеть) и нажмите Далее. Система предложит список производителей и моделей. Если вашей модели нет, выбирайте ближайшую по серии — иногда совместимость хорошая.
PPD от производителя
Если Foomatic не имеет нужного драйвера, зайдите на сайт производителя принтера. Многие вендоры публикуют PPD или пакеты для Linux. Примеры решений:
- HP: пакет HPLIP для принтеров HP и утилиты управления.
- Brother: драйверы и установочные скрипты для их моделей.
- Epson, Canon: предоставляют PPD и инструкции для Linux.
Если вы нашли PPD, в интерфейсе добавления принтера выберите «Provide PPD» или «Use PPD file» и укажите путь к скачанному файлу.
Совет: если производитель даёт установочный пакет (.deb или .rpm), используйте его — пакет обычно настраивает права и зависимости автоматически.
Альтернативные базы драйверов
OpenPrinting.org и другие ресурсы хранят совместимости и PPD. Gutenprint и другие OSS‑драйверы тоже покрывают многие модели.
Добавление сетевого принтера через CUPS
Если принтер подключён к сети, он должен появиться в списке автоматически. Если нет — используйте веб‑интерфейс CUPS.
- Откройте http://localhost:631.
- Перейдите в Administration → Add Printer (Добавить принтер).
- При добавлении вам потребуются права администратора.
На странице добавления вы увидите локально настроенные принтеры, доступные сетевые устройства и опции ручного добавления. Самый простой метод при известном IP — использовать IPP и указать URL вида:
ipp://IP_ADDRESS/printers/PRINTER_NAMEЗамените IP_ADDRESS и PRINTER_NAME на соответствующие значения.
Статический IP через DHCP
Если вы хотите закрепить адрес принтера в сети через DHCP, добавьте запись в конфигурацию DHCP‑сервера. Пример для /etc/dhcpd.conf (формат может отличаться в зависимости от сервера):
host hostname {
hardware ethernet mac_address;
fixed-address ip_address;
}Убедитесь, что hostname также присутствует в /etc/hosts или в DNS.
CUPS поддерживает и другие методы подключения, включая LPD, socket (AppSocket/JetDirect) и SMB (для принтеров, расшаренных от Windows‑машин).
Примечание: на некоторых принтерах интерфейс панели позволяет задать статический IP напрямую — это часто проще.
Превращение старого шарика в сетевой принтер
Если принтер старый и подключён только по USB, вы можете превратить любую Linux‑машину (например, Raspberry Pi) в сетевой принт‑сервер. Установите CUPS, подключите принтер и разрешите доступ по сети. После этого другие устройства смогут печатать по IP‑адресу Raspberry Pi.
Резервные и облачные варианты печати
Если ничего не помогает, используйте альтернативы:
- HP ePrint и подобные сервисы дают принтеру e‑mail адрес: отправьте документ на адрес — принтер распечатает его.
- AirPrint (Apple), облачные сервисы производителей и некоторые решения сторонних вендоров позволяют печатать без локальной настройки.
- Печать в PDF и перенос файла на другое устройство для печати наружу.
Преимущество облачных методов — простота и кросс‑платформенность. Недостатки — зависимость от сервиса производителя и вопросы приватности.
Когда всё ломается: типовые сценарии и решения
Important: иногда принтер просто не поддерживается. В таких случаях рассмотрите:
- Попытаться работать на совместимом драйвере из той же серии.
- Использовать универсальные PostScript/PDF драйверы.
- Подключить принтер к Windows/Mac и расшарить через SMB.
- Отправлять задания на печать через промежуточный сервер, где драйвер доступен.
Примеры, когда автоматическое обнаружение не срабатывает:
- Принтер использует проприетарный протокол и не имеет PPD для Linux.
- Сетевые настройки принтера (режим Wi‑Fi, VLAN) мешают его видимости.
- Проблемы с правами доступа или AppArmor/SELinux на стороне хоста CUPS.
Чек‑листы по ролям
Чек‑лист для домашнего пользователя
- Проверить питание, кабели, индикаторы принтера.
- Перезагрузить принтер и ПК.
- Открыть Settings → Printers.
- Если не найдено — открыть localhost:631.
- Попробовать выбрать модель из Foomatic.
- Если есть PPD от производителя, указать его при добавлении.
Чек‑лист для администратора сети
- Проверить доступность принтера по ping и по порту IPP (631).
- Убедиться, что между хостом и принтером нет межсетевых экранов.
- Проверить журналы CUPS (/var/log/cups/error_log) на сообщения об ошибках.
- Закрепить IP через DHCP reservation.
- Рассмотреть разворачивание CUPS‑сервера централизованно и расшаривание принтеров.
Сценарий быстрого устранения неполадок (Runbook)
- Подключение и питание — проверено? Да → далее.
- Ping IP принтера — ответ есть? Нет → проверьте сеть.
- CUPS видит устройство? Да → пробная печать.
- Печать не идёт — посмотреть /var/log/cups/error_log.
- Ошибка драйвера — установить PPD или HPLIP/Gutenprint.
- Всё равно не печатает — временно расшарить принтер через другой хост.
Безопасность и приватность
- Облачные сервисы принтеров могут передавать задания через сервера производителя. Если документ имеет конфиденциальный характер, избегайте передачи его облачным сервисам без политики конфиденциальности, которой вы доверяете.
- Ограничьте доступ к CUPS через локальную сеть и используйте аутентификацию на уровне сервера при необходимости.
- Следите за правами на устройства /dev/usb/… и за политиками AppArmor/SELinux, если печать блокируется политиками безопасности.
Когда не стоит тратить время: признаки тупиковой ситуации
- Производитель давно не поддерживает устройство и не даёт PPD.
- Принтер использует закрытый протокол, а сообщество не нашло обратную совместимость.
- Вложение усилий требует непропорционально большого времени по сравнению с покупкой недорогого совместимого принтера.
В таких случаях быстрее и дешевле купить новую модель, поддерживаемую Linux, чем пытаться обойти аппаратные ограничения.
Полезные утилиты и пакеты
- CUPS — основной сервер печати.
- HPLIP — для многих принтеров HP.
- Gutenprint — набор драйверов для широкого круга моделей.
- OpenPrinting — база совместимости и PPD.
Критерии приёмки
- Принтер появляется в Settings → Printers или в интерфейсе CUPS.
- Тест‑страница печатается без ошибок.
- Печать из приложений (LibreOffice, браузер) проходит успешно.
- При сетевой печати — стабильное соединение и предсказуемое время отклика.
Таблица сравнения подходов (качественно)
- Автоматическое добавление: быстро, удобно, работает для большинства моделей.
- PPD от производителя: точная настройка, требует поиска и установки.
- Облачные сервисы: простота и кросс‑платформенность, но вопросы приватности.
- Расшаривание через другой хост: надёжно, но требует дополнительной машины.
Короткий глоссарий
- CUPS — сервер печати для Unix‑систем.
- PPD — файл описания возможностей принтера.
- IPP — протокол сетевой печати.
- DHCP — протокол назначения IP‑адресов.
Примеры тестов и приёмки
- Тест 1: печать тест‑страницы → успешно в течение 30 с.
- Тест 2: печать PDF 10 страниц → без зависаний и с корректной ориентацией.
- Тест 3: печать по IPP с другого устройства → устанавливается соединение и задание уходит в очередь.
Заключение
Печать на Linux сегодня значительно проще, чем была раньше. Большинство современных принтеров работают «из коробки» через CUPS и базы драйверов. Если устройство не поддерживается, у вас есть набор последовательно применимых опций: поиск PPD, использование универсальных драйверов, настройка CUPS вручную, облачные сервисы или превращение другого устройства в сервер печати. Для системных администраторов полезен сценарий проверки сети и журналов CUPS; для домашних пользователей — чек‑лист и обращение к производителю.
Спасибо за внимание. Расскажите о своём опыте: приходилось ли вам вручную редактировать файлы для печати? Печатали ли вы через Raspberry Pi или использовали облачные e‑mail решения? Поделитесь историями успеха и проблем в комментариях.
Summary:
- CUPS — основа печати в Linux: сначала проверяйте автоматическое обнаружение.
- Если не найдено — ищите PPD в Foomatic или у производителя.
- Для сети используйте IPP (ipp://IP_ADDRESS/printers/NAME) или статический IP через DHCP.
- При проблемах рассмотрите облачные варианты, расшаривание или замену устройства.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента