Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: How-To сетевой сканер (расшарить, раздать usb сканер через сеть)  (Прочитано 45052 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн memfis

  • Автор темы
  • Активист
  • *
  • Сообщений: 360
    • Просмотр профиля
На данном форуме не нашел прямой инструкции, только отсылки на внешние ресурсы и 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, сканируем, радуемся.


« Последнее редактирование: 13 Апреля 2013, 13:31:43 от memfis »

Оффлайн Axel Mak

  • Любитель
  • *
  • Сообщений: 68
    • Просмотр профиля
Здравствуйте. А возможно расшарить сканер подключенный по usb  к ubuntu server 10.04 на windows машины по локальной сети?
Я нашел только способ подключения через web браузерами. Linux Scanner Server

С windows машин заходишь туда и сканируешь.
Есть ли более современные решения?

Оффлайн memfis

  • Автор темы
  • Активист
  • *
  • Сообщений: 360
    • Просмотр профиля
Думаю, что есть. Под Windowsми, я точно помню, были программы, отдельные программы, которые именно что подключались именно к сетевому сканеру. Сам сетевой сканер мы создали по первому посту. Так что надо поставить эту программу, указать адрес скан-сервера.

Оффлайн artem.ultra

  • Участник
  • *
  • Сообщений: 226
    • Просмотр профиля
    • Sa-iT
кто нибудь подскажет или заведется сканер от МФУ Canon MF4660 который подключен по USB к Ubuntu сервер или последний десктоп?

Оффлайн memfis

  • Автор темы
  • Активист
  • *
  • Сообщений: 360
    • Просмотр профиля

Сделал по описанию, не поленился даже заменить в файле /lib/udev/rules.d/40-libsane.rules везде как Вы описывали. Все равно не находит сканер:


Ответ на https://forum.ubuntu.ru/index.php?topic=160015.msg1376986#msg1376986

Давайте поэтапно:

Этап-1 - сканер должен подключиться и работать в паре с той машиной, которая будет обеспечивать сетевой доступ к сканеру. На этой машине должен быть запущен демон (сервер) saned.
Этап-2 - уже подключение удаленных машин к той машине-серверу, к которой кабелем подключен сканер.

Пользователь решил продолжить мысль 05 Марта 2012, 21:39:14:
По этапу-1.

вы пишите, что обнаружился
found USB scanner (vendor=0x04e8 [Samsung Electronics Co., Ltd.], product=0x3441 [SCX-3200 Series]) at libusb:002:002

Штатной программой сканирования (simple scan) сканер видится и сканирует? если нет, то при запуске сканировалки через sudo?
В правило вписали с иксом? - 0x04e8
для сравнения сделайте отдельно

sane-find-scanner
и
sudo sane-find-scanner
Аналогично и с scanimage -L. Если через sudo сканер заводится, а без - нет, следовательно допущена ошибка при внесении записи в правило удава (udev). После внесения изменений в правило удава надо перезапустить командой
sudo udevadm control --reload-rules
(или перезагрузка всей машины).

« Последнее редактирование: 05 Марта 2012, 21:39:14 от memfis »

Оффлайн okwell5

  • Любитель
  • *
  • Сообщений: 92
    • Просмотр профиля
Цитировать
Давайте поэтапно и в той теме (хау-ту), ибо здесь уже про следующее поколение, которое уже имеет встроенный сетевой интерфейс
дома себе не могу сканер установить.
Сделал все по инструкции, не обнаружилось. Единственное, что я не сделал: не добавил адрес сканера, не знаю как это сделать и где? И сначала как узнать его адрес?

Оффлайн memfis

  • Автор темы
  • Активист
  • *
  • Сообщений: 360
    • Просмотр профиля
Цитировать
Давайте поэтапно и в той теме (хау-ту), ибо здесь уже про следующее поколение, которое уже имеет встроенный сетевой интерфейс
дома себе не могу сканер установить.
Сделал все по инструкции, не обнаружилось. Единственное, что я не сделал: не добавил адрес сканера, не знаю как это сделать и где? И сначала как узнать его адрес?

Где именно не обнаружился? - на машине-сервере, к которой сканер подключен кабелем, или на удаленной?
И как же сделали "все по инструкции", если не знаете, как и где указать его адрес (это п. 5 инструкции, что выше)? Нам нужно клиентской машине указать адрес машины-сервера. Адрес машины-сервера узнаем в свойствах сетевого соединения, он имеет вид 192.168.ххх.ххх - т.е. 4 блока по  цифры. При этом надо добиться того, чтобы этот адрес был постоянным, всегда, т.е. либо сетевой адрес прописать руками в свойствах сетевого соединения машины-сервера, отключив получение адреса через dhcp (не забыв указать адрес шлюза, dns и маску подсети), либо настроить dhcp, так чтобы машине-серверу всегда выдавался конкретный адрес (это делается в его настройках путем сопоставления мак-адреса машины и выдаваемого ай-пи адреса). По-хоршоему и клиентской машине следует иметь несменяемый адрес - см. инстр. выше.
« Последнее редактирование: 07 Марта 2012, 23:24:51 от memfis »

Оффлайн okwell5

  • Любитель
  • *
  • Сообщений: 92
    • Просмотр профиля
Вы говорите о клиент-сервере. У меня же тут дома сканер подключен к компьютеру через usb и никаких клиентов. Он же и принтер в одном лице, только вот принтер настроил, а со сканером не знаю, не определяется.
хочу свой ip-адрес узнать, но:
alexander@alexander-pc:~$ ipconfig
Команда 'ipconfig' не найдено,
 Команда 'tpconfig' из пакета 'tpconfig' (universe)
 Команда 'iwconfig' из пакета 'wireless-tools' (main)
 Команда 'ifconfig' из пакета 'net-tools' (main)
ipconfig: команда не найдена
alexander@alexander-pc:~$
У меня постоянный адрес, модем настроен в режиме router.

Оффлайн memfis

  • Автор темы
  • Активист
  • *
  • Сообщений: 360
    • Просмотр профиля
Вы говорите о клиент-сервере. У меня же тут дома сканер подключен к компьютеру через usb и никаких клиентов. Он же и принтер в одном лице, только вот принтер настроил, а со сканером не знаю, не определяется.
х

Тогда это явно не по теме топика - здесь решается вопрос раздачи через сеть одного сканера для многих машин. Т.е. в вашем случае ip не важен абсолютно. Вам следует биться за удава. Вы не отписали о результатах по этапам https://forum.ubuntu.ru/index.php?topic=119674.msg1377040#msg1377040

Оффлайн okwell5

  • Любитель
  • *
  • Сообщений: 92
    • Просмотр профиля
У меня в системном мониторе два процесса saned работают. Но:
alexander@alexander-pc:~$ sane-find-scanner

  # sane-find-scanner will now attempt to detect your scanner. If the
  # result is different from what you expected, first make sure your
  # scanner is powered up and properly connected to your computer.

  # No SCSI scanners found. If you expected something different, make sure that
  # you have loaded a kernel SCSI driver for your SCSI adapter.

found USB scanner (vendor=0x04e8 [Samsung Electronics Co., Ltd.], product=0x3441 [SCX-3200 Series]) at libusb:002:002
  # Your USB scanner was (probably) detected. It may or may not be supported by
  # SANE. Try scanimage -L and read the backend's manpage.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports
  # can't be detected by this program.

  # You may want to run this program as root to find all devices. Once you
  # found the scanner devices, be sure to adjust access permissions as
  # necessary.
alexander@alexander-pc:~$ sudo scanimage -L
[sudo] password for alexander:
netdiscovery: relocation error: /lib/i386-linux-gnu/libnss_files.so.2: symbol strcmp, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
netdiscovery: relocation error: /lib/i386-linux-gnu/libnss_files.so.2: symbol strcmp, version GLIBC_2.0 not defined in file libc.so.6 with link time reference

No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).
alexander@alexander-pc:~$

Оффлайн memfis

  • Автор темы
  • Активист
  • *
  • Сообщений: 360
    • Просмотр профиля
для использования на локальной машине (то, к которой сканер подключен шнурком юсб) вообще не нужен saned. Не нужен сервер.

Он вам ругается на отсутствие библиотеки:

netdiscovery: relocation error: /lib/i386-linux-gnu/libnss_files.so.2: symbol strcmp, version GLIBC_2.0 not defined in file libc.so.6 with link time reference

Здесь не помогу - это явно не проблемы удава и не sane, это ругань на отсутствие библиотеки. Отсюда - а) что-то вы ставили, что повредило целостность и удалило\переместило библиотеку б) проверьте в синаптике наличие этой библиотеки и доустановите ее

Оффлайн okwell5

  • Любитель
  • *
  • Сообщений: 92
    • Просмотр профиля
В синаптике искал symbol strcmp, не нашел.

Оффлайн memfis

  • Автор темы
  • Активист
  • *
  • Сообщений: 360
    • Просмотр профиля
В синаптике искал symbol strcmp, не нашел.
Неправильно искали: обращать внимание следовало на буквы после not defined in file, т.е. на libc.so.

Да и просто скормить гуглу строку ругани не сложно и бывает полезно - https://www.google.com/search?client=ubuntu&channel=fs&q=netdiscovery%3A+relocation+error%3A+%2Flib%2Fi386-linux-gnu%2Flibnss_files.so.2&ie=utf-8&oe=utf-8

Оффлайн okwell5

  • Любитель
  • *
  • Сообщений: 92
    • Просмотр профиля
В синаптике искал symbol strcmp, не нашел.
Неправильно искали: обращать внимание следовало на буквы после not defined in file, т.е. на libc.so.

Да и просто скормить гуглу строку ругани не сложно и бывает полезно - https://www.google.com/search?client=ubuntu&channel=fs&q=netdiscovery%3A+relocation+error%3A+%2Flib%2Fi386-linux-gnu%2Flibnss_files.so.2&ie=utf-8&oe=utf-8
Просмотрел все сайты по этому запросу, оказывается, с этой проблемой уже столкнулись, но еще не решили.


Пользователь решил продолжить мысль 11 Марта 2012, 03:24:42:
Скачал ту библиотеку, скопировал файл, на который ругается, в требуемую директорию. Но:
alexander@alexander-pc:~$ scanimage -L
Floating point exception

No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).
alexander@alexander-pc:~$
« Последнее редактирование: 11 Марта 2012, 03:24:42 от okwell5 »

Оффлайн memfis

  • Автор темы
  • Активист
  • *
  • Сообщений: 360
    • Просмотр профиля

Скачал ту библиотеку, скопировал файл, на который ругается, в требуемую директорию.

Я в библиотеках не гуру, но, думается, что там простым копированием не обойтись - обычно ставится deb пакет, в нем обычно много чего  и много где. Пожалуйста попробуйте в темы с неполадками оборудования.
Еще имеет смысл зайти на сайт sane и посмотреть, что там пишут про Ваш сканер. Обычно за работу с самсунговскими сканерами отвечает файлик /etc/sane.d/xerox_mfp.conf - в нем посмотрите, есть ли Ваш сканер, если нет, то подредактируйте, чтобы был

 

Страница сгенерирована за 0.043 секунд. Запросов: 25.