Подключение принтера к Linux-системе часто вызывает затруднения у пользователей, привыкших к автоматизированным решениям в Windows или macOS. На самом деле процесс установки драйверов в дистрибутивах на базе Debian, Ubuntu, Fedora или Arch Linux может быть как простым, так и требующим ручной настройки — всё зависит от модели устройства и выбранного метода. В этой статье мы разберём все возможные сценарии: от автоматической установки через CUPS до компиляции проприетарных драйверов для редких моделей.

Особенность Linux заключается в открытой архитектуре, где производители принтеров не всегда предоставляют официальную поддержку. Однако сообщество разработчиков создало универсальные решения, такие как Foo2ZJS для принтеров HP LaserJet, Gutenprint для струйных моделей Canon и Epson, а также встроенные драйвера PostScript для большинства сетевых устройств. Если ваш принтер не определяется автоматически — не спешите отказываться от Linux: в 90% случаев проблему можно решить за 10-15 минут.

Важно понимать, что процесс установки может отличаться в зависимости от:

  • 🖨️ Типа подключения (USB, Wi-Fi, Ethernet)
  • 📄 Производителя и модели (например, Brother DCP-L2550DW требует фирменных драйверов, а HP OfficeJet Pro 9015 поддерживается "из коробки")
  • 🐧 Дистрибутива LinuxUbuntu и Mint есть графические утилиты, а в Arch придётся использовать pacman)
  • 🔄 Версии ядра (новые ядра лучше поддерживают современные принтеры)

1. Проверка совместимости принтера с Linux

Прежде чем приступать к установке, убедитесь, что ваша модель принтера вообще поддерживается в Linux. Для этого:

Используйте базу данных OpenPrinting — официального ресурса, где собраны данные о совместимости тысяч моделей. Перейдите на сайт и введите название вашего принтера. Обратите внимание на статус:

  • "Perfectly" — полная поддержка через открытые драйвера
  • ⚠️ "Mostly" — могут быть мелкие проблемы (например, не работает сканер)
  • "Partially" или "Paperweight" — потребуются проприетарные драйвера или устройство не будет работать

Для принтеров HP проверьте поддержку на сайте HP Linux Imaging and Printing (HPLIP). Например, модели серии HP LaserJet Pro MFP обычно поддерживаются полностью, а старые HP DeskJet 500 могут требовать ручной настройки.

📊 Какой принтер вы используете?
HP
Canon
Epson
Brother
Xerox
Другой

Пример проверки: если у вас Canon PIXMA MG3620, введите эту модель на OpenPrinting. Вы увидите, что устройство поддерживается через драйвер gutenprint, но для полноценной работы сканера потребуется дополнительное ПО SANE.

⚠️ Внимание: Некоторые принтеры (например, Epson EcoTank ET-2750) требуют прошивки при первом подключении. Без неё устройство может не печатать, даже если драйвер установлен. Прошивку обычно можно скачать с сайта производителя.

2. Автоматическая установка драйверов через CUPS

CUPS (Common Unix Printing System) — это стандартная система печати в Linux, которая во многих случаях автоматически определяет и устанавливает драйвера для подключённых принтеров. Вот как ею пользоваться:

Шаг 1. Откройте веб-интерфейс CUPS. Для этого введите в браузере:

http://localhost:631

Если страница не открывается, убедитесь, что служба CUPS запущена. В терминале выполните:

sudo systemctl status cups

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

sudo systemctl start cups

Шаг 2. Перейдите во вкладку Administration → Add Printer. Система предложит ввести логин и пароль (используйте данные вашего пользователя с правами sudo).

Шаг 3. Выберите ваш принтер из списка. Если он подключён по USB, но не отображается:

  • 🔌 Проверьте кабель и порт
  • 🔄 Перезагрузите принтер
  • 🐧 В терминале выполните lsusb, чтобы убедиться, что система видит устройство

Шаг 4. CUPS попробует автоматически подобрать драйвер. Если предложенный вариант не подходит (например, принтер печатает иероглифы вместо текста), выберите драйвер вручную из списка. Для этого:

  1. Нажмите Choose Another Make/Manufacturer
  2. Выберите производителя (например, Epson)
  3. Найдите модель, максимально близкую к вашей (если точной нет, выбирайте с пометкой recommended)

Подключить принтер к USB или сети|Проверить, что принтер включён|Открыть http://localhost:631 в браузере|Ввести логин/пароль пользователя с правами sudo|Выбрать "Add Printer" в разделе Administration-->

Шаг 5. После выбора драйвера настройте параметры по умолчанию (размер бумаги, качество печати) и нажмите Add Printer. Готово! Теперь принтер должен появиться в списке устройств и быть доступен для печати.

⚠️ Внимание: Если после установки принтер печатает пустые листы или выдаёт ошибку Filter failed, скорее всего, выбран неверный драйвер. Попробуйте другой вариант из списка или установите проприетарный драйвер (об этом — в следующем разделе).

3. Установка проприетарных драйверов от производителя

Если автоматическая установка через CUPS не сработала, придётся скачивать драйвера с сайта производителя. Это актуально для принтеров Brother, некоторых моделей Canon и Xerox, а также для МФУ (многофункциональных устройств), где важна работа сканера.

Вот пошаговая инструкция для наиболее популярных брендов:

Производитель Ссылка на драйвера Инструкция по установке Примечания
HP hplipopensource.com
  1. Скачать hplip-*.run
  2. Дать права на выполнение: chmod +x hplip-*.run
  3. Запустить: ./hplip-*.run
Поддерживает большинство моделей HP, включая сканеры
Brother support.brother.com
  1. Скачать .deb или .rpm пакет
  2. Установить: sudo dpkg -i brother-*.deb
  3. Добавить принтер через CUPS
Требует отдельную установку для сканера (brscan*)
Epson epson.com/Support
  1. Скачать .deb/.rpm или архив с драйверами
  2. Распаковать и запустить install.sh
Для струйных принтеров часто хватает gutenprint
Canon canon.ru/support
  1. Скачать .tar.gz архив
  2. Следовать инструкции INSTALL или README
Многие модели работают через cnijfilter

Рассмотрим установку на примере принтера Brother HL-L2350DW:

  1. Скачайте драйвер с официального сайта (выбирайте версию для вашего дистрибутива: .deb для Ubuntu/Debian, .rpm для Fedora/OpenSUSE).
  2. Установите пакет:
    sudo dpkg -i hl1250lpr-*.deb

    Для .rpm используйте:

    sudo rpm -ivh brother-*.rpm
  3. Добавьте принтер через CUPS (как описано в предыдущем разделе), выбрав модель Brother HL-1250 (она совместима с L2350).
  4. Для работы сканера установите пакет brscan4:
  5. sudo dpkg -i brscan4-*.deb
sudo systemctl restart cups

Иногда это помогает "обновить" список доступных устройств.-->

Для принтеров Canon (например, PIXMA MG3600) процесс может быть сложнее:

  1. Скачайте архив с драйверами (обычно это cnijfilter2-*.tar.gz).
  2. Распакуйте его и перейдите в папку:
    tar -xzvf cnijfilter2-*.tar.gz
    

    cd cnijfilter2-*

  3. Запустите установщик:
    sudo ./install.sh
  4. Следуйте инструкциям на экране (возможно, потребуется подключить принтер по USB на этапе настройки).
⚠️ Внимание: Некоторые драйвера от Canon и Epson требуют установки 32-битных библиотек даже на 64-битных системах. Если установщик выдаёт ошибку о недостающих зависимостях, выполните:
sudo apt install lib32z1 lib32ncurses6 lib32stdc++6

(для дистрибутивов на базе Debian/Ubuntu).

4. Установка драйверов через терминал (для опытных пользователей)

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

Шаг 1. Обновите список пакетов и установите базовые инструменты для печати:

sudo apt update && sudo apt install cups printer-driver-all

Для дистрибутивов на базе RHEL (Fedora, CentOS):

sudo dnf install cups system-config-printer

Шаг 2. Подключите принтер и проверьте, определилось ли устройство:

lpinfo -v

Вы должны увидеть строку наподобие:

direct usb://Brother/HL-L2350DW?serial=XXXXXX

Шаг 3. Добавьте принтер в CUPS через командную строку:

sudo lpadmin -p PRINTER_NAME -E -v usb://Brother/HL-L2350DW?serial=XXXXXX -m drv:///brother/hl1250_lpr.ppd

Где:

  • PRINTER_NAME — произвольное имя принтера (например, Brother_L2350)
  • usb://... — путь к устройству (из вывода lpinfo -v)
  • drv:///... — путь к PPD-файлу драйвера (можно найти в /usr/share/ppd/)

Шаг 4. Установите принтер по умолчанию (опционально):

sudo lpadmin -d PRINTER_NAME

Шаг 5. Проверьте статус принтера:

lpstat -t

Если принтер не печатает, проверьте очередь печати:

lpstat -o

При необходимости очистите очередь:

sudo cancel -a
Как найти PPD-файл для принтера?

PPD-файлы (PostScript Printer Description) содержат описание возможностей принтера. Их можно найти:

1. В стандартных папках:

/usr/share/ppd/

/usr/share/cups/model/

2. На сайте производителя (обычно в архиве с драйверами).

3. Сгенерировать через CUPS: после добавления принтера через веб-интерфейс PPD-файл сохраняется в /etc/cups/ppd/.

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

lpinfo -m | grep -i brother

(замените "brother" на вашего производителя).

5. Настройка сетевого принтера (Wi-Fi/Ethernet)

Подключение принтера по сети в Linux требует дополнительных шагов, особенно если устройство не поддерживает протоколы IPP или LPD. Вот универсальная инструкция:

Шаг 1. Убедитесь, что принтер подключён к той же сети, что и ваш компьютер. Найдите его IP-адрес (обычно его можно увидеть на дисплее принтера или распечатать тестовый лист с настройками сети).

Шаг 2. Проверьте связь с принтером:

ping PRINTER_IP

Если пинг не проходит:

  • 🔌 Проверьте сетевой кабель (для Ethernet)
  • 📶 Убедитесь, что принтер подключён к правильной Wi-Fi сети
  • 🔒 Отключите фаервол на компьютере (sudo ufw disable — временно)

Шаг 3. Добавьте сетевой принтер через CUPS:

  1. Откройте http://localhost:631.
  2. Перейдите в Administration → Add Printer.
  3. Выберите Internet Printing Protocol (ipp) или LPD/LPR.
  4. Введите адрес принтера в формате:
    ipp://PRINTER_IP/ipp/port1

    или

    lpd://PRINTER_IP/PRINTER_NAME
  5. Выберите драйвер (как в разделе про автоматическую установку).

Шаг 4. Для принтеров HP с поддержкой HPLIP можно использовать специальную команду:

hp-setup -i

Она запустит мастер настройки сетевого принтера.

Если принтер требует аутентификацию (например, корпоративные устройства Xerox), укажите логин и пароль в адресе:

ipp://USER:PASSWORD@PRINTER_IP/ipp/print
💡

Для сетевых принтеров Brother часто требуется включить протокол LPD в настройках самого принтера (через веб-интерфейс или панель управления). Без этого Linux не сможет к нему подключиться.

6. Решение распространённых проблем

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

Проблема Возможная причина Решение
Принтер не определяется по USB Отсутствует разрешение на доступ к устройству Добавьте пользователя в группу lp:
sudo usermod -aG lp $USER

Перезагрузитесь.

Печать идёт очень медленно Используется универсальный драйвер вместо родного Установите проприетарный драйвер (см. раздел 3).
Принтер печатает пустые листы Неверный драйвер или отсутствует тонер/чернила Проверьте уровень чернил. Попробуйте другой драйвер в CUPS.
Ошибка "Filter failed" Проблемы с PPD-файлом или зависимостями Переустановите драйвер. Проверьте логи CUPS:
tail -f /var/log/cups/error_log
Сканер не работает Не установлено ПО для сканирования (SANE) Установите sane и xsane:
sudo apt install sane xsane

Если принтер определяется, но не печатает, проверьте очередь печати:

lpstat -o

Удалите застрявшие задачи:

sudo cancel -a

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

telnet PRINTER_IP 9100

Если соединение не устанавливается, проверьте настройки фаервола на принтере и компьютере.

Критическая информация: Принтеры Epson с системой непрерывной подачи чернил (СНПЧ) могут требовать сброса счётчиков отпечатков через специальные утилиты (например, epson-inkjet-printer-escpr). Без этого устройство перестанет печатать после достижения лимита страниц, даже если чернила есть.

7. Альтернативные способы печати в Linux

Если установить драйвера не удалось, есть обходные пути:

1. Печать через Windows-машину в сети

Если в вашей сети есть компьютер с Windows, к которому подключён принтер, вы можете печатать с Linux через Samba:

  1. На Windows-машине включите общий доступ к принтеру.
  2. На Linux установите samba и smbclient:
    sudo apt install samba smbclient
  3. Добавьте принтер через CUPS, выбрав Windows Printer via SAMBA.
  4. Введите адрес в формате:
    smb://WINDOWS_IP/PRINTER_NAME

2. Использование Google Cloud Print (альтернатива)

Хотя Google Cloud Print официально закрыт, есть альтернативы вроде Paperless или CUPS Cloud Print. Например, для печати с мобильных устройств:

  1. Установите cups-cloud-print:
    sudo apt install cups-cloud-print
  2. Зарегистрируйте принтер в сервисе через веб-интерфейс CUPS.

3. Печать в PDF с последующей передачей на другой компьютер

Если принтер подключён к другому устройству, можно экспортировать документ в PDF и распечатать его там. В большинстве Linux-программ (LibreOffice, GIMP) есть опция "Печать в файл".

4. Виртуальные машины

Установите Windows в виртуальную машину (например, VirtualBox) и подключите принтер к ней через USB. Это актуально для старых моделей, которые не поддерживаются в Linux.

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

Мой принтер определяется, но печатает иероглифы вместо текста. Что делать?

Эта проблема возникает из-за неверного драйвера. Попробуйте:

  1. В CUPS выберите другой драйвер для вашей модели (например, вместо Foo2ZJS попробуйте PostScript).
  2. Установите проприетарный драйвер с сайта производителя.
  3. Проверьте кодировку документа (иногда помогает сохранение файла в UTF-8).

Для принтеров HP также может помочь переустановка hplip с флагом --force.

Как установить драйвера для принтера Canon PIXMA MG2540S в Ubuntu 22.04?

Эта модель поддерживается через драйвера cnijfilter2:

  1. Скачайте драйвер с сайта Canon (выбирайте версию для Linux).
  2. Распакуйте архив и запустите установщик:
    tar -xzvf cnijfilter2-*.tar.gz
    

    cd cnijfilter2-*/

    sudo ./install.sh

  3. Подключите принтер по USB и добавьте его через CUPS.

Если сканер не работает, установите sane и xsane.

Принтер Brother DCP-T425W подключён по Wi-Fi, но Linux его не видит. Что делать?

Проблема может быть в отключённом протоколе LPD:

  1. Зайдите в веб-интерфейс принтера (обычно http://PRINTER_IP).
  2. Включите LPD Print в настройках сети.
  3. Добавьте принтер в CUPS через адрес lpd://PRINTER_IP/BINARY_P1.

Также убедитесь, что принтер и компьютер находятся в одной подсети.

Можно ли использовать один принтер одновременно с Windows и Linux?

Да, если принтер подключён к сети (Wi-Fi или Ethernet). Настройте его как сетевой на обоих компьютерах. Для USB-принтера потребуется:

  1. Подключить его к одному из компьютеров.
  2. На этом компьютере включить общий доступ к принтеру (в Windows или через Samba в Linux).
  3. На втором компьютере добавить принтер как сетевой.

Обратите внимание: одновременно печатать с двух машин не получится — принтер будет занят одной задачей.

Как обновить драйвера принтера в Linux?

Способ обновления зависит от типа драйвера:

  • 🔄 Открытые драйвера (из репозиториев): обновите систему:
    sudo apt update && sudo apt upgrade
  • 📦 Проприетарные драйвера:
    1. Удалите старую версию.
    2. Скачайте новую с сайта производителя.
    3. Установите её (см. раздел 3).
  • 🖨️ Драйвера CUPS: перезапустите службу:
    sudo systemctl restart cups
  • Перед обновлением проверьте, не сломается ли текущая конфигурация. Например, для HPLIP можно использовать:

    hp-check -r