2009/8/21 Victor Wagner
<vitus@wagner.pp.ru>
> На линуксе, точнее etch, всё прописал по найденному howto. В
> /etc/sane.d/saned.conf:
> [1]192.168.1.1/24
> (адреса всех машин 192.168.1.*)
> В /etc/services уже было:
> sane-port 6566/tcp sane saned # SANE network scanner
> daemon
> В /etc/inetd.conf:
> sane-port stream tcp nowait saned.saned /usr/sbin/saned saned
> Ну и USB устройство открыл для всех, в /etc/udev/udev.rules:
> SUBSYSTEM=="usb", ATTR{idVendor}=="03f0", ATTR{idProduct}=="2404",
> MODE="0666", GROUP="lp"
> Что нужно исправить, чтобы sane заработал по сети?
usb-устройство открывать для всех - явный идиотизм.
У тебя же "все" это другие машины в сети. Они будут обращаться не к
USB-устройству, а к saned. И только сам saned должен уметь обращаться к
USB-устройству.
Сначала пусть так заработает. Когда заработает, и буду разбираться - от какого юзера saned работает, от какого samba печатает, а от какого печатает сам cups когда к нему по http стучатся (у меня настроено и то, и другое).
Тем более я не очень вижу, какую дыру я этим открываю. Если у кого-то уже есть контроль над любым юзером на этой машине - он мне всё равно сможет послать что угодно на принтер через cups и увидеть, что в сканере, через sane. А ничего другого через это USB-устройство сделать всё равно нельзя.
На первый взгляд все правильно. У меня примерно то же, и все работает -
как виндовые программы под wine, так и доступ из виртуальной машины.
Но ты при этом совершенно не описал, как именно ты конфигурировал
клиентов.
Клиент один - xsane/win32.
ftp://ftp.sane-project.org/pub/sane/xsane/xsane-win32-0.991.zip Конфигурирован по readme.txt, а именно, цитирую:
To run xsane-win32:
- make sure this directory is placed in c:\sane
- edit c:\sane\etc\sane.d\net.conf to configure
sane-network server
- the executable is c:\sane\bin\xsane.exe
Соответственно в c:\sane\etc\sane.d\net.conf есть ровно одна раскомментированная строка. В ней - адрес сервера со сканером.
В c:\sane\etc\sane.d\dll.conf есть ровно одна раскомментированная строка. В ней net.
Похоже, проблема не в том, что сканер не раздается, а в том, что клиенты
не знают, как к нему обратиться.
Если клиенты виндовые, надо ставить SaneTwain
http://sanetwain.ozuzo.net/ (кстати, возможно при этом придется поменять
twain32.dll, взяв правильную с twain.org. Был у меня случай когда никак
не мог заставить sanetwain работать от непривелигированного юзера,
потому что в системе завалялась twain32.dll, принесенная каким-то
драйвером от производителя сканера.). Да, естественно, драйверов от
производителя сканера на клиентах и близко быть не должно. Они работают
не с USB-устройством такой-то фирмы, а с протоколом SANE.
Это я понимаю, но я просто хотел сначала заставить работать самый простой вариант. Или следует предположить, что xsane/win32 по инструкции не работает, и всё равно ставить SaneTwain?
Я просто скорее предположил, что я ошибся в конфигурации, чем что команда xsane ошиблась в win32 версии (включая readme.txt). Хотя, с ошибкой команды hplip (а это большая фирма и свободная лицензия) мне справляться на предыдущем раунде пришлось. Но она была на форумах описана. А эту гугль не находит.
Да, сейчас я обнаружил, что не был установлен xinedt, но установлен openbsd-inetd. Поставил xinetd, добавил строку в /etc/xinetd.conf, перезапустил xinetd. Не помогло. Может быть, убрать openbsd-inetd? Или всё вернуть на место и убрать xinetd?