Как печатать на принтере в Linux: USB и сетевая настройка

Современный Linux в большинстве случаев «просто печатает». Будь то подключение по USB или по сети — многие модели обнаруживаются автоматически: система подхватывает драйверы, регистрирует устройство и вы уже можете отправлять задания на печать. Тем не менее, иногда автоматической магии не происходит: модель принтера редкая, производитель не предоставил PPD под Linux или сеть настроена нестандартно.
Ниже — подробное практическое руководство: как работает печать в Linux, где искать PPD-драйверы, как добавить сетевой принтер и какие есть быстрые запасные варианты.
Технический фон
В большинстве дистрибутивов печать реализована через CUPS (Common Unix Printing System). CUPS — это демон и набор инструментов, которые принимают данные из приложений, обрабатывают их (фильтры/форматы) и отправляют на устройство печати. CUPS использует протокол IPP (Internet Printing Protocol) для взаимодействия с сетевыми принтерами и поддерживает локальные подключения по USB/серийному порту.
Вы можете управлять принтерами через настройки рабочего стола (обычно Раздел “Принтеры”), а также через веб-интерфейс CUPS по адресу http://localhost:631 — он даёт те же опции вне зависимости от окружения рабочего стола.
Как всё должно работать
Идеальный сценарий — подключили принтер, открыли документ, выбрали устройство в списке и нажали «Печать». Чтобы проверить, добавился ли принтер автоматически, откройте меню Системные настройки → Принтеры. В списке слева должна появиться модель вашего устройства.
Важно: многие современные принтеры поддерживают автоматические протоколы обнаружения (mDNS/Bonjour/Avahi), поэтому они появляются без ручной настройки.
Установка драйвера (PPD)
Если система не обнаружила устройство, вероятно, нужно вручную указать PPD-файл — PostScript Printer Description. PPD описывает возможности принтера (форматы бумаги, разрешения, duplex и т. д.) и используется CUPS для правильной обработки заданий.
Ниже — основные пути получения подходящего PPD.
Использование базы Foomatic
Многие дистрибутивы включают базу свободных драйверов Foomatic (иногда её называют «Foomatic»). Это коллекция генераторов PPD и таблиц соответствия моделей. На Ubuntu и других дистрибутивах процесс примерно такой:
- Откройте Системные настройки → Принтеры.
- Нажмите “+” или «Добавить».
- Выберите порт (USB, серийный или сетевой) и нажмите «Далее».
- Выберите производителя и модель из списка — если точной модели нет, попробуйте ближайшую по серии.
Совет: иногда драйвер для «близкой» модели работает корректно — особенно для одинаковых механизмов печати у принтеров одной линейки.
Установка PPD от производителя
Если Foomatic не содержит нужного профиля, посетите сайт производителя — многие поставляют PPD-файлы или пакеты для Linux. Примеры дополнительных решений:
- HP — HPLIP (Linux Imaging and Printing) предоставляет драйверы и утилиты для большинства принтеров HP.
- Brother — на сайте Brother часто есть DEB/RPM-пакеты и инструкции по установке.
Если на сайте производителя нет Linux-драйверов, попробуйте базу OpenPrinting от проекта Linux Foundation / community — там часто есть советы и альтернативные PPD.
Добавление сетевого принтера через CUPS
Если ваш принтер подключён к сети, он может появиться в списке автоматически. Если нет — добавьте его вручную через веб-интерфейс CUPS:
- Откройте http://localhost:631 в браузере.
- Перейдите на вкладку Administration (Администрирование).
- Нажмите Add Printer (Добавить принтер). CUPS запросит права root/администратора.
- В списке выберите Network Printer или Internet Printing Protocol.
- Введите URL принтера в формате:
ipp://ip_address/printer/printer_nameЗамените ip_address и printer_name на реальные значения.
Важно: многие устройства позволяют задать статический IP в их настройках; если вы хотите закрепить IP на уровне DHCP-сервера, добавьте соответствующее правило в конфигурацию DHCP (пример ниже — для ISC dhcpd):
host hostname {
hardware ethernet mac_address;
fixed-address ip_address;
}
После того как принтер будет доступен по IP, вернитесь в CUPS и укажите PPD/драйвер. Если вы не знаете модель, попробуйте lpinfo -m и lpinfo -v для поиска доступных драйверов и устройств.
Команды-открыватель для терминала:
lpstat -p -d # список принтеров и текущий принтер
lpinfo -v # список доступных устройств
lpinfo -m # список доступных драйверов/PPD
sudo lpadmin -p NAME -E -v uri -P /path/to/ppd.ppd # добавить принтер
sudo systemctl status cups # состояние сервиса CUPSЕсли ваш принтер старый и подключён только по USB к одному компьютеру, вы можете превратить этот компьютер (или Raspberry Pi) в сетевой принт-сервер: настроить CUPS на нём, включить шаринг принтера и подключаться к нему как к сетевому устройству.
Неприятные случаи и как с ними работать
Важно: бывают модели, для которых нет PPD или драйверов под Linux. В таких случаях возможны варианты:
- Использовать совместимый драйвер (драйвер для близкой модели). Иногда базовый драйвер Generic PostScript или Generic PCL работает.
- Использовать производителя программного обеспечения (например HPLIP) или дополнительные пакеты от сообщества.
- Превратить другой компьютер в промежуточный сервер печати (Windows/old Mac), который принимает задания и пересылает на принтер.
- Печатать в PDF и распечатывать на устройстве, где принтер поддерживается.
Надёжный запасной план
Если локальная настройка невозможна или вам нужно печатать с разных устройств без долгой настройки, можно воспользоваться облачными решениями:
- HP ePrint и аналогичные сервисы печатают по электронной почте: принтер имеет свой e-mail и распечатывает все вложения.
- AirPrint (на базе Bonjour/mDNS) позволяет печатать с macOS и iOS без установки драйверов — некоторые сторонние решения эмулируют AirPrint для Linux-серверов.
- Сторонние облачные сервисы печати и приложения от производителя.
Примечание: облачные опции зависят от стороннего сервиса — учитывайте конфиденциальность и задержки в доставке заданий.
Быстрый чек-лист для разных ролей
Для рядового пользователя
- Подключите принтер по USB или добавьте в сеть через панель управления принтера.
- Откройте Системные настройки → Принтеры и проверьте появление устройства.
- Попробуйте распечатать тестовую страницу.
- Если не работает — используйте диалог добавления и выберите «Generic» или ближайшую модель.
Для системного администратора
- Проверьте состояние службы CUPS: sudo systemctl status cups.
- Соберите список устройств: lpinfo -v.
- Найдите подходящий PPD: lpinfo -m или на сайте производителя / OpenPrinting.
- При необходимости закрепите IP на уровне DHCP/hosts и проверьте доступность по ping/ipp.
Для продвинутого пользователя/разработчика
- Используйте lpadmin для скриптового добавления принтеров.
- Настройте журналирование и уровни логов CUPS (/var/log/cups) для отладки.
- Рассмотрите использование контейнера/VM с преднастроенной версией драйверов для изоляции.
Чек-лист при проблемах — пошагово
- Убедитесь, что кабель/питание/индикаторы на принтере в порядке.
- Проверьте, видит ли ОС устройство: lpinfo -v и dmesg | tail.
- Перезапустите CUPS: sudo systemctl restart cups.
- Попробуйте Generic PPD (PostScript/PCL).
- Проверьте сетевое соединение: ping ip_address, curl http://ip_address:631.
- Если устройство сетевое и не отвечает — посмотрите настройки сети принтера (LCD/веб-интерфейс).
- Если ничего не помогает — временно печатайте в PDF и используйте альтернативный компьютер/сервис.
Советы и эвристики
- Правило 80/20: чаще всего 80% обычных задач решаются стандартным PPD или Generic драйвером. Тратить много времени стоит, если принтер критичен.
- Если модель одной серии у вас работает, вероятно, драйвер подойдёт и для близких моделей той же линейки.
- Для массовых деплоев используйте заранее подготовленный PPD и сценарии lpadmin, чтобы избежать ручной настройки на каждой машине.
Сочетание совместимости и миграции
- HPLIP и драйверы Brother часто обновляются — проверьте поддержку для вашей версии дистрибутива.
- OpenPrinting предоставляет рекомендации по совместимости по моделям — полезно перед покупкой нового устройства.
Мини-методология добавления принтера (SOP)
- Определите тип подключения: USB или сеть.
- Попробуйте автоматическое обнаружение через настройки рабочего стола.
- Если не обнаружено — введите IP вручную через CUPS или lpadmin.
- Подберите PPD: сначала Foomatic, потом сайт производителя, затем OpenPrinting.
- Тестовая печать, проверка duplex/качества, фиксация в документации инфраструктуры.
Мозаика совместимости
- Универсальные профили PostScript/PCL работают чаще всего для текстовой печати.
- Сканирование и специальные функции (fax, облачная интеграция) чаще всего требуют фирменного ПО.
- Если важны скан и специализированные возможности — выбирайте принтеры с официальной поддержкой Linux.
Краткая таблица-резюме (вместо тяжёлой матрицы)
- Автоматическая настройка: высокая вероятность для популярных моделей.
- Foomatic: первый шаг при отсутствии автоматического драйвера.
- PPD от производителя: лучший результат для функций принтера.
- CUPS: центральный инструмент для сетевой настройки.
- Облачные решения: запасной вариант для межплатформенной печати.
Глоссарий в одну строку
- CUPS — сервер печати в Unix-подобных системах.
- PPD — файл описания возможностей принтера.
- IPP — сетевой протокол печати (Internet Printing Protocol).
- mDNS/Bonjour/Avahi — протоколы нулевой конфигурации для обнаружения устройств.
Критерии приёмки
- Принтер отображается в Системных настройках → Принтеры.
- Удачная тестовая печать (страница с диагностикой).
- Доступность печати по IP с другого хоста (для сетевых принтеров).
- Поддержка основных функций (duplex, нужные форматы бумаги) или документированная причина их отсутствия.
Когда решения не работают
- Если для модели нет PPD и нет совместимых драйверов, функциональность может быть ограничена.
- Некоторые проприетарные функции (встроенная отправка факсов, сканирование с автоподачей) могут не работать без фирменного ПО.
- В корпоративных сетях печать может быть заблокирована политиками — проверьте ACL и брандмауэры.
Заключение
Принтеры всё ещё вызывают раздражение, но экосистема Linux шагнула далеко вперёд: большинство современных моделей работают «из коробки», а для тех, кто не попадает в этот список, есть последовательный набор шагов — Foomatic, PPD от производителя, CUPS и облачные запасные варианты. Если вы регулярно администрируете принтеры, автоматизируйте добавление через lpadmin и документируйте используемые PPD и URI.
Важно: если вы столкнулись с моделью, требующей ручного редактирования конфигураций, это отличный кейс для обмена опытом — опишите модель и шаги, которые вам помогли.
Поделитесь своей историей: приходилось ли вам вручную править файлы для печати? Был ли у вас принтер, с которым Linux «не поладил»? Или всё работало с первого раза? Напишите о своём опыте, чтобы помочь другим.
Похожие материалы
Скидки Amazon Prime в Whole Foods — как получить
OneNote как вики: настройка и совместная работа
Snapchat на Windows: как установить и что важно
Сочетания клавиш Windows — ускорьте работу
Как сменить пароль в Unix и Linux