Установка принтера Canon в Astra Linux: от драйверов до печати

Astra Linux — отечественная операционная система на базе ядра Linux, широко используемая в госсекторе, образовании и бизнесе. Однако ее специфика часто вызывает вопросы у пользователей, особенно когда речь идет о подключении периферийных устройств. Принтеры Canon — одни из самых популярных на рынке, но их установка в Astra Linux может превратиться в настоящий квест: от поиска совместимых драйверов до ручной настройки CUPS.

В этой статье мы разберем все этапы — от подготовки системы до тестовой печати, включая решения типичных ошибок. Особое внимание уделим моделям Canon LBP (лазерные), PIXMA (струйные) и imageCLASS MF (многофункциональные), так как их настройка имеет ключевые различия. Если вы столкнулись с сообщением "Притер не найден" или "Фильтр failed" — здесь вы найдете ответы.

Важно: процесс может отличаться в зависимости от версии Astra Linux (например, Common Edition vs Special Edition) и модели принтера. Мы ориентируемся на актуальные версии систем (2023–2026 гг.), но для критичных задач уточняйте детали в официальной документации.

1. Подготовка системы: что нужно сделать до установки принтера

Перед подключением принтера Canon необходимо убедиться, что система готова к работе с периферией. Пропуск этого этапа часто приводит к ошибкам вроде "lpadmin: Unable to copy PPD file" или отсутствию устройства в списке CUPS.

Первое — проверьте подключение принтера к компьютеру или сети:

  • 🖨️ Для USB-подключения: используйте оригинальный кабель (дешевые аналоги могут не передавать данные корректно). Порт USB должен быть исправен — попробуйте подключить другое устройство (например, флешку) для проверки.
  • 🌐 Для сетевого принтера: убедитесь, что устройство и компьютер находятся в одной подсети. Проверьте IP-адрес принтера (обычно печатается на тестовой странице или отображается на дисплее).
  • 🔌 Для Wi-Fi: принтер должен быть подключен к той же сети, что и компьютер. На некоторых моделях Canon PIXMA для этого требуется нажать кнопку WPS на роутере и принтере одновременно.

Второе — обновите систему и установите необходимые пакеты. В Astra Linux это делается через терминал:

sudo apt update && sudo apt upgrade -y

sudo apt install cups printer-driver-all hplip

Третье — добавьте пользователя в группу lpadmin, чтобы он мог управлять принтерами:

sudo usermod -aG lpadmin $USER
⚠️ Внимание: После добавления в группу lpadmin требуется перезагрузка системы или выход/вход из текущей сессии. Иначе права не применятся.
📊 Какой тип подключения принтера вы используете?
USB
Сетевой (Ethernet)
Wi-Fi
Другой

2. Поиск и установка драйверов для Canon

Основная проблема при установке принтеров Canon в Astra Linux — отсутствие официальных драйверов для Linux. Компания Canon предоставляет ПО только для Windows и macOS, поэтому приходится использовать альтернативные решения:

  • 📦 Драйвера из репозиториев: пакеты printer-driver-gutenprint и printer-driver-foo2zjs покрывают многие модели струйных и лазерных принтеров. Установите их командой:
    sudo apt install printer-driver-gutenprint printer-driver-foo2zjs
  • 🖼️ PPD-файлы от Canon: для некоторых моделей (например, LBP6030 или MF4410) можно скачать .ppd-файлы с сайта Canon (раздел "Поддержка") и загрузить их вручную через CUPS.
  • 🐧 Драйвера от сообщества: проекты вроде CAPT (для лазерных принтеров) или PAPPL (универсальный бэкенд) могут помочь с поддержкой новых моделей.

Для моделей Canon LBP (например, LBP6020, LBP6230) часто требуется драйвер cndrvcups, который можно найти в репозиториях или собрать из исходников. Установка:

sudo apt install libglade2-0 libcapt4

wget https://gdlp01.c-wss.com/gds/7/0100006377/01/cnljfilter2-5.60-1-rpm.tar.gz

tar -xzf cnljfilter2-5.60-1-rpm.tar.gz

cd cnljfilter2-5.60-1-rpm/64-bit_Driver/RPM/

sudo alien --scripts cndrvcups*.rpm

sudo dpkg -i cndrvcups*.deb

⚠️ Внимание: Драйвера от Canon для Linux часто поставляются в формате .rpm. Для их установки в Astra Linux (Debian-основа) используйте утилиту alien. Если ее нет, установите командой sudo apt install alien.
Модель принтера Рекомендуемый драйвер Примечания
Canon PIXMA MG2540, MG3640 gutenprint или cnijfilter2 Для сканера потребуется sane + sane-airscan
Canon LBP6030, LBP6230 cndrvcups + capt Требуется ручная установка .ppd-файла
Canon imageCLASS MF244dw foo2zjs или pappl Поддержка сети через dnssd или статический IP
Canon SELPHY CP1300 gutenprint + libusb Требуется режим PTP (как фотоаппарат)

3. Настройка принтера через CUPS

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

  1. Откройте браузер и перейдите по адресу:
    http://localhost:631

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

    sudo systemctl start cups
  2. Перейдите в раздел Administration → Add Printer. Система запросит логин/пароль — используйте данные вашего пользователя с правами lpadmin.
  3. Выберите ваш принтер из списка обнаруженных устройств. Если принтер не отображается:
    • Для USB: проверьте вывод команды lsusb (должно отобразиться устройство Canon).
    • Для сети: введите IP-адрес принтера вручную (формат socket://192.168.1.100).
  • Укажите модель принтера. Если вашей модели нет в списке, выберите Provide PPD file и загрузите файл, скачанный ранее.
  • Настройте параметры по умолчанию (разрешение, дуплекс, цветной режим) и сохраните.
  • После добавления принтера рекомендуется распечатать тестовую страницу (Maintenance → Print Test Page). Если страница не печатается, проверьте:

    • 🔌 Состояние очереди печати (http://localhost:631/printers): ошибки будут отмечены красным.
    • 📄 Права на файл /etc/cups/printers.conf (должны быть rw-r--r--).
    • 🔄 Логи CUPS (/var/log/cups/error_log) на предмет ошибок вроде "Unable to locate printer".

    Подключен ли принтер к питанию и компьютеру/сети?|Установлены ли драйвера для конкретной модели?|Принтер отображается в http://localhost:631?|Пользователь добавлен в группу lpadmin?|Очередь печати не содержит зависших задач?-->

    4. Решение типичных ошибок при установке

    Даже при правильной настройке принтеры Canon в Astra Linux могут выдавать ошибки. Рассмотрим самые распространенные и способы их устранения:

    Ошибка: "Filter failed" или "Unable to locate printer"

    Причина: CUPS не может найти фильтр для обработки задания печати. Это происходит, если:

    • Драйвер установлен не полностью (отсутствуют зависимости).
    • Неправильно указан PPD-файл.
    • Принтер подключен по USB, но система его не видит (lsusb не показывает устройство).

    Решение:

    1. Переустановите драйвер с зависимостями:
      sudo apt --reinstall install printer-driver-gutenprint
    2. Проверьте, что принтер определяется системой:
      lsusb | grep -i canon

      Если вывод пустой — проблема в USB-подключении (кабель, порт, питание).

    3. Удалите и добавьте принтер заново через CUPS, выбрав другой PPD-файл.

    Ошибка: "Client-Error-Not-Found" при сетевой печати

    Причина: CUPS не может подключиться к сетевому принтеру. Чаще всего это связано с:

    • Неправильным IP-адресом (принтер переподключился к сети).
    • Блокировкой портов брандмауэром (ufw или iptables).
    • Отключенным протоколом LPD/IPP на принтере.

    Решение:

    1. Проверьте IP-адрес принтера (распечатайте страницу настроек с панели управления).
    2. Откройте порты для печати:
      sudo ufw allow 631/tcp  # CUPS
      

      sudo ufw allow 515/tcp # LPD

    3. На принтере включите протоколы LPD или IPP (в меню Network Settings).

    Ошибка: "Unable to copy PPD file"

    Причина: недостаточно прав для копирования файла .ppd в директорию /etc/cups/ppd/.

    Решение:

    sudo chown -R root:lpadmin /etc/cups/
    

    sudo chmod -R 755 /etc/cups/

    ⚠️ Внимание: Если принтер Canon подключен по Wi-Fi и периодически "исчезает" из системы, проверьте настройки энергосбережения на роутере. Некоторые модели отключают порт USB или снижают мощность передачи данных для экономии энергии, что приводит к разрыву соединения.
    Как сбросить настройки принтера Canon к заводским?

    Для большинства моделей Canon сброс выполняется так:

    1. Выключите принтер.

    2. Зажмите кнопку Stop/Reset (или Menu для МФУ) и удерживайте 10–15 секунд, затем включите питание.

    3. Отпустите кнопку после мигания индикаторов.

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

    5. Настройка сканера (для МФУ Canon)

    Если ваш принтер Canon — многофункциональное устройство (например, PIXMA MG3640 или imageCLASS MF244dw), для работы сканера потребуется дополнительная настройка. В Astra Linux это делается через пакет SANE (Scanner Access Now Easy).

    Установите необходимые пакеты:

    sudo apt install sane sane-utils libsane-extras

    Проверьте, обнаруживает ли система сканер:

    scanimage -L

    Если устройство не найдено, но принтер подключен по USB, добавьте правила для udev:

    sudo nano /etc/udev/rules.d/55-libsane.rules

    Добавьте строку (замените ID_MODEL на вашу модель, найденную через lsusb -v):

    ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="17*", ENV{libsane_matched}="yes"

    Перезагрузите правила:

    sudo udevadm control --reload-rules
    

    sudo udevadm trigger

    Для сетевых сканеров (например, в Canon MF) используйте sane-airscan:

    sudo apt install sane-airscan
    

    export SANE_DEBUG_DLL=128 # Для отладки

    Тестируйте сканирование командой:

    scanimage --format=png > test.png
    Модель МФУ Драйвер сканера Протокол
    Canon PIXMA MG3600 pixma (входит в sane) USB
    Canon imageCLASS MF247dw airscan или escl Wi-Fi/Ethernet
    Canon LiDE 400 genesys USB

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

    После успешной установки принтера Canon в Astra Linux можно настроить параметры печати для улучшения качества или экономии расходников. Это особенно актуально для струйных принтеров (PIXMA), где стоимость чернил часто превышает цену устройства.

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

    • 🖼️ Через CUPS: перейдите в http://localhost:631/printers, выберите принтер → Maintenance → Printer Options. Здесь можно задать:
      • Разрешение печати (например, 600x600 dpi или 1200x1200 dpi).
      • Режим дуплекса (двусторонняя печать).
      • Цветной или черно-белый режим по умолчанию.
    • 📄 В приложениях: при печати из LibreOffice, GIMP или браузера выберите Свойства принтера → Дополнительно. Здесь доступны:
      • Тип бумаги (обычная, глянцевая, матовая).
      • Качество печати (черновик, стандарт, высокое).
      • Масштабирование и ориентация.

    Для экономии чернил на струйных принтерах:

    • Используйте режим "Черновик" или "Быстрая печать".
    • Установите параметр "Экономия тонера" (для лазерных принтеров).
    • Печатайте в масштабе 90% или используйте режим "2 страницы на листе".

    Важно: принтеры Canon PIXMA с системой непрерывной подачи чернил (CIS) требуют регулярной прочистки печатающей головки. В Astra Linux это делается через утилиту escputil (установите пакет escpr):

    sudo apt install escpr
    

    escputil -i -r

    7. Альтернативные способы подключения

    Если стандартные методы не сработали, рассмотрите альтернативные варианты подключения принтера Canon к Astra Linux:

    1. Подключение через Windows-машину (Samba)

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

    1. На Windows-машине включите общий доступ к принтеру (Панель управления → Устройства и принтеры → Свойства принтера → Доступ).
    2. В Astra Linux установите samba:
      sudo apt install samba smbclient
    3. Добавьте принтер через CUPS, выбрав Windows Printer via SAMBA и указав путь вида:
      smb://[IP_Windows_PC]/[имя_принтера]

    2. Использование IPP Everywhere

    Современные принтеры Canon (например, PIXMA TR8620) поддерживают протокол IPP Everywhere, который упрощает сетевую печать. Чтобы подключиться:

    1. Убедитесь, что принтер включен и подключен к сети.
    2. В CUPS выберите Add Printer → Internet Printing Protocol (ipp).
    3. Введите адрес в формате:
      ipp://[IP_принтера]/ipp/print
    4. Выберите драйвер Everywhere или AirPrint (если доступен).

    3. Печать через Google Cloud Print (для старых моделей)

    Если ваш принтер поддерживает Google Cloud Print (например, Canon PIXMA MG7720), вы можете печатать через него даже из Astra Linux:

    1. Подключите принтер к аккаунту Google через веб-интерфейс принтера.
    2. В Astra Linux установите cloudprint:
      sudo apt install python3-cups python3-googlecloudprint
    3. Зарегистрируйте принтер в CUPS как Google Cloud Print.
    ⚠️ Внимание: С 2021 года Google закрыл сервис Cloud Print, но некоторые принтеры Canon до сих пор поддерживают его через сторонние решения (например, PaperCut Mobility Print). Для новых устройств используйте IPP Everywhere или Canon PRINT Business (через Wine).

    8. Обновление прошивки принтера

    Если принтер Canon работает нестабильно (например, застревают задания печати или устройство "зависает"), проблема может быть в устаревшей прошивке. Обновление прошивки в Astra Linux возможно, но требует осторожности:

    Способы обновления:

    • 🖥️ Через Windows: самый надежный метод. Подключите принтер к машине с Windows, скачайте прошивку с сайта Canon и следуйте инструкциям производителя.
    • 🐧 Через Linux (для опытных пользователей):
      1. Скачайте прошивку с сайта Canon (обычно файл с расширением .firm или .bin).
      2. Подключите принтер по USB и определите его идентификатор:
        lsusb | grep -i canon
      3. Используйте утилиту usb_modeswitch или dfu-programmer для загрузки прошивки. Пример для Canon LBP:
        sudo dfu-programmer at32uc3b1256 flash --download firmware.bin

    Предупреждения:

    • Обновление прошивки может сбросить настройки принтера (включая сетевые параметры).
    • Не прерывайте процесс обновления — это может привести к "окирпичиванию" устройства.
    • Некоторые модели Canon (например, SELPHY) требуют специального ПО для прошивки, которое работает только в Windows.
    • После обновления прошивки рекомендуется:

      1. Перезагрузить принтер.
      2. Удалить и заново добавить его в CUPS.
      3. Распечатать тестовую страницу для проверки.

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

      Мой принтер Canon не определяется по USB. Что делать?

      Проверьте следующее:

      1. Подключите принтер к другому USB-порту (желательно USB 2.0, так как некоторые модели несовместимы с USB 3.0).
      2. Выполните команду dmesg | tail после подключения — если есть ошибки вроде "usb 1-1: device descriptor read/64, error -110", проблема в питании или кабеле.
      3. Отключите другие USB-устройства (возможно, не хватает питания).
      4. Попробуйте подключить принтер к другому компьютеру, чтобы исключить аппаратную неисправность.

      Если принтер по-прежнему не определяется, проверьте, не блокирует ли его ядро. Для этого временно отключите модуль usb (только для теста!):

      sudo modprobe -r usb-storage
      Как печатать с двух сторон (дуплекс) на принтере Canon?

      Дуплексная печать настраивается либо в драйвере принтера, либо в приложении:

      • В CUPS:
        1. Перейдите в http://localhost:631/printers.
        2. Выберите ваш принтер → Maintenance → Printer Options.
        3. Найдите опцию Duplex или Two-Sided Printing и включите ее.
    • В приложениях (например, LibreOffice):
      1. При печати выберите Свойства.
      2. Вкладка Дополнительно → Печать на обеих сторонах.

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

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

    Технически да, но это не рекомендуется по следующим причинам:

    • Драйвера для Windows не оптимизированы для CUPS и могут конфликтовать с системой печати.
    • Wine не поддерживает прямую работу с USB-устройствами, поэтому принтер не будет обнаружен.
    • Производительность печати будет крайне низкой из-за эмуляции.
    • Альтернатива: если вам нужен именно оригинальный драйвер, используйте виртуальную машину с Windows и пробросьте USB-устройство в нее. Например, через VirtualBox:

      sudo usermod -aG vboxusers $USER

      Затем в настройках виртуальной машины добавьте USB-устройство принтера в список пробрасываемых.

    Как настроить печать на Canon PIXMA через Wi-Fi Direct?

    Wi-Fi Direct позволяет подключаться к принтеру напрямую, без роутера. Для этого:

    1. На принтере активируйте режим Wi-Fi Direct (обычно в меню Network Settings). Запомните имя сети (SSID) и пароль.
    2. В Astra Linux подключитесь к этой сети через nmcli:
      nmcli dev wifi connect "DIRECT-xx-Canon_P