Как подключить принтер в Linux: CUPS, драйверы и сканирование на МФУ
Подключить принтер в Linux обычно можно без драйвера: CUPS находит сетевые и USB-модели с поддержкой IPP Everywhere или AirPrint и печатает сразу. Ниже установка и настройка CUPS в Ubuntu, Fedora и Arch, три способа добавить принтер, пакеты драйверов для старых моделей, сканер на МФУ через SANE и разбор ситуаций, когда ничего не печатается.

Содержание
Как в Linux устроена печать
Всей печатью в Linux заведует CUPS, сервер печати от проекта OpenPrinting. Программы отдают ему документ, он ставит задание в очередь, преобразует файл в язык, понятный конкретному принтеру, и отправляет его по USB или по сети. Графические настройки принтеров в GNOME и KDE Plasma всего лишь удобная оболочка над CUPS.
За последние годы поменялась главная вещь: большинству современных принтеров драйвер больше не нужен. Устройства с поддержкой IPP Everywhere, AirPrint или Mopria сами сообщают CUPS свои возможности, и печать работает "без драйвера" (driverless). Почти все сетевые и Wi-Fi модели, выпущенные с середины 2010-х, умеют это. USB-принтеры с поддержкой IPP-over-USB работают так же через службу ipp-usb.
Классические драйверы с PPD-файлами остались для старых и бюджетных моделей. В OpenPrinting их постепенно переводят в формат Printer Applications, а будущие версии CUPS откажутся от PPD. Для пользователя это означает простое правило: сначала пробуйте driverless, драйвер ищите, только если он не сработал.
Установка и запуск CUPS
В Ubuntu, Linux Mint и Fedora с рабочим столом CUPS уже стоит и запущен. Проверить:
systemctl status cups
lpstat -r
Ответ scheduler is running означает, что сервер работает. На минимальной установке Debian или в Arch поставьте нужное сами. Для поиска сетевых принтеров нужен Avahi (mDNS), без него CUPS их не увидит.
# Debian / Ubuntu
sudo apt install cups cups-browsed avahi-daemon ipp-usb system-config-printer
# Fedora
sudo dnf install cups ipp-usb avahi system-config-printer
# Arch Linux
sudo pacman -S cups cups-browsed avahi nss-mdns ipp-usb system-config-printer
sudo systemctl enable --now cups.service avahi-daemon.service
В Arch для разрешения имён вида printer.local ещё нужно добавить mdns_minimal [NOTFOUND=return] в строку hosts файла /etc/nsswitch.conf перед resolve и dns, подробности в статье CUPS в ArchWiki. Если вы не знаете, как работать со службами, загляните в статью про systemctl.
Права на управление принтерами
Добавлять и удалять принтеры могут члены административной группы. В Debian и Ubuntu это lpadmin, в Fedora и Arch обычно хватает wheel. Добавить себя и перелогиниться:
sudo usermod -aG lpadmin $USERКак подключить принтер в Linux: три способа
Через настройки рабочего стола
Самый короткий путь. Подключите принтер кабелем или к той же Wi-Fi сети и откройте Настройки, Принтеры в GNOME или Параметры системы, Принтеры в KDE Plasma. Часто принтер уже появился в списке сам: cups-browsed и driverless-режим сделали всё без вас. Если нет, нажмите "Добавить", выберите устройство из найденных и отправьте пробную страницу. Утилита system-config-printer делает то же самое и даёт больше настроек.
Через веб-интерфейс CUPS
Работает в любом дистрибутиве и на сервере без графики (через SSH-туннель). Откройте в браузере http://localhost:631, вкладка Administration, Add Printer. CUPS спросит логин и пароль: это ваш обычный пользователь из группы lpadmin. Выберите принтер из списка обнаруженных, на шаге выбора модели укажите вариант с пометкой driverless или IPP Everywhere, если он есть.
Из терминала
Сначала посмотрите, что видит CUPS, потом создайте очередь. Модель everywhere означает driverless-печать:
lpinfo -v
driverless
sudo lpadmin -p Office -E -v "ipp://192.168.1.50/ipp/print" -m everywhere
lpoptions -d Office
lp -d Office /usr/share/cups/data/testprint
Ключ -p задаёт имя очереди, -E включает её, -v адрес устройства, -d у lpoptions делает принтер умолчательным. Команда driverless из пакета cups-filters выводит адреса всех принтеров в сети, которые умеют печатать без драйвера.
Драйвер принтера в Ubuntu и других дистрибутивах
Если принтер старый, подключён по USB без IPP-over-USB или в списке моделей нет driverless, понадобится драйвер. Большинство открытых драйверов собраны в пакеты дистрибутива:
| Производитель | Debian / Ubuntu | Fedora | Arch Linux |
|---|---|---|---|
| HP (почти все модели, плюс сканеры) | hplip, hplip-gui | hplip, hplip-gui | hplip |
| Epson струйные | printer-driver-escpr | epson-inkjet-printer-escpr | AUR: epson-inkjet-printer-escpr |
| Brother лазерные | printer-driver-brlaser | printer-driver-brlaser | AUR: brlaser |
| Canon, Epson, Lexmark и другие старые модели | printer-driver-gutenprint | gutenprint-cups | gutenprint |
Для HP удобнее всего мастер из HPLIP: hp-setup -i в терминале или hp-setup с графикой. Он сам найдёт устройство, поставит нужный PPD, а для некоторых моделей докачает закрытый плагин.
Brother, Canon (UFR II), Kyocera и Pantum выпускают собственные пакеты .deb и .rpm на сайтах поддержки. Берите их только с официального сайта производителя, ищите по точной модели. Если пакет есть только в .deb, а у вас Fedora, сначала поищите аналог в репозиториях. Как вообще ставить программы из разных источников, рассказано в статье установка программ в Linux.
Найти подходящий драйвер среди уже установленных помогает lpinfo -m | grep -i модель. Совместимость конкретной модели заранее можно проверить в базе OpenPrinting.
МФУ и сканер через SANE
У МФУ печать и сканирование работают раздельно: принтерной частью занимается CUPS, сканером занимается SANE. Для современных сетевых МФУ есть свой аналог driverless, бэкенд sane-airscan с протоколами eSCL (AirScan) и WSD. Ставим его вместе с утилитами:
# Debian / Ubuntu
sudo apt install sane-airscan sane-utils simple-scan
# Fedora
sudo dnf install sane-airscan sane-backends simple-scan
# Arch Linux
sudo pacman -S sane sane-airscan simple-scan
Проверка из терминала:
scanimage -L
airscan-discover
Первая команда показывает все сканеры, которые видит SANE, вторая только сетевые по eSCL и WSD. Если устройство в списке, сканируйте программой Document Scanner (simple-scan) в GNOME или Skanpage в KDE Plasma. Для тонкой настройки разрешения и цвета есть XSane.
МФУ HP сканируют через бэкенд из hplip, отдельно ничего ставить не нужно. Brother, Canon и Epson для старых USB-моделей предлагают свои пакеты (у Brother это brscan, у Epson сейчас Epson Scan 2) на сайте поддержки. Если USB-сканер виден через sudo scanimage -L, а без sudo нет, не хватает прав на устройство: добавьте себя в группу scanner, где она есть, и перелогиньтесь.
Сетевой принтер и общий доступ
Принтер, подключённый к одному компьютеру по USB, можно открыть остальным в сети средствами самого CUPS:
sudo cupsctl --share-printers
sudo lpadmin -p Office -o printer-is-shared=true
Другие Linux-машины и macOS увидят его через mDNS автоматически. Если включён файрвол, откройте порт 631/tcp и mDNS (5353/udp), для UFW это описано в статье настройка UFW. Компьютерам с Windows удобнее подключать такой принтер по адресу http://имя-компьютера:631/printers/Office через добавление принтера по URL. Классический вариант через SMB описан в статье общая папка Samba, там же настраивается доступ для Windows.
Если вы печатаете на чужой сетевой принтер в офисе, а он не находится автоматически, узнайте у администратора его IP-адрес и добавьте вручную с адресом ipp://адрес/ipp/print. Старые модели без IPP подключаются через socket://адрес:9100 (AppSocket, он же JetDirect) с драйвером из таблицы выше.
Принтер не печатает: что проверить
Задания висят или исчезают без следа: начните с очереди и журнала.
lpstat -t
cancel -a
sudo cupsenable Office
journalctl -u cups -b --no-pager | tail -n 50
lpstat -t показывает состояние всех очередей. Слово disabled означает, что CUPS приостановил принтер после ошибки, cupsenable возвращает его в строй. Для подробного лога временно включите отладку: sudo cupsctl --debug-logging, повторите печать и выключите обратно через sudo cupsctl --no-debug-logging.
- Печатаются иероглифы или пустые листы. Выбран не тот драйвер. Удалите очередь (
sudo lpadmin -x Office) и создайте заново с driverless или правильным драйвером. - Принтер виден дважды. Одна запись от cups-browsed, вторая созданная вручную. Оставьте ту, что работает, лишнюю удалите.
- USB-принтер не появляется в lpinfo -v. Проверьте кабель и
lsusb. Если модель поддерживает IPP-over-USB, убедитесь, что служба ipp-usb работает. - Сетевой принтер не находится. Компьютер и принтер должны быть в одной подсети, avahi-daemon запущен, mDNS не режется файрволом или роутером в гостевой сети.
Прежде чем ставить драйвер с сайта производителя, удалите автоматически созданную очередь и попробуйте добавить принтер заново с моделью IPP Everywhere. Чаще всего проблема "Linux не дружит с принтером" решается именно так, без закрытых пакетов, которые потом ломаются при обновлении системы.
Частые вопросы
Нужен ли драйвер для принтера в Ubuntu?
Для большинства моделей, выпущенных за последние десять лет, нет. Если принтер поддерживает IPP Everywhere, AirPrint или Mopria, CUPS печатает на него без драйвера. Драйвер нужен старым и некоторым бюджетным моделям.
Какой логин спрашивает localhost:631?
Это учётная запись вашего пользователя в Linux. Пользователь должен входить в группу lpadmin (Debian, Ubuntu) или wheel (Fedora, Arch).
Как удалить принтер из CUPS?
В настройках рабочего стола или командой sudo lpadmin -x имя_очереди. Список имён очередей показывает lpstat -p.
Почему МФУ печатает, а сканер не находится?
Сканер обслуживает SANE, а не CUPS. Поставьте sane-airscan для сетевых МФУ или hplip для HP и проверьте командой scanimage -L.
Можно ли печатать с Linux на принтер, подключённый к Windows?
Да, через общий доступ Windows по SMB или, если принтер сетевой, напрямую по его IP-адресу через IPP. Второй вариант надёжнее и не зависит от включённого компьютера с Windows.
Документация и источники
- CUPS documentation, OpenPrinting, 2026
- CUPS, ArchWiki, 2026
- SANE, ArchWiki, 2026
- sane-airscan, alexpevzner/sane-airscan, 2026
Читайте также
- Общая папка Samba: настройка в Ubuntu и подключение из Windows 11
- Как установить программу в Linux: все способы с примерами
- systemctl в Linux: управление службами и автозагрузкой
- Linux Mint после установки: обновления, драйверы, Timeshift и настройка Cinnamon
- Bluetooth в Linux: подключить наушники через bluetoothctl и настроить кодек
Команды проверены на актуальных версиях дистрибутивов на момент обновления. Перед изменением системных настроек сделайте резервную копию.