Статья будет разбита на две части — обнаружение сканера в системе, и его расшаривание.
Обнаружение сканера в 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. После этого сканер обнаруживается.
Дополнительный тюнинг
Работаем в каталоге /etc/sane.d В этом каталоге есть файл dll.conf в котором построчно указан перечень опрашиваемых устройств. Каждому устройству есть соответствующий файл с расширением *.conf в каталоге /etc/sane.d. Таким образом, чтобы исключить опрос не нужных мне устройств, просто комментируем все кроме строки genesys. Теперь будут опрашиваться устройства только genesys.conf. Если просмотреть этот файл, то можно увидеть в перечне нужный сканер. Теперь опрос командой происходит scanimage -L очень быстро и выдается только один нужный мне сканер. Xsane также быстро открывается и работает (до этого долго висел на поиск обнаруженных устройств)
Настройка сетевого сканирования
# Set to yes to start saned RUN=yes
# Это в Access lists
192.168.1.0/24
sudo adduser saned lp
— в apache2.conf в конец добавил строку
— в sites-availabledefault
ServerAdmin webmaster@localhost
DocumentRoot /var/www
Options FollowSymLinks
AllowOverride None
Options Indexes FollowSymLinks MultiViews ExecCGI
AllowOverride None
Order allow,deny
allow from all
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<directory «/usr/lib/cgi-bin»>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
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
Автор: Viktor