пятница, 1 апреля 2016 г.

Linux Ubuntu 14.04 LTS сканирование по сети Canon Lide 120

Статья будет разбита на две части - обнаружение сканера в системе, и его расшаривание.

Обнаружение сканера в Ubuntu 


Canon Lide 120 это дешевый планшетный сканер с miniUSB портом, питание также от USB. Это не сетевой сканер. Будем расшаривать его средствами Linux. В стандартных репозиториях данный сканер не поддерживается. При запуске sane-find-scanner сканер находится, а при запуске scanimage -L не идентифицируется. В сети есть мануалы, по которым стандартная версия sane удаляется и компилируется из исходников скачанных с git.

Но к счастью для Ubuntu есть ppa с поддержкой данного сканера. Поэтому по инструкции добавляем поддержку ppa и просто устанавливаем sane sane-utils libsane (если раньше было установлено, то удаляем и заново устанавливаем при добавленном ppa и apt-get update). При установке будет видно, что sane-backend подтягивается из нового ppa. После этого сканер обнаруживается.


Дополнительный тюнинг

Немного о демоне saned. После запуска команды scanimage -L у меня долго происходит обнаружение сканеров. Это связано с тем что в сети есть много МФУ которые отвечают на запросы демона, и от этого список обнаруженных устройств растет. В дальнейшем мне это будет мешать при использовании программы сетевого сканирования, поиск сканера будет долгий, да еще и может выдать не тот сканер, что мне нужен. Поэтому донастраиваем saned.
Работаем в каталоге /etc/sane.d В этом каталоге есть файл dll.conf в котором построчно указан перечень опрашиваемых устройств. Каждому устройству есть соответствующий файл с расширением *.conf в каталоге /etc/sane.d. Таким образом, чтобы исключить опрос не нужных мне устройств, просто комментируем все кроме строки genesys. Теперь будут опрашиваться устройства только genesys.conf. Если просмотреть этот файл, то можно увидеть в перечне нужный сканер. Теперь опрос командой происходит scanimage -L очень быстро и выдается только один нужный мне сканер. Xsane также быстро открывается и работает (до этого долго висел на поиск обнаруженных устройств)

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


Теперь можно переходит к настройке сетевого сканирования. Использоваться будет программа написанная еще в 2008 году. Сайт уже не поддерживается. Архив scan_1.1.9.tar можно скачать из архива гугла. По названию архива также легко гуглится howto по установке. Архив распаковывается в папку /var/www/scan. Запускается интерфейс http://IP-address/scan. Добавлю также что произвел дополнительные настройки по howto для Ubuntu
/etc/default/saned старт saned по-умолчанию
# Set to yes to start saned                                                     
RUN=yes
/etc/sane.d/saned.conf разрешаем шарить в локальной сети (если не сделать, то веб-интерфейс не открывался):
# Это в Access lists
192.168.1.0/24
Можно было не делать, но
sudo adduser saned lp
Для web-интерфейса добавил пользователя www-data в группу sсanner (теперь там saned и www-data). Права на папку /var/www/scan дал chown -R www-data:www-data
Подозреваю, что можно более правильно включить дополнительные настройки через a2enmod, но делал как по инструкции:
- в apache2.conf в конец добавил строку

AddHandler cgi-script .cgi 

- в sites-available\default

<VirtualHost *:80>
  ServerAdmin webmaster@localhost

  DocumentRoot /var/www
  <Directory />
    Options FollowSymLinks
    AllowOverride None
  </Directory>

  <Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews ExecCGI
    AllowOverride None
    Order allow,deny
    allow from all
  </Directory>

  ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
  <Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
  </Directory>

  ErrorLog ${APACHE_LOG_DIR}/error.log

  # Possible values include: debug, info, notice, warn, error, crit,
  # alert, emerg.
  LogLevel warn

  CustomLog ${APACHE_LOG_DIR}/access.log combined

  Alias /doc/ "/usr/share/doc/"
   <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
   </Directory>

</VirtualHost> 

Комментариев нет:

Отправить комментарий