У меня наконец все заработало ...
Конечной целью для меня было заставить работать кнопки сканирования. К тому времени, когда я понял это, у меня появились кнопки сканирования и сканирование по сети.
Оказывается, я смотрел на это неправильно, и, следовательно, иду на это неправильно.
Извините, я не могу записать точную последовательность команд, чтобы сделать эту работу, потому что к тому времени, когда я закончил, я запутался. Но я надеюсь, что смогу хотя бы помочь с общей логикой этого.
Таким образом, либо scanbd
(служба кнопки сканера), либо saned
(служба сетевого сервера сканера) могут получить доступ к сканеру, но не к обоим одновременно. scanbd
блокирует сканер, постоянно обновляя состояние кнопки, и saned
блокирует его для использования в качестве сетевого сканера.
Это работает ТОЛЬКО scanbd
как сервис.
scanbd
затем постоянно контролирует состояние кнопок и запускает действие при нажатии кнопки. Но он также может прослушивать вменяемый порт 6566 (tcp) . Если он обнаруживает трафик, он прекращает мониторинг кнопок и запускает saned
службу, которая затем вступает во владение. Когда saned
сервер сетевого сканера завершит работу, он scanbd
возобновит ожидание нажатия кнопки или увеличения сетевого трафика через порт sane.
Для того, чтобы это работало, saned
необходимо настроить дважды.
И как сервер, и как клиент на одной машине. Серверная часть запускается при scanbd
обнаружении сетевого трафика и описана в параграфе выше.
Клиентская часть запускается либо вручную, когда вы запускаете сканирование через scanimage
, либо когда scanbd
обнаруживает нажатие кнопки. saned
Клиент должен быть настроен для подключения к сетевому saned
серверу (на той же машине, так LOCALHOST, 127.0.0.1 или имя хоста, бэкэнд « чистый ») - НЕ 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
Изменить: Кроме того, если машина защищена брандмауэром, откройте порт 6566 и загрузите модуль ядра nf_conntrack_sane:
sudo ufw allow 6566/tcp sudo modprobe nf_conntrack_sane
и если это тогда работает, добавьте nf_conntrack_sane
к/etc/modules