SANE-Scannen, Scanbd-Schaltflächen und Dienstberechtigungen

2720
vto80

Ich habe den ganzen Tag versucht, diese Arbeit zu machen. Ich bin fast da, aber es fehlt noch etwas. Hier ist die Geschichte bisher:

  • Debian Jessie 8.3-Headless-Home-Server
  • Canon MP140 MFP-Scanner / Drucker wird von SANE vollständig über USB unterstützt
  • SANE dll.conf konfiguriert und funktioniert (alles außer Net und Pixma )

scanimage -p --resolution 300 --format=tiff --mode Gray -x 210 -y 297 > test300.tiff ... scannt ein A4-Papier in Graustufen und speichert es in Ordnung.


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' 

Es scheint zu laufen, reagiert aber überhaupt nicht auf die Tasten.


Ich habe versucht, den Dienst zu beenden und Scanbd als root zu starten - UND ES FUNKTIONIERT!

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 

Meine Vermutung war also eine Art Berechtigungsproblem. Ich habe versucht, /etc/scanbd.conf zu ändern und zu ersetzen

user = scand  group = scanner  

mit

user = root  group = root 

Aber wenn ich den Scanbd-Dienst neu starte, bekomme ich dies, und die Schaltflächen funktionieren nicht mehr:

● 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) 

Ich übersehe wahrscheinlich einige offensichtliche Details, aber ich kann nicht wirklich herausfinden, was es ist. Jede Hilfe wäre sehr dankbar.

1
Hast du das gesehen? http://sane.10972.n7.nabble.com/scanbd-problem-with-dbus-permission-td17255.html MariusMatutiae vor 8 Jahren 0
@MariusMatutiae Ja, ich habe es gesehen. Sieht ähnlich aus, aber aus meiner Sicht ist es ein ganz anderes Thema. Andere Umgebung auch - Debian 6 und eine ältere Sane / Scanbd-Combo. Und einige fehlende Dateien, die in meinem Fall vorhanden sind. vto80 vor 8 Jahren 0

1 Antwort auf die Frage

2
vto80

Ich habe es endlich geschafft ...

Das Endziel für mich war, die Scan-Tasten zum Laufen zu bringen. Als ich es herausfand, bekam ich die Scan-Tasten UND das Netzwerk-Scannen.

Es stellte sich heraus, dass ich den falschen Weg betrachtete und folglich den falschen Weg betrat.
Es tut mir leid, dass ich die genaue Reihenfolge der Befehle nicht aufschreiben kann, um dies zu erreichen, da ich zu der Zeit, als ich fertig war, ein Durcheinander hatte. Aber ich hoffe, ich kann zumindest bei der allgemeinen Logik helfen.

Daher können entweder scanbd(der Scannertastendienst) oder saned(der Netzwerkserverdienst des Scanners) auf den Scanner zugreifen, jedoch nicht beide gleichzeitig. scanbdSperrt den Scanner durch ständiges Aktualisieren des Tastenzustands und sanedsperrt ihn zur Verwendung als Netzwerkscanner.

Die Funktionsweise besteht darin, NUR scanbdals Dienst zu verwenden.
scanbdAnschließend wird der Status der Tasten ständig überwacht, und eine Aktion wird ausgelöst, wenn eine Taste gedrückt wird. Es wird aber auch auf dem Sane-Port 6566 (TCP) zu hören . Wenn es Verkehr erkennt, stoppt es die Überwachung der Tasten und startet den sanedDienst, der dann übernimmt. Wenn sanedein Netzwerkscanner-Server fertig ist, wird scanbddas Warten auf einen Tastendruck oder mehr Netzwerkverkehr auf dem Sane-Port fortgesetzt.

Damit dies funktioniert, sanedmuss zweimal konfiguriert werden.
Sowohl als Server als auch als Client auf demselben Computer. Der Serverteil wird gestartet, wenn scanbdNetzwerkverkehr erkannt wird. Dies wird im obigen Abschnitt beschrieben.

Der Client-Teil wird entweder manuell gestartet, wenn Sie einen Scan über starten scanimage, oder wenn scanbdein Tastendruck erkannt wird. Der sanedClient sollte so konfiguriert sein, dass er sich mit einem Netzwerkserver verbindet saned(derselben Maschine, also localhost, 127.0.0.1 oder Hostname, Backend ' net ') - NICHT USB -, wodurch Konflikte vermieden werden scanbd. scanbdDann wird ein gewisser Netzwerkverkehr auf Port 6566 erkannt und sanedals Server gestartet, als ob es sich tatsächlich um einen Netzwerkclient handelt.

Die Client-Konfiguration befindet sich in, /etc/sane.dwährend sich die Server-Konfiguration in befindet /etc/scanbd/sane.d. Die Serverkonfiguration muss von dort kopiert werden /etc/sane.d(einfach den gesamten Ordner kopieren) und dann so geändert werden, dass sie als Server fungiert und über USB mit dem Scanner kommuniziert, dh welches Backend der Scanner tatsächlich verwendet. Im /etc/scanbd/scanbd.confSANE_CONFIG_DIR sollte auf den sanedServer-Teil zeigen:/etc/scanbd/sane.d

Bearbeiten: Öffnen Sie außerdem den Port 6566 und laden Sie das Kernel-Modul nf_conntrack_sane, wenn der Rechner eine Firewall hat.

sudo ufw allow 6566/tcp  sudo modprobe nf_conntrack_sane 

und wenn es dann funktioniert, fügen Sie nf_conntrack_sanezu/etc/modules