Подключение принтера к Linux часто вызывает вопросы даже у опытных пользователей. В отличие от Windows или macOS, где драйверы устанавливаются автоматически, в дистрибутивах на базе Linux процесс может потребовать ручных настроек. Эта статья поможет разобраться, как правильно установить локальный принтер через USB, Wi-Fi Direct или Ethernet, избежать типичных ошибок и оптимизировать печать для моделей Canon, HP, Brother и других брендов.

Мы рассмотрим не только базовые шаги через графический интерфейс CUPS (Common Unix Printing System), но и альтернативные методы для серверных версий без GUI, а также способы решения проблем с определением устройства или конфликтами драйверов. Особое внимание уделим совместимости принтеров с открытыми драйверами и проприетарными решениями от производителей.

1. Подготовка системы: проверка совместимости и зависимостей

Прежде чем подключать принтер физически, убедитесь, что ваша система готова к работе с печатными устройствами. Большинство современных дистрибутивов (Ubuntu, Fedora, Debian) включают CUPS по умолчанию, но в минимальных сборках (например, Ubuntu Server или Arch Linux) его может не быть.

Чтобы проверить наличие CUPS, выполните команду:

systemctl status cups

Если служба не активна, установите её:

  • 📦 Debian/Ubuntu: sudo apt install cups
  • 📦 Fedora/RHEL: sudo dnf install cups
  • 📦 Arch Linux: sudo pacman -S cups

После установки запустите службу и добавьте её в автозагрузку:

sudo systemctl enable --now cups
💡

Если вы используете firewall (например, ufw), откройте порт 631 для доступа к веб-интерфейсу CUPS: sudo ufw allow 631.

Также проверьте список поддерживаемых принтеров на сайте OpenPrinting. Например, модели HP LaserJet Pro M404n или Brother HL-L2350DW имеют отличную поддержку открытыми драйверами, тогда как некоторые Canon PIXMA могут требовать проприетарное ПО.

📊 Какой дистрибутив Linux вы используете?
Ubuntu/Debian
Fedora/RHEL
Arch Linux/Manjaro
OpenSUSE
Другой

2. Подключение принтера по USB: базовые шаги

Самый простой способ — подключение через USB. Современные дистрибутивы обычно автоматически определяют устройство, но иногда требуется ручная настройка.

Вот пошаговая инструкция:

  1. Подключите принтер к компьютеру через USB-кабель (используйте порт USB 2.0 для стабильности).
  2. Включите принтер и дождитесь инициализации.
  3. Откройте веб-интерфейс CUPS по адресу http://localhost:631.
  4. Перейдите в раздел Administration → Add Printer.
  5. Выберите ваше устройство из списка (обычно отображается как USB Printer #1 или с названием модели).
  6. Укажите производителя и модель (если автоматически не определилась).
  7. Выберите драйвер из предложенных или загрузите его вручную (об этом ниже).

Подключён оригинальный USB-кабель (не удлинитель)|Принтер включён и готов к работе|На компьютере установлены пакеты cups и foomatic-db|Портативные принтеры (например, Canon Selphy) подключены к источнику питания-->

Если принтер не отображается в списке, выполните:

lsusb

Ищите строку с названием производителя (например, Brother Industries, Ltd). Если устройство не определяется, может потребоваться обновление ядра или установка дополнительных модулей.

Что делать, если принтер не определяется по USB?

Если команда lsusb показывает принтер, но CUPS его не видит, попробуйте:

1. Перезагрузить службу sudo systemctl restart cups.

2. Подключить принтер к другому USB-порту (желательно на задней панели ПК).

3. Проверить права доступа: ls -l /dev/usb/lp* — пользователь должен быть в группе lp.

4. Для старых принтеров (например, HP LaserJet 1020) может потребоваться драйвер foo2zjs.

Если проблема остаётся, изучите логи: journalctl -u cups -f

3. Установка драйверов: открытые vs проприетарные решения

Выбор драйвера зависит от модели принтера и ваших предпочтений. Открытые драйверы (например, gutenprint или foo2zjs) подходят для большинства лазерных принтеров, но для струйных моделей (особенно Canon или Epson) может потребоваться ПО от производителя.

Тип принтера Рекомендуемый драйвер Установка Примечания
Лазерные HP hplip sudo apt install hplip Поддерживает большинство моделей, включая HP LaserJet Pro MFP
Лазерные Brother Драйверы с сайта Brother Скачать .deb/.rpm и установить Требуется указать точную модель (например, HL-L2350DW)
Струйные Canon gutenprint или cnijfilter sudo apt install printer-driver-gutenprint Для PIXMA MG3600 лучше использовать cnijfilter с сайта Canon
Универсальные foomatic-db sudo apt install foomatic-db foomatic-db-gutenprint Подходит для старых моделей без специализированных драйверов

Для установки проприетарных драйверов:

  1. Скачайте драйвер с официального сайта (например, для Brother DCP-L2550DW выберите Linux (deb) или Linux (rpm)).
  2. Распакуйте архив и запустите установщик (обычно ./install.sh).
  3. Перезагрузите службу CUPS.
💡

Для принтеров HP всегда устанавливайте пакет hplip — он включает не только драйверы, но и утилиты для сканирования и обслуживания (например, hp-toolbox).

Важно для струйных принтеров Epson: некоторые модели (например, Epson EcoTank L3250) требуют установки пакета epson-inkjet-printer-escpr вместо универсальных драйверов, иначе печать будет искажённой.

4. Настройка через терминал: альтернатива GUI

Если вы работаете на сервере без графического интерфейса или предпочитаете консоль, настройку можно выполнить через команды lpadmin и lpinfo.

Сначала проверьте доступные принтеры:

lpinfo -v

Затем добавьте принтер (пример для USB):

sudo lpadmin -p HP_LaserJet -E -v usb://HP/LaserJet%20Pro%20M404n -m drv:///sample.drv/generic.ppd

Где:

  • 🔹 -p HP_LaserJet — имя принтера (может быть любым).
  • 🔹 -v usb://... — URI устройства (узнать можно через lpinfo -v).
  • 🔹 -m — путь к PPD-файлу (описание драйвера).

Чтобы сделать принтер по умолчанию:

sudo lpadmin -d HP_LaserJet

Проверьте статус:

lpstat -t
💡

Если вы настраиваете принтер на удалённом сервере, используйте ssh -X для перенаправления GUI-интерфейса CUPS на локальную машину: ssh -X user@server, затем откройте localhost:631 в браузере.

5. Решение распространённых ошибок

Даже после правильной установки могут возникать проблемы. Рассмотрим типичные случаи и способы их устранения.

5.1. Принтер определяется, но не печатает

  • Очередь печати заблокирована: выполните sudo cancel -a и sudo systemctl restart cups.
  • Нет прав на устройство: добавьте пользователя в группу lp:
    sudo usermod -aG lp $USER
  • Неправильный драйвер: удалите принтер в CUPS и добавьте заново с другим PPD.

5.2. Печать идёт, но с артефактами

  • 🖼️ Для струйных принтеров: проверьте настройки качества в драйвере (например, 1200 dpi вместо 600 dpi).
  • 🖼️ Для лазерных: обновите прошивку принтера (для HP используйте hp-firmware).
  • 🖼️ Проблемы с цветами: в настройках CUPS выберите правильный профиль ICC.
Как сбросить очередь печати, если задания зависли?

Если команды cancel -a не помогают, удалите файлы вручную:

1. Остановите CUPS: sudo systemctl stop cups.

2. Удалите файлы из /var/spool/cups/: sudo rm -rf /var/spool/cups/*.

3. Запустите службу заново: sudo systemctl start cups.

⚠️ Не удаляйте папку /var/spool/cups целиком — только её содержимое!

Ошибка "Filter failed" часто возникает из-за несовместимости драйвера с версией Ghostscript. Обновите его:

sudo apt install ghostscript
💡

Если принтер Canon выдаёт ошибку cups-filter, установите пакет printer-driver-c2esp — он содержит фильтры для струйных моделей.

6. Оптимизация печати: настройки по умолчанию и профили

После успешной установки настройте принтер для максимальной эффективности. В CUPS можно задать параметры по умолчанию, такие как:

  • 📄 Двусторонняя печать: включите в настройках принтера (экономит бумагу).
  • 🖨️ Качество печати: для черновиков выберите Fast Draft (300 dpi).
  • 🔄 Ориентация: установите Portraid или Landscape в зависимости от задач.
  • 📦 Источник бумаги: укажите лоток по умолчанию (например, Tray 1).

Чтобы изменить настройки по умолчанию через терминал:

lpoptions -p HP_LaserJet -o Duplex=DuplexNoTumble -o Resolution=600dpi

Для создания профилей печати (например, для фотографий или документов):

  1. В CUPS перейдите в Printers → [Ваш принтер] → Maintainance → Print Test Page.
  2. Сохраните настройки как новый профиль в меню Job Options.

Для струйных принтеров Epson или Canon с системой непрерывной подачи чернил (СНПЧ) настройте профиль ICC через утилиту system-config-printer или вручную загрузите профиль с сайта производителя.

💡

Если вы часто печатаете PDF-файлы, установите пакет poppler-utils для лучшей обработки векторной графики: sudo apt install poppler-utils.

7. Подключение по сети: Wi-Fi и Ethernet

Для сетевых принтеров процесс немного отличается. Рассмотрим два варианта: Wi-Fi Direct и Ethernet.

7.1. Подключение по Wi-Fi

  1. На принтере активируйте режим Wi-Fi Direct (обычно в меню Network Settings).
  2. Запомните SSID и пароль, сгенерированные принтером.
  3. На компьютере подключитесь к этой сети (временное подключение).
  4. Добавьте принтер в CUPS через Add Printer → Network Printer.
  5. Выберите протокол DNSSD (Bonjour) или LPD/LPR.

7.2. Подключение по Ethernet

  1. Соедините принтер с роутером через Ethernet-кабель.
  2. Найдите IP-адрес принтера (обычно печатается на тестовой странице или в меню принтера).
  3. В CUPS выберите Add Printer → Network Printer → LPD/LPR Host or Printer.
  4. Укажите IP в формате lpd://192.168.1.100.

Для принтеров HP с поддержкой AirPrint (например, HP OfficeJet Pro 9015e) можно использовать протокол IPP:

ipp://192.168.1.100/ipp/print
Как найти IP-адрес принтера без дисплея?

Если принтер не имеет экрана (например, Brother HL-L2300D), распечатайте страницу самотестирования:

1. Удерживайте кнопку Go (или Power) 5–10 секунд.

2. На листе будет указан IP-адрес, MAC-адрес и модель.

Если принтер подключён к роутеру, найдите его в списке устройств в веб-интерфейсе роутера.

8. Автоматизация и мониторинг: утилиты для управления печатью

Для упрощения работы с принтерами в Linux существует несколько полезных утилит:

Утилита Назначение Установка Пример использования
system-config-printer Графический интерфейс для CUPS sudo apt install system-config-printer Настройка профилей печати и очередей
hp-toolbox Утилита для принтеров HP (уровень чернил, тесты) Входит в пакет hplip hp-toolbox -p HP_LaserJet
cups-browsed Автоматическое обнаружение сетевых принтеров sudo apt install cups-browsed Запуск: sudo systemctl enable --now cups-browsed
gtklp Альтернативный GUI для CUPS sudo apt install gtklp Удобный интерфейс для управления заданиями

Для мониторинга уровня чернил в струйных принтерах (например, Canon PIXMA или Epson EcoTank) используйте:

sudo apt install ink

Затем запустите:

ink -p [имя_принтера]

Чтобы настроить автоматическое оповещение о низком уровне тонера (для лазерных принтеров), создайте скрипт на bash, который будет проверять статус через snmp (для сетевых моделей) или hp-toolbox (для HP).

💡

Для принтеров Brother установите утилиту brgenml1 для мониторинга расходников: sudo apt install brgenml1. Она поддерживает модели вроде DCP-L2550DW и MFC-L2710DW.

Критическая информация для серверных систем: если принтер подключён к Linux-серверу, настройте доступ для других пользователей сети через CUPS. Для этого отредактируйте /etc/cups/cupsd.conf, добавив строку Allow @LOCAL в секцию <Location />, затем перезапустите службу.

FAQ: Частые вопросы по установке принтеров на Linux

Мой принтер Canon MG3600 определяется, но печатает пустые листы. Что делать?

Эта проблема типична для струйных принтеров Canon при использовании открытых драйверов. Решение:

  1. Удалите текущий принтер в CUPS.
  2. Скачайте официальный драйвер cnijfilter2 с сайта Canon для вашей модели.
  3. Установите его согласно инструкции (обычно ./install.sh).
  4. Добавьте принтер заново, выбрав драйвер от Canon.

Если проблема остаётся, проверьте картриджи — возможно, они не оригинальные или засохли.

Как подключить принтер HP LaserJet Pro M404n по USB, если он не определяется?

Для этой модели требуется пакет hplip с поддержкой plugin:

  1. Установите hplip: sudo apt install hplip.
  2. Запустите hp-setup и следуйте инструкциям.
  3. Если запросит плагин, скачайте его через hp-plugin.

После установки принтер должен определиться как HP LaserJet Pro M404n, hplip 3.22.10.

Можно ли использовать один принтер Brother DCP-L2550DW на нескольких Linux-ПК?

Да, для этого:

  1. Подключите принтер к одному из ПК по USB или к роутеру по Ethernet.
  2. На основном ПК настройте общий доступ в CUPScupsd.conf добавьте Allow @LOCAL).
  3. На других ПК добавьте принтер через IPP (например, ipp://192.168.1.100:631/printers/Brother_DCP).

Для удобства используйте статический IP-адрес для принтера в настройках роутера.

Принтер Epson L3250 печатает с полосами. Как исправить?

Полосы при печати на струйных принтерах Epson обычно связаны с:

  • Засохшими дюзами печатающей головки (запустите очистку через epson-inkjet-printer-utility).
  • Неправильным профилем цвета (установите профиль ICC для вашей бумаги).
  • Низким качеством чернил (используйте оригинальные или сертифицированные СНПЧ).

Также проверьте настройки в драйвере: для фотографий выберите High Quality и 1440 dpi.

Как печатать с Linux на принтер, подключённый к Windows-ПК?

Используйте функцию общего доступа в Windows:

  1. На Windows-ПК откройте Панель управления → Устройства и принтеры.
  2. ПКМ по принтеру → Свойства принтера → Доступ → включите общий доступ.
  3. Запомните имя принтера (например, \\WIN-PC\HP_LaserJet).
  4. На Linux добавьте принтер через SMB в CUPS:
smb://192.168.1.101/HP_LaserJet

Убедитесь, что на Windows включён протокол SMB1.0Включение или отключение компонентов Windows).