На данном форуме не нашел прямой инструкции, только отсылки на внешние ресурсы и man-ы, и закрыты темы вроде этой
https://forum.ubuntu.ru/index.php?topic=71386.msg534918#msg534918. Если что-то не заметил, ну что-ж, значит не заметил.
В личном опыте использовал в качестве основы:
а) способ создания веб-морды для сканера с использованием этого сканера через сеть (
http://www.openkazan.info/remote-scanner-ubuntu-linux#comment-6620)
б) вариант раздачи доступа к сканеру через четь для использования штатными программами для работы сканера (
http://damnsmallblog.blogspot.com/2008/11/blog-post.html)
Тем не менее, потребовалось уточнять некоторые неточности, недоговоренности.
1. на машине-сервере: ставим нужные пакеты, главное - saned (сам сервер сканера, который содержится в пакете sane-utils)
sudo apt-get -y install xsane sane libsane sane-utils
2. на машине-сервере: далее надо поправить конфигурационные файлы:
sudo gedit /etc/init.d/saned
sudo gedit /etc/default/saned
в самом начале указать, что его можно запускать (сменить "no" на "yes") и указать имя существующего в системе пользователя (ставить пользователя root).
# Set to yes to start saned
RUN=yes
# Set to the user saned should run as
RUN_AS_USER=root
3. на машине-сервере: sudo gedit /etc/sane.d/saned.conf - в конец этого файла вписываем сетевые адреса (ip), с которых можно будет обращаться к сканеру. Это мог быть как локальные адреса, так и внешние (проверен доступ через и-нет). Вариант указания адресов в виде диапазона типа 192.168.1.1\255 не работает. Требуется указывать конкретные адреса или, возможно, диапазон адресов можно задать как-то иначе.
4. на машине-сервере: Это сама проблемная часть.
Чтобы сканер опознавался. Почему-то может случиться так, что sane-find-scanner будет запускаться только через sudo (
https://forum.ubuntu.ru/index.php?topic=120572.msg903245#msg903245). Т.е. сама эта команда будет запускаться, но от имени второго и любого другого пользователя, кроме первого в системе, ни клиентские машины через сеть, ни локальные пользователи, не смогут подключиться к сканеру. Т.е. даже демон saned
может быть запущен, периодически он может срабатывать, периодически могут и лкальные пользователи сканировать, и при попытке сетевого подключения процессов становиться 4-6 шт., но результата не будет, только войдет другой пользователь=кранты.
Т.е. для начала сканирование, обычное, локальное, должно нормально работать от нескольких локальных клиентов при локальном, не сетевом входе. Если для локального клиента "сканер не найден", то и в сетевом варианте не прокатит. Т.е. нам надо добиться. чтобы был разумный вывод на команду scanimage -L
Для решения этой проблемы в файле /lib/udev/rules.d/40-libsane.rules находим свой сканер и из строки вида
# Canon CanoScan N650U/N656U
ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="2206", ENV{libsane_matched}="yes"
добавлением MODE="0664", GROUP="saned" делаем
# Canon CanoScan N650U/N656U
ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="2206", MODE="0664", GROUP="saned", ENV{libsane_matched}="yes"
По-хорошему даже можно бы весь файл перелопатить, дав команду заменить все куски текста
", ENV{
на
", MODE="0664", GROUP="saned", ENV{
Кроме того, по каким-то неведомым причинам вполне может так случиться, что sane-find-scanner будет (может) определять (всегда или раз-через-раз) вендора и продукт с добавлением 0x (возможны, наверное, и другие варианты), на этот случай дублируем нужную нам строку с этим префиксом-приблудой:
# Canon CanoScan N650U/N656U
ATTRS{idVendor}=="0x04a9", ATTRS{idProduct}=="0x2206", ENV{libsane_matched}="yes"
напомню, все пользователи сканера должны быть прописаны в группе saned, сам демон должен запускаться от имени реально существующего пользователя
Перезагрузить удава (udev)-
sudo udevadm control --reload-rules
5. запускаем сам демон
/etc/init.d/saned start
После этого при штатной загрузке машины в диспетчере процессов будет болтаться два процесса "saned -a имя_пользователя". Если это видим = все ОК. При подключении машины клиента число процессов вырастет до 6-7.
На машине-клиенте:
6. В /etc/sane.d/net.conf добавляем строку с ip и\или сетевым именем сервера (например, mydomen.dyndns.org - и получаем доступ к сканеру как изнутри офиса, так и за тысячи километров от него) .
7. Пускаем xsane, сканируем, радуемся.