Установка сервера сканирования с использованием saned
Материал из Bryansk Linux Users Group.
Содержание |
Зачем это нужно
Часто встречается следующая ситуация: есть маленький (по площади) офис, в котором есть машинка со сканером. Иногда сканером пользуются, чтобы скопировать какой либо документ, но не особо часто. При этом, естественно, дёргают либо владельца машинки, либо сгоняют его с насиженного места. Ситуацию можно координально изменить, переключив сканер к офисному линукс серверу-роутеру и настроив там сервер сканирования с использованием saned.
Это решение обладает рядом преимуществ: доступ к сканеру возможен с любой машины сети, как под управлением Windows, так и управлением Linux. Доступ полностью прозрачен для приложений. Если офис маленький то бегать до сканера за полздания перевернуть бумажку не потребуется.
Реализация сервера
Как всегда, реализация на примере Debian Linux.
Цепляем сканер к машине, устанавливаем sane, sane-utils. Драйвера сканера или найдутся автоматом (я не особо прорабатывал этот вопрос), или их нужно будет поставить. Я ставил инсталлятором от производителя ( у меня комбик принтер + сканер Samsung SCX4200 ).
# apt-get install sane sane-utils
Проверить найденные устройства можно запустив
# scanimage -L
Теперь редактируем файл /etc/sane.d/saned.conf, добавляя в него адреса или подсети, на которых будет доступен сервер, например
127.0.0.1 192.168.1.0/24
Если хотите, чтобы доступ был разрешен для всех, поставьте первой строкой в файле плюсик:
+
Сервер работает через inetd, поэтому прописываем в /etc/inetd.conf
sane-port stream tcp nowait saned.saned /usr/sbin/saned saned
(строка из man saned). В такой конфигурации у меня не заработало, и я заменил юзера, под которым будет запускаться сканирование на root:
sane-port stream tcp nowait root /usr/sbin/saned saned
Это не очень хорошо. Возможно связано с кривыми самсунговскими дровами, если дрова нормальные - должны работать не под суперпользователем. Необходимо проверить ещё один момент. Присутствует ли в /etc/services строка, касающаяся saned, и если её нет, то добавить:
cat /etc/services | grep sane sane-port 6566/tcp sane saned # SANE network scanner daemon
Настройка сервера завершена. Теперь переходим к настройке клиента.
Настройка клиента
Linux
Под Linux всё крайне просто. На клиентской машине ставим
# apt-get install xsane sane sane-utils
В файле /etc/sane.d/net.conf прописываем адрес сервера сканирования, например 192.168.1.2. Проверяем доступность сканера:
$ scanimage -L
Windows
Всё ещё проще. Ставим драйвер sane->twain. То есть сканер будет видется для всех приложений как любой другой. Есть несколько проектов, но самый, на мой взгляд, хороший - http://sanetwain.ozuzo.net/ . Качаем инсталлятор (2.6 mb), устанавливаем, запускаем. В настройках выбираем русский язык интерфейса и выставляем IP сервера. Всё. Можно работать.
Следует добавить, что пока один пользователь что-либо сканирует, для другого сканер недоступен :-) Сканер таки не очень разделяемый ресурс, и его использование по очередям и приоритетам автоматически делить крайне трудно, или даже невозможно.
Arceny 18:23, 11 декабря 2007 (MSK)

