Вменяемое сканирование, кнопки scanbd и разрешения службы

Я пытался заставить это работать весь день. Я почти там, но чего - то все еще не хватает. Вот история до сих пор:

  • Debian Jessie 8.3 headless home server
  • Canon mp140 MFP сканер / принтер полностью поддерживается SANE, через USB
  • здравомыслящая dll.конф настроен и работает (все комментируется кроме net и pixma)

scanimage -p --resolution 300 --format=tiff --mode Gray -x 210 -y 297 > test300.tiff
...сканирование бумаги формата A4 в оттенках серого и сохраняет его как TIFF просто отлично.


sudo service scanbd status
● scanbd.service - Scanner button polling Service
   Loaded: loaded (/lib/systemd/system/scanbd.service; disabled)
   Active: active (running) since Fri 2016-02-19 19:24:03 CET; 23min ago
 Main PID: 1740 (scanbd)
   CGroup: /system.slice/scanbd.service
           └─1740 /usr/sbin/scanbd -f

Feb 19 19:24:03 server scanbd[1740]: /usr/sbin/scanbd: dbus match type='signal',interface='org.freedesktop.Hal.Manager'

он, кажется, работает, но он не реагирует на кнопки вообще.


Я попытался остановить службу и запустить scanbd как root -И ЭТО РАБОТАЕТ!

sudo scanbd -f
scanbd: dbus match type='signal',interface='org.freedesktop.Hal.Manager'
scanbd: trigger action for button-1 for device pixma:04A9172B_ABCDEF with script example.script

Итак, я предполагаю, что это какая-то проблема разрешений. Я пытался изменить в/etc/scanbd.conf и заменить

user = scand  
group = scanner  

С

user = root  
group = root

но тогда, когда я перезапустить службу scanbd это то, что я получаю, и кнопки не работают снова:

● scanbd.service - Scanner button polling Service
   Loaded: loaded (/lib/systemd/system/scanbd.service; disabled)
   Active: active (running) since Fri 2016-02-19 20:07:11 CET; 4s ago
 Main PID: 2562 (scanbd)
   CGroup: /system.slice/scanbd.service
           └─2562 /usr/sbin/scanbd -f

Feb 19 20:07:11 server scanbd[2562]: /usr/sbin/scanbd: dbus match type='signal',interface='org.freedesktop.Hal.Manager'
Feb 19 20:07:11 server scanbd[2562]: /usr/sbin/scanbd: Not Primary Owner (-1)
Feb 19 20:07:11 server scanbd[2562]: /usr/sbin/scanbd: Name Error (Connection ":1.96" is not allowed to own the service "de.kmux.scanbd.server" due to security policies in the configuration file)

Я, вероятно, упускаю из виду некоторые очевидные детали, но я не могу понять, что это такое. Любая помощь будет принята с благодарностью.

21
задан vto80
10.01.2023 23:44 Количество просмотров материала 2826
Распечатать страницу

1 ответ

у меня наконец-то все работает...

конечной целью для меня было заставить кнопки сканирования работать. К тому времени, как я понял это, я получил кнопки сканирования работают и сканирование сети также.

оказывается, я смотрел на это неправильно, и, следовательно, шел на это неправильно.

Мне жаль, что я не могу записать точную последовательность команд, чтобы сделать эту работу, поскольку я сделал довольно беспорядок к тому времени, когда я закончил. Но я надеюсь, что смогу хотя бы помогите с общей логикой.

так, либо scanbd (служба кнопок сканера) или saned (служба сетевого сервера сканера) может обращаться к сканеру, но не одновременно. scanbd блокирует сканер, постоянно обновляя состояние кнопки, и saned замки для использования в качестве сетевого сканера.

как это работает, используя только scanbd как услуга.

scanbd после этого получает, что контролирует положение кнопок постоянн, и запустите действие, если нажата кнопка. Но он также получает слушать на sane-port 6566 (tcp). Если он обнаруживает трафик, он прекращает мониторинг кнопок и запускает saned сервис, который берет на себя. Когда saned завершается сетевой сканер сервер, scanbd резюме по нажатию кнопки, или больше сетевого трафика на уме-порт.

для того чтобы это работало, saned необходимо настроить дважды.

И как сервер и клиент дальше та же машина. Серверная часть запускается, когда scanbd определяет сетевой трафик и описано в параграфе выше.

клиентская часть запускается вручную при запуске сканирования через scanimage, и когда scanbd обнаруживает нажатие кнопки. The saned клиент должен быть настроен для подключения к сети saned сервер (та же машина, что и localhost, 127.0.0.1 или имя хоста, backend 'net') - не USB - таким образом избегая конфликтов с scanbd. scanbd затем обнаруживает некоторый сетевой трафик на порту 6566 и запускает saned как сервер, как если бы это был действительно какой-то сетевой клиент.

конфигурация клиента находится в /etc/sane.d пока сервер конфиг в /etc/scanbd/sane.d. Конфигурация сервера должна быть скопирована туда из /etc/sane.d (просто скопируйте всю папку), а затем измените, чтобы действовать как сервер и общаться со сканером через usb, т. е. независимо от того, что на самом деле использует сканер. В /etc/scanbd/scanbd.conf SANE_CONFIG_DIR должен указывать на saned сервер: /etc/scanbd/sane.d

Edit: кроме того, если машина защищена брандмауэром, откройте порт 6566 и загрузите модуль ядра nf_conntrack_sane:

sudo ufw allow 6566/tcp

sudo modprobe nf_conntrack_sane

и если это работает, добавьте nf_conntrack_sane до /etc/modules

2
отвечен vto80 2023-01-12 07:32

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх