Astra Linux — российская операционная система на базе ядра Linux, широко используемая в госсекторе, бизнесе и образовательных учреждениях. Несмотря на её надежность и безопасность, многие пользователи сталкиваются с трудностями при подключении периферийных устройств — особенно принтеров. В отличие от Windows, где драйверы часто устанавливаются автоматически, в Linux-системах этот процесс требует ручной настройки или использования специализированных утилит.

В этой статье вы найдёте пошаговую инструкцию по установке драйверов для принтеров различных брендов (HP, Canon, Epson, Brother и др.) на Astra Linux (включая версии Common Edition, Special Edition и Corporate). Мы рассмотрим как стандартные методы через CUPS и foo2zjs, так и альтернативные решения для устройств без официальной поддержки. Особое внимание уделено совместимости с отечественным ПО и особенностям работы в защищённых средах (например, с включённым SELinux).

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

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

Прежде чем приступать к установке драйвера, необходимо убедиться, что ваша система готова к подключению принтера. На этом этапе мы проверим:

  • 🔌 Поддержку модели принтера в базе данных OpenPrinting (официальный каталог драйверов для Linux).
  • 📦 Наличие пакетов для управления печатающими устройствами (cups, foomatic, hplip и др.).
  • 🔒 Права пользователя: установка драйверов требует прав root или использования sudo.
  • 🖨️ Тип подключения: USB, сетевой (Ethernet/Wi-Fi) или через LPD/LPR.

Для начала обновите список пакетов и установите базовые утилиты. Откройте терминал (Ctrl+Alt+T) и выполните:

sudo apt update && sudo apt upgrade -y

sudo apt install cups foomatic-db foomatic-db-engine

Если вы используете Astra Linux Special Edition с усиленной защитой, возможно, потребуется временно отключить SELinux или добавить исключения для CUPS. Для этого выполните:

sudo setenforce 0
⚠️ Внимание: Отключение SELinux снижает уровень безопасности системы. После установки драйвера верните параметр в исходное состояние командой sudo setenforce 1.
📊 Какой тип принтера вы подключаете?
Лазерный (HP, Brother)
Струйный (Canon, Epson)
МФУ (многофункциональное устройство)
Сетевой принтер
Другой

2. Установка драйвера через CUPS (рекомендуемый метод)

CUPS (Common Unix Printing System) — стандартная система печати в Linux, поддерживаемая Astra Linux. Она позволяет управлять принтерами через веб-интерфейс или командную строку. Рассмотрим оба варианта.

2.1. Настройка через веб-интерфейс CUPS

1. Запустите службу CUPS (если она не активна):

sudo systemctl start cups

sudo systemctl enable cups

2. Откройте браузер и перейдите по адресу:

http://localhost:631

3. В разделе Administration выберите Add Printer. Система запросит логин и пароль — используйте учётные данные root или пользователя с правами sudo.

4. Выберите ваш принтер из списка обнаруженных устройств. Если принтер не отображается:

  • 🔌 Для USB: проверьте подключение кабеля и выполните lsusb в терминале.
  • 🌐 Для сетевого принтера: укажите IP-адрес вручную (формат: socket://192.168.1.100).

5. На этапе выбора драйвера:

  • 📄 Если ваша модель есть в списке — выберите её и завершите настройку.
  • ⚙️ Если модели нет — выберите GenericPostScript Printer (для лазерных) или Generic Text-Only Printer (для струйных).

Проверено подключение принтера (USB/сеть)

Запущена служба CUPS (systemctl status cups)

Открыт порт 631 в брандмауэре (sudo ufw allow 631)

Готовы учётные данные администратора-->

2.2. Установка драйвера через командную строку

Если веб-интерфейс недоступен (например, в серверной версии Astra Linux), используйте терминал. Пример для принтера HP LaserJet P1102:

sudo lpadmin -p HP_LaserJet_P1102 -E -v usb://HP/LaserJet%20P1102 -m drv:///sample.drv/hl1250.ppd

Где:

  • -p — имя принтера (произвольное).
  • -v — URI устройства (для USB используйте lsusb, для сети — socket://IP:9100).
  • -m — модель драйвера (список доступных: lpinfo -m | less).
💡

Если принтер не определяется по USB, попробуйте отключить его, выполнить sudo usermod -aG lpadmin $USER, перезагрузить систему и подключить принтер заново.

3. Драйверы для популярных брендов: HP, Canon, Epson, Brother

Производители принтеров по-разному относятся к поддержке Linux. Ниже — актуальные способы установки драйверов для самых распространённых брендов.

Бренд Рекомендуемый пакет Команда установки Примечания
HP hplip sudo apt install hplip hplip-gui Поддерживает большинство лазерных и струйных принтеров HP. После установки запустите hp-setup.
Canon cnijfilter2 или gutenprint sudo apt install cnijfilter2 (для струйных)
sudo apt install printer-driver-gutenprint
Для новых моделей может потребоваться загрузка драйверов с официального сайта.
Epson epson-inkjet-printer-escpr или epson-printer-utility sudo apt install printer-driver-escpr Для МФУ установите дополнительно iscan для сканирования.
Brother Фирменные .deb-пакеты Скачайте с сайта Brother и установите через dpkg -i Требуется ручная установка зависимостей (sudo apt --fix-broken install).

Для принтеров Xerox, Kyocera или Ricoh используйте универсальные драйверы foo2zjs или pxljr:

sudo apt install printer-driver-foo2zjs printer-driver-pxljr
⚠️ Внимание: Некоторые модели принтеров (например, Canon PIXMA G-series или Epson EcoTank) могут требовать проприетарные драйверы, которые не входят в стандартные репозитории Astra Linux. В этом случае скачивайте ПО только с официальных сайтов производителей!

4. Решение проблем: принтер не печатает или определяется неправильно

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

4.1. Принтер не отображается в списке устройств

  • 🔌 Проверьте физическое подключение: для USB выполните dmesg | grep usb — должна появиться строка с названием модели.
  • 🔄 Перезагрузите службу CUPS:
    sudo systemctl restart cups
  • 📡 Для сетевых принтеров: убедитесь, что принтер и компьютер находятся в одной подсети. Проверьте ping:
    ping 192.168.1.100

4.2. Документ отправляется на печать, но не печатается

  • 📄 Проверьте очередь печати:
    lpstat -a

    Если принтер отображается как not accepting jobs, разблокируйте его:

    sudo cupsaccept <имя_принтера>
  • 🔧 Очистите очередь:
    sudo cancel -a
  • 📋 Проверьте права доступа: пользователь должен входить в группу lpadmin:
    groups $USER

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

    sudo usermod -aG lpadmin $USER

4.3. Некорректная печать (искажённые символы, пустые листы)

Проблема часто связана с неверным драйвером. Попробуйте:

  1. Удалите текущий принтер:
    sudo lpadmin -x <имя_принтера>
  2. Добавьте заново, выбрав другой драйвер (например, Generic PCL 6 вместо PostScript).
  3. Для струйных принтеров Epson или Canon установите пакет gutenprint:
    sudo apt install printer-driver-gutenprint
Что делать, если принтер печатает пустые листы?

Эта проблема характерна для струйных принтеров с засорёнными дюзами. В Linux её можно решить двумя способами:

1. Программная прочистка: некоторые модели поддерживают команду прочистки через escputil (для Epson):

escputil -i -r

2. Ручная прочистка: отключите принтер, извлеките картриджи и промойте сопла дистиллированной водой (для водорастворимых чернил) или специальной жидкостью. Не используйте спирт или ацетон!

Если проблема сохраняется, проверьте уровень чернил и замените картриджи при необходимости.

5. Альтернативные методы: установка драйверов вручную

Если ваш принтер не поддерживается стандартными пакетами, придётся устанавливать драйвер вручную. Этот метод подходит для редких моделей или устройств без официальной поддержки Linux.

5.1. Установка из PPM/DEB-пакетов

Многие производители (например, Brother или Samsung) предоставляют драйверы в формате .deb или .rpm. Для Astra Linux (на базе Debian) подойдут .deb-пакеты.

Пример для принтера Brother HL-L2350DW:

  1. Скачайте драйвер с официального сайта (раздел Linux).
  2. Распакуйте архив и перейдите в папку с драйвером:
    tar -xvf linux-brprinter-driver-*.gz
    

    cd linux-brprinter-driver*

  3. Установите пакет:
    sudo dpkg -i --force-all brgenml1lpr-*.deb
  4. Установите зависимости:
    sudo apt --fix-broken install
  5. Добавьте принтер через CUPS (веб-интерфейс или lpadmin).

5.2. Компиляция драйвера из исходников

Для некоторых принтеров (например, старых моделей Lexmark) может потребоваться сборка драйвера из исходного кода. Рассмотрим процесс на примере драйвера foo2zjs:

sudo apt install build-essential git

git clone https://github.com/koenkooi/foo2zjs.git

cd foo2zjs

make

sudo make install

После компиляции добавьте принтер в CUPS, выбрав модель Foo2zjs.

⚠️ Внимание: Сборка из исходников может конфликтовать с существующими пакетами. Перед компиляцией удалите старые версии драйвера:
sudo apt remove printer-driver-foo2zjs

6. Настройка печати в защищённых системах (SELinux, Mandatory Access Control)

Astra Linux Special Edition использует механизмы принудительного контроля доступа (Mandatory Access Control), что может блокировать работу принтера. Если после установки драйвера устройство не функционирует, выполните следующие шаги:

6.1. Проверка логов SELinux

Выполните команду для просмотра отказов:

sudo grep cups /var/log/audit/audit.log | audit2why

Если в логах есть записи вида avc: denied, необходимо добавить исключения. Например, для разрешения доступа CUPS к USB-устройствам:

sudo audit2allow -a -M cups_usb

sudo semodule -i cups_usb.pp

6.2. Настройка политики AppArmor

В некоторых версиях Astra Linux используется AppArmor вместо SELinux. Чтобы разрешить CUPS доступ к принтеру:

  1. Откройте файл конфигурации:
    sudo nano /etc/apparmor.d/local/usr.sbin.cupsd
  2. Добавьте строки (замените /dev/usb/lp0 на ваше устройство):
    /dev/usb/lp0 rw,
    

    /dev/bus/usb/** rw,

  3. Перезагрузите AppArmor:
    sudo systemctl restart apparmor
💡

В защищённых системах (Astra Linux SE) после изменения политик безопасности обязательно перезагрузите службу CUPS и само устройство принтера. Это позволит применить новые правила без конфликтов.

7. Оптимизация печати: настройка качества и скорости

После успешной установки драйвера можно настроить параметры печати для улучшения качества или экономии ресурсов. Рассмотрим основные опции.

7.1. Изменение разрешения и режима печати

1. Откройте веб-интерфейс CUPS (http://localhost:631).

2. Выберите ваш принтер → MaintenanceSet Default Options.

3. Настройте параметры:

  • 📏 Разрешение: для черновиков достаточно 300 dpi, для фотографий — 1200 dpi и выше.
  • 🎨 Цветовой режим: Grayscale (чёрно-белый) или Color.
  • 📄 Двусторонняя печать: Duplex (экономит бумагу).
  • 🖨️ Источник бумаги: Tray1, Tray2 или Manual Feed.

Для струйных принтеров Epson или Canon рекомендуется отключить опцию High Speed — это улучшит качество печати фотографий.

7.2. Экономия чернил и тонера

Чтобы сократить расходы на расходные материалы:

  • 🖨️ Используйте режим Draft (черновик) для внутренних документов.
  • 📄 Печатайте по 2–4 страницы на одном листе (Pages per Sheet).
  • 🎨 Для цветных принтеров выбирайте Color Model: CMYK вместо RGB — это снижает расход чернил.
  • 🔄 Регулярно выполняйте прочистку сопел (для струйных принтеров) через утилиты производителя.

Для принтеров HP с системой HPLIP можно настроить экономичный режим через графический интерфейс:

hp-toolbox

8. Удаление драйверов и сброс настроек

Если принтер больше не используется или требуется переустановка драйвера, выполните следующие действия для полной очистки системы.

8.1. Удаление принтера из CUPS

1. Через веб-интерфейс:

  • Перейдите в http://localhost:631.
  • Выберите принтер → AdministrationDelete Printer.

2. Через терминал:

sudo lpadmin -x <имя_принтера>

8.2. Удаление пакетов драйверов

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

  • Для HP:
    sudo apt purge hplip hplip-gui
  • Для Epson:
    sudo apt purge printer-driver-escpr iscan
  • Для универсальных драйверов:
    sudo apt purge printer-driver-foo2zjs printer-driver-gutenprint

После удаления очистите зависимости:

sudo apt autoremove

8.3. Сброс конфигурации CUPS

Если после удаления принтера остались ошибки, сбросьте настройки CUPS:

sudo systemctl stop cups

sudo rm -rf /etc/cups/ppd/*

sudo systemctl start cups

⚠️ Внимание: Удаление файлов из /etc/cups/ppd/ приведёт к потере настроек всех принтеров в системе. Перед выполнением команды сохраните резервные копии конфигураций!

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

Мой принтер не поддерживается Astra Linux. Что делать?

Если ваша модель принтера не имеет официальных драйверов для Linux, попробуйте следующие решения:

  1. Используйте универсальный драйвер Generic PostScript или PCL.
  2. Установите драйвер от аналогичной модели того же производителя (например, для Canon MG3600 может подойти драйвер от MG3500).
  3. Настройте печать через Windows-машину в сети, подключив принтер как сетевой (smb://).
  4. Обратитесь к сообществу OpenPrinting — возможно, есть неофициальные драйверы.
Как подключить принтер по Wi-Fi в Astra Linux?

Для подключения сетевого принтера:

  1. Убедитесь, что принтер и компьютер подключены к одной сети.
  2. Найдите IP-адрес принтера (обычно указывается на дисплее или в распечатке тестовой страницы).
  3. В CUPS добавьте принтер, указав URI в формате:
    socket://192.168.1.100:9100

    или для AirPrint:

    dnssd://PrinterName._ipp._tcp.local/
  4. Выберите драйвер и завершите настройку.

Если принтер поддерживает WSD (веб-службы устройств), установите пакет wsdd:

sudo apt install wsdd

Можно ли использовать драйверы от Windows в Astra Linux через Wine?

Технически возможно запустить Windows-драйвер через Wine, но это не рекомендуется по следующим причинам:

  • 🚫 Нет гарантии стабильной работы — драйвер может конфликтовать с CUPS.
  • 🐢 Значительное падение производительности печати.
  • 🔒 Риски безопасности при использовании проприетарного ПО через эмулятор.

Лучше найти альтернативный драйвер для Linux или использовать виртуальную машину с Windows для печати.

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

Обновление драйверов зависит от способа их установки:

  • 📦 Для пакетов из репозиториев (hplip, gutenprint):
    sudo apt update && sudo apt upgrade
  • 🔄 Для ручно установленных драйверов (например, Brother):
    1. Удалите старую версию:
      sudo dpkg -r brgenml1lpr
    2. Скачайте новую версию с сайта производителя и установите её.
  • 🌐 Для сетевых принтеров: обновите прошивку устройства через веб-интерфейс принтера.
Почему после обновления Astra Linux принтер перестал работать?

Причины и решения:

  1. Обновление ядра: некоторые драйверы (например, foo2zjs) требуют перекомпиляции после обновления ядра. Выполните:
    cd /usr/src/foo2zjs
    

    make clean

    make

    sudo make install

  2. Конфликт пакетов: проверьте зависимости:
    sudo apt --fix-broken install
  3. Изменения в CUPS: перезапустите службу:
    sudo systemctl restart cups
  4. Блокировка SELinux: проверьте логи (/var/log/audit/audit.log) и добавьте исключения (см. раздел 6).