Введение

В данной статье будет приведена попытка максимально унифицированно описать процесс настройки удаленного (сетевого) сканирования в Linux.

Собственно говоря, за сканирование в Linux отвечает SANE (Scanner Access Now Easy). В широком смысле это набор библиотек и утилит, необходимых для работы с различного рода сканирующими устройствами, в узком — стандартизированный API. Архитектурной особенностью SANE является четкое разделение на фронтенд (пользовательские программы) и бэкенд (драйверы устройств). Сетевое сканирование же реализуется драйвером sane-airscan. Информацию о совместимых устройствах можно найти на страницах проектов по приведенным ссылкам.

Настройка серверной части

  1. Для начала потребуется установить пакеты: sane и sane-utils (названия пакетов могут отличаться в зависимости от используемого дистрибутива).
  2. Далее произведем подключение сканера к хосту и проверим, что устройство определяется и работает корректно (например, с помощью терминальной утилиты scanimage).

    Для работы со сканером может потребоваться включение пользователя в группу scanner:

    # usermod -aG scanner $USER
  3. Отредактируем конфигурационный файл /etc/sane.d/saned.conf и внесем перечень разрешенных IP-адресов или сетей (примеры есть в самом конфигурационном файле).
  4. Наконец, активируем и запустим юнит сокета saned.socket:
    # systemctl enable --now saned.socket

    В случае использования системы инициализации SysVinit необходимо удостовериться, что файл /etc/default/saned содержит следующие директивы:

    RUN=yes
    RUN_AS_USER=saned
  5. В случае использования файервола также необходимо убедиться, что доступны входящие соединения на порт 6566/tcp (порт по умолчанию, используемый saned).

Настройка клиентских устройств

  1. По аналогии с настройкой сервера установим пакеты sane и sane-utils.
  2. В конфигурационном файле /etc/sane.d/net.conf укажем IP-адрес нашего сервера
  3. Попробуем произвести поиск устройств (и дальнейшее сканирование), например:
$ scanimage -L

В случае, если удаленный сканер не обнаруживается, на стороне сервере стоит перепроверить статус демона saned, правила файервола, а также убедиться, что на обоих устройствах в конфигурационном файле /etc/sane.d/dll.conf присутствует и не закомментирован драйвер net.

Previous Post