-
X-Stranger,
http://linux.hitech.by/ -
Использование сканера не является
привилегией одних только пользователей MS
Windows. Хотя действительно, "завести"
устройство от целого ряда производителей
подобного оборудования в альтернативной ОС,
бывает, мягко говоря, проблематично.
В
принципе, производителями драйверы делаются
для всего семейства операционных систем
Windows (включая NT/2000). Устройства, к
которым существуют драйверы только лишь для
Windows 9x/ME, можно встретить довольно
редко. А вот тем, кто решил перейти с
Окошек, например, на Linux, придется
сложнее. Но и их положение далеко не
безнадежно. Есть утилита SANE и графическая
оболочка к ней под названием XSANE, которые
поддерживают немало устройств. Кстати, SANE
работает не только в Linux. Список
поддерживаемых ею программно-аппаратных
платформ весьма обширен и постоянно
пополняется. Эта утилита работает в Linux,
во всех ОС семейств BSD, Solaris, HP UX, OS/2,
BeOS и многих других. Полный список как
программно-аппаратных платформ, так и
сканеров, поддерживаемых SANE, есть на
домашней страничке группы разработчиков по
адресу www.mostang.com/sane. Естественно,
там же можно загрузить эту программу, причем
как в виде исходных текстов, так и бинарный
дистрибутив, предназначенный для вашей
системы. В некоторые дистрибутивы Linux (в
частности, SUSE, Mandrake, AltLinux,
ASPLinux) SANE включается штатно. Хотя,
скорее всего, это будет несколько устаревшая
версия: SANE обновляется постоянно, и авторы
дистрибутивов просто не успевают за
разработчиками программы.
Хотелось бы предупредить сразу, что SANE
лучше всего поддерживает устройства со
SCSI-подключением. Из LPT-сканеров SANE
может работать лишь со считанными моделями
от Mustek и Umax. Ряд устройств от Primax
поддерживается специальной утилитой, ссылка
на которую есть на сайте разработчиков SANE.
USB-модели в списке поддерживаемых устройств
появились не так давно, причем возни с их
настройкой будет больше и результат может
оказаться отрицательным, особенно - если
поддержка того или иного устройства включена
в программу недавно.
Настройка SANE сильно зависит от конкретной
модели сканера. Об этом лучше читать в
документации на конкретный backend или
драйвер. Ссылки есть в таблице
поддерживаемых сканеров. Для SCSI-устройства
достаточно запустить утилиту findscanner из
поставки SANE. А вот с USB- и
LPT-устройствами все не так просто,
потребуется редактирование целого ряда
конфигурационных файлов, в частности,
modules.conf и конфигурационного файла
драйвера, и, вполне возможно, понадобится
переконфигурирование ядра. Плюс ко всему
крайне желательно иметь ядро Linux поновее.
Если его версия 2.2.14 и ниже, нормальная
работа USB-сканера будет проблематичной.
Лучше всего ставить ядро 2.4.8 и выше.
Поддержка USB-устройств, в том числе и
сканеров, в нем значительно улучшена.
SANE
можно пользоваться из командной строки. Это,
не всегда удобно, тем более что командные
строки будут довольно длинными. К тому же
особенности синтаксиса сильно варьируются в
зависимости от конкретной модели устройства.
Благо, что есть графические оболочки к SANE.
Их даже две: помимо уже упомянутой XSANE,
можно назвать еще и Xscanimage. Они имеют
практически идентичный интерфейс и
особенности работы. И та, и другая копируют
интерфейс утилит сканирования для Windows и
Mac.
Но
есть и различия. Xscanimage не может
вызываться автономно. Она интегрируется с
GIMP и рядом других приложений, в частности,
Krayon (растровый редактор из поставки
Koffice) и Linux-версией Corel Photo-Paint.
XSANE можно использовать автономно и просто
сохранить изображения для последующего
редактирования в любой программе. Однако
XSANE может также интегрироваться с GIMP и
некоторыми другими приложениями, в
частности, с программой распознавания текста
GOCR.
Как
уже было сказано выше, есть и другие утилиты
сканирования для альтернативных операционных
систем типа Linux. Есть целый ряд программ
сканирования для Linux, но они, как правило,
коммерческие, плюс ко всему - уже давно не
развиваются.
Так
что использовать сканер в неwinном мире
можно, просто уделив несколько больше
внимания выбору подходящей модели и
настройке программного обеспечения.
Как
пользоваться SANE? Заходим на
ftp.mostang.com/pub/sane/, и скачиваем
от туда последнюю версию sane-x.x.x.tar.gz
(список всех сайтов есть здесь:
http://www.mostang.com/sane/source.html).
Затем делаем следующую последовательность
команд:
tar xfvz
sane-1.0.7.tar.gz
cd
sane-1.0.7
./configure;
make; make install
Все.
Большего не надо. Теперь, если у вас
SCSI-сканер (для простоты рассмотрим именно
этот случай), осмотрите свою машину и
подсчитайте, сколько и как у вас к ней
подключено SCSI устройств. Диски не
считайте. Обычно сканер единственный.
Значит, устройство для него будет /dev/ sga
(если сканер второй, то /dev/sgb и так
далее). Поставьте символическую ссылку на
это устройство:
ln -s /dev/sga
/dev/scanner
А команда
chmod 777 /dev/sga
даст всем
доступ до него. Негоже одному root
пользоваться сканером :). В принципе никто
не мешает создать группу scaner и дать права
только ей. Не забудьте глянуть на
конфигурационный файл для вашего сканер. Он
должен находится в директории /usr/ local/etc/sane.d/[фирма_сканера].conf.
Например, для UMAX это umax.conf. Этот файл
содержит список имен, которые соответствуют
вашему сканеру (их может быть и несколько).
Вот примертакого файла:
#scsi
Vendor Model Type Bus Channel ID LUN
scsi UMAX *
Scanner * * * * *
/dev/scanner
# можно
указать его устройство и так
/dev/sgа
Все, теперь
можете смело набирать команду
scanimage -L
Ответ,
например, может быть таким:
device `hp:/dev/sga'
is a Hewlett-Packard C5110A flatbed scanner
Ну вроде
оно. А что этот сканер умеет?
scanimage -d
hp:/dev/sga -h
Вот.
scanimage - это консольная утилита для
сканирования. Если охота написать скриптик,
который сканирует и что-то делает с
полученным - вам к ней.
Оболочки к SANE. Ленивые люди пользуются
красивой, простой графической утилитой
xscanimage, которая идет вместе с
исходниками sane. Запустите ее в XWindow.
Интерфейс простой, возможности тоже,
сохраняет в pnm. Для проверки хватит. Более
навороченная оболочка, о которой я уже
говорил выше, называется XSane. После
компилирования и инсталляции, ее можно
запустить при помощи команды xsane. Но нам
желательно бы из Gimp'а. Нет ничего проще!
Даём следующую команду (для Gimp-1.1.xx,
лучше поставить линк на xsane):
ln -s /usr/local/bin/xsane
~/.gimp-1.1/plug-ins
Чтобы не
делать такое для каждого пользователя такой
линк, лучше поставьте линк прямо в
директорию процедур Gimp'a (plug-ins):
ln -s /usr/local/bin/xsane
/usr/local/lib/gimp/1.1/plug-ins В версиях
Gimp'a (1.0.x, <1.1.9) ищите меню Xtns/Xsane,
а в версиях Gimp'a от 1.1.9 вам надо зайти в
меню File/Acquire. Оно будет содержать имена
устройств с которых можно сканировать.
Если,
у вас ничего не заработало, то в любом
случае, можно просто сканированное сохранять
в .pnm файл, а затем открывать любым
графическим редактором.
Всё, у
вас обычная в принципе машина, которая умеет
работать со сканером. Но мы решили отдать
сканер в сеть. И более того, отдать его
windows-машинам.
Итак,
сначала добавляем в /etc/services номер
порта для sane:
sane 6566/tcp
Затем
добавляем в /etc/inetd.conf строчку
sane
stream tcp nowait saned.saned /usr/local/sbin/saned
saned
Вместо
saned.saned поставьте пользователя и группу,
от которой будет работать демон. "root.root"
- это не само хорошее решение. Сделайте
что-то вроде "scanner.scanner".
Перезагружаем inetd:
killall -HUP
inetd
Теперь
редактируем файл /usr/local/etc/sane.d/saned.conf.
В нем мы должны прописать имена хостов,
которые должны иметь доступ к сканеру через
сеть. Если мы отдаем сканер всему миру (ну
или всей сети), то просто поставьте в персом
символе первой строки плюсик (+), этим вы
отключите вcякий контроль со стороны sane.
Теперь давайте проверим, доступен ли сканер
из сети. Для этого в файл /usr/local/etc/sane.d/net.conf
пропишем адрес машины, на которой есть
настроенный, как написано выше, демон. Если
вам охота проверить свою машину, то просто
напишите туда localhost. Теперь, даём
команду на сканирование:
scanimage -L
Вывод на
экране:
device `hp:/dev/sga'
is a Hewlett-Packard C5110A flatbed scanner
device `net:localhost:hp:/dev/sga'
is a Hewlett-Packard C5110A flatbed scanner
Работает!
Теперь любой другой Linux сможет
отсканировать с вашего сканера что-нибудь.
Но прежде удостоверьтесь, что обратное
преобразование имен работает (цифры в
имена). Если нет, то просто добавьте
удаленные хосты в /etc/hosts.
|