[[Vorlage(Getestet, bionic)]] [[Vorlage(Fortgeschritten)]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] [:Packprogramme: Archive entpacken] [:Programme kompilieren: Pakete aus dem Quellcode erstellen] [:Editor: Einen Editor verwenden] [:sudo: Root-Rechte] }}} [[Inhaltsverzeichnis()]] [sourceforge:scanbd:scanbd] (Scan Button Daemon) stellt einen Dienst, der auf Tastendrucke und ggf. andere Meldungen von [:SANE:]-fähigen Scannern lauscht. Auf diese Impulse hin können Befehle ausgeführt werden (z.B. Skripte gestartet werden), die Scanner-Funktionen einsetzen, ohne dass direkt eine Scannersoftware verwendet werden muss. So kann z.B. ein Scanner, der an eine Server angeschlossen ist, direkt über die Tasten am Gerät verwendet werden. scanbd verwendet das net-[:SANE-Scanserver_im_Netzwerk:Backend], und einen weiteren Deamon (`scanbm`), der zwischengeschaltet wird, um bei Verwendung/Anfragen anderer Geräte das Polling zu unterbrechen. scandb kann als Ersatz für [:scanbuttond:] verwendet werden, das ab [:16.04:Ubuntu 16.04] nicht mehr in den Quellen ist und seit 2007 nicht mehr weiterentwickelt wurde, allerdings leider nicht als 1:1-Ersatz. Voraussetzung für die Nutzung von scanbd ist eine funktionierender [:SANE-Scanserver_im_Netzwerk:SANE-Server], von dem aus auch direkt auf lokal angeschlossene Scanner zugegriffen werden kann. [[Bild(Wiki/Icons/synaptic.png, 48, align=right)]] = Installation = == Aus den offiziellen Quellen == [packages:scanbd:] ist ab [:16.04:Ubuntu 16.04] in den offiziellen Paketquellen enthalten, folgendes Paket muss installiert[1] werden: {{{#!vorlage Paketinstallation scanbd, universe }}} == Aus dem Quellcode == Ggf. funktioniert die Version aus den Quellen nicht einwandfrei (siehe [bug:1747115:]), oder die Tasten werden von der Standard-Version nicht erkannt. Dann kann es helfen, das Programm in aktueller Version aus dem Quellcode zu erstellen. Benötigt werden dafür neben den üblichen Werkzeugen folgende Pakete: {{{#!vorlage Paketinstallation libconfuse-dev, universe libdbus-1-dev libsane-dev libusb-dev pkg-config libsane-dev libudev-dev }}} Den Code von der [sourceforge:scanbd/files/releases:Projektseite] herunterladen, das Archiv entpacken[3], kompilieren[4] und installieren. = Funktionsweise = Um die Impulse erkennen zu können, öffnet `scanbd` das Gerät und blockiert so den Scanner für andere Anwendungen. Um dieses Problem zu umgehen, wird ein weiterer Daemon eingesetzt, der für die Zeit, in der anderweitig auf den Scanner zugegriffen werden soll, das Polling unterbricht. Dazu wird `scanbm` (der "Manager-Modus" von scanbd) statt `saned` als Netzwerk-Daemon verwendet. Er wird quasi als "Proxy" eingesetzt, der ein [:D-Bus:dbus]-Signal an `scanbd` sendet, wenn andere Anfragen eingehen. Daraufhin wird der reguläre `saned`-Dienst eingesetzt, um einen Scan zu starten und die Ergebnisse an die anfragende Anwendung zu senden. Danach übernimmt wieder `scanbm` und sendet `scanbd` den Auftrag, das Polling wieder aufzunehmen. Um das zu ermöglichen, müssen die Standard-Einstellungen für SANE so angepasst werden, dass von scanbd gestartete Scanner-Anwendungen auf den lokal angeschlossenen Scanner über das `net`-backend zugreifen können. {{{#!vorlage Hinweis Die gleichzeitige Verwendung von scanbd (genauer dem '''scanbm.socket''') und dem [:SANE-Scanserver_im_Netzwerk:saned-Daemon] schließen sich gegenseitig aus. }}} = Scanner-Tasten = Ob die Tasten am Scanner erkannt werden sollten, kann im Terminal[2] mit dem Aufruf von `scanimage -A` überprüft werden. Die erkannten Tasten ("`Sensors`") werden am Ende der Ausgabe aufgeführt, für einen Canon LiDE 220 sind das z.B. Folgende: {{{ All options specific to device `genesys:libusb:003:005': Scan Mode: ... Sensors: --scan[=(yes|no)] [no] [hardware] Scan button --file[=(yes|no)] [no] [hardware] File button --email[=(yes|no)] [no] [hardware] Email button --copy[=(yes|no)] [no] [hardware] Copy button --extra[=(yes|no)] [no] [hardware] Extra button Buttons: --clear-calibration Clear calibration cache }}} Bei einem CanoScan N670U sind die Tasten unter "`Buttons`" zu finden: {{{ All options specific to device `net:debian.fritz.box:plustek:libusb:001:003': [...] Buttons: --button 0[=(yes|no)] [no] [hardware] This option reflects the status of the scanner buttons. --button 1[=(yes|no)] [no] [hardware] This option reflects the status of the scanner buttons. --button 2[=(yes|no)] [no] [hardware] This option reflects the status of the scanner buttons. --button 3[=(yes|no)] [inactive] This option reflects the status of the scanner buttons. --button 4[=(yes|no)] [inactive] This option reflects the status of the scanner buttons. }}} === scanbuttond-Backends einsetzen === Wenn, etwa bei älterer Hardware, die Tasten des Scanners nicht erkannt werden, kann es helfen, bei `./configure` die Option `--enable-scanbuttond` zu verwenden. Damit kann `scandb` auf [:scanbuttond:]-Backends zurückgreifen (z.B. für einem CanoScan LiDE 60 nötig). Die unterstützten Backends findet man in '''/usr/local/lib/scanbd/scanbuttond/backends''', in '''scandb.conf''' muss die Nutzung in der entsprechende Freigabesektion aktiviert werden. = Funktionstest = Um nähere Informationen darüber zu erlangen, welche Tasten scanbd erkennt, kann zunächst im Terminal ein Aufruf mit dem Befehl {{{#!vorlage Befehl scanbd -f -d7 }}} erfolgen. Dazu muss der SANE-Daemon ausgeschaltet sein (mit `sudo systemctl stop saned.socket`) und es darf keine weitere scanbd Instanz laufen ('sudo systemctl stop scanbd.service' wenn der Dienst vorher gestartet wurde), sonst erkennt scanbd keine Scanner. Mit dem Befehl läuft scanbd im Vordergrund im höchsten "debugging"-Level, im Terminal erscheinen zunächst die Angaben zum Gerät sowie Ergebnisse die Standard-Filter-Abfragen, die in der '''scandb.conf''' vorgesehen sind, so z.B. {{{ scanbd: checking action scan with filter: ^scan.* ... scanbd: checking action email with filter: ^email$ ... scanbd: checking action copy with filter: ^copy$ ... }}} Danach erfolgt das Logging der Abfragen für die gefundenen Optionen, z.B. etwas wie {{{ scanbd: Start the polling for device genesys:libusb:003:005 scanbd: polling thread for genesys:libusb:003:005, before cancellation point scanbd: polling thread for genesys:libusb:003:005, after cancellation point scanbd: polling device genesys:libusb:003:005 scanbd: get_sane_option_value scanbd: checking option preview number 4 (0) for device genesys:libusb:003:005: value: 0 }}} Beim Drücken einer der Tasten sollte sich die `value`-Angabe in der letzten Zeile auf den Wert `1` ändern, wenn diese Option durch eine der Tasten ausgelöst wird. Wenn beim Tastendruck keine Veränderung erfolgt, werden die Tasten von scanbd nicht erkannt. Ggf. muss sichergestellt werden, dass die Filter in '''scandb.conf''' bzw. in der evtl. darin includierten Scannerspezifischen Konfiguratiosdatei aus '''./scanner.d/''' den Bezeichnungen der Scanner-Tasten aus `scanimage -A` entsprechen (s. Konfiguration). {{{#!vorlage Hinweis Falls {{{'scanbd: SANE_CONFIG_DIR not set' \}}} angezeigt wird, den o.g. Befehl durch {{{#!vorlage Befehl SANE_CONFIG_DIR=/etc/scanbd scanbd -f -d7 \}}} ersetzen. }}} = Konfiguration = scanbd ist voll mit [:systemd:] kompatibel, und benötigt keine Dienste, um den Dienst `scanbm` zu starten. Diese Möglichkeit existiert weiterhin und kann bei Bedarf verwendet werden (wird hier nicht ausgeführt, siehe aber z.B. diese [https://bbs.archlinux.de/viewtopic.php?id=20954 Anleitung] {de} auf bbb.archlinux.de). == saned neu konfigurieren == === dll.conf === * '''/etc/sane.d/dll.conf''' wird so in einem Editor mit Root-Rechten bearbeitet, dass nur der Eintrag `net` existiert, alle anderen Eintrage werden gelöscht oder auskommentiert. * In '''/etc/scanbd/dll.conf''' hingegen, darf `net` __nicht__ auftauchen, dort nur die tatsächlich benötigten backends eintragen. === net.conf === In der Datei '''/etc/sane.d/net.conf''' werden die Einträge {{{ # saned lokal, langer timeout unnoetig connect_timeout = 3 # scanbm lauscht an localhost localhost }}} benötigt. == scanbd.conf anpassen == {{{#!vorlage Hinweis Bestehende systemd-Units werden am sichersten mit dem Befehl {{{#!vorlage Befehl sudo systemctl edit --full NAME_DER_UNIT_DATEI \}}} bearbeitet, es wird damit der eingerichtete System-Editor aufgerufen, die Datei wird dann nach '''/etc/systemd/system''' kopiert, und die Unit neugestartet. (siehe [:systemd/Units/#Bestehende-Unit-editieren: Bestehende Units editieren]). }}} === debug-level === Während sich für die Einrichtung und Fehlersuche die höchste Stufe (7) eignet, empfiehlt es sich für den Betrieb auf 2 zu wechseln um syslog nicht mehrmals pro Sekunde zuzumüllen. === Filter anpassen === Die Filter in '''scanbd.conf''' oder den Konfigurationsdateien in '''./scanner.d''' können in einem Editor[5] mit Root-Rechten[6] angepasst werden. * Z.B. für einen CanoScan 220 LiDE, der eine "Weiter"-Taste hat - unter Windows zum Erstellen von mehrseitigen PDFs - mit dem zusätzliche Eintrag {{{ action extras { filter = "^extra$" string-trigger { from-value = "" to-value = "^extra.*" } desc = "whatever" # frei wählbar # script must be an relative path starting from scriptdir (see above), # or an absolute pathname. # It must contain the path to the action script without arguments # Absolute path example: script = "/some/path/foo.script script = "test.script" } }}} * Für einen CanoScan N670U muss eine Konfigurationsdatei '''./scanner.d/plustek.conf''' angelegt und in '''scanbd.conf''' unter `# include` mit `include(scanner.d/plustek.conf)` eingefügt werden: {{{ device plustek { # the device matching string filter = "^plustek.*" # the device description desc = "Plustek Scanner" # device specific actions # (overriding previously defined matching actions) action email { filter = "^button 0.*" numerical-trigger { from-value = 1 to-value = 0 } desc = "Scan to e-mail" # script must be an relative path starting from scriptdir (see above), # or an absolute pathname. # It must contain the path to the action script without arguments # Absolute path example: script = "/some/path/foo.script script = "test.script" } action copy { filter = "^button 1.*" numerical-trigger { from-value = 1 to-value = 0 } desc = "Scan to printer" # script must be an relative path starting from scriptdir (see above), # or an absolute pathname. # It must contain the path to the action script without arguments # Absolute path example: script = "/some/path/foo.script script = "test.script" } action scan { filter = "^button 2.*" numerical-trigger { from-value = 1 to-value = 0 } desc = "Scan to file" # script must be an relative path starting from scriptdir (see above), # or an absolute pathname. # It must contain the path to the action script without arguments # Absolute path example: script = "/some/path/foo.script script = "test.script" } } }}} {{{#!vorlage Experten Der Name '''canon.conf''' im Verzeichnis '''scanner.d''' ist etwas irreführend; der Inhalt bezieht sich nicht auf das canon-backend, sondern auf das genesys-backend, das z.B. für Canon-LiDE-Scanner verwendet wird. }}} == Weitere Anpassungen für selbsterstellte Versionen == Für eine aus dem Sourcecode erstellte Version wird keine eigene '''dll.conf''' etc. angelegt (die Version aus den Quellen kopiert/verknüpft beim Installieren von sich aus die Dateien aus '''/etc/sane.d''' nach '''/etc/scanbd'''). Deswegen kopiert man (Rootrechte nötig) den Ordner''' /etc/sane.d/''' als Unterordner nach '''/usr/local/etc/scanbd/''' (den von [:checkinstall:] verwendeten Ort der Installation). Hier dann in der Datei '''/usr/local/etc/scandb/sane.d/dll.conf''' den `net`-Eintrag auskommentieren/löschen und nur die sonst verwendeten backends stehen lassen. Zudem müssen in den Dateien '''/lib/systemd/system/scanbm@.service''' und'''.../scanbd.service''' die Pfade für die Einträge für `ExecStart` und `Environment` folgendermaßen angepasst werden: {{{ ExecStart=/usr/local/sbin/scanbm -c /usr/local/etc/scanbd/scanbd.conf #scanbm@.service }}} bzw. {{{ ExecStart=/usr/local/sbin/scanbd -f -c /usr/local/etc/scanbd/scanbd.conf #scanbd.service ... Environment=SANE_CONFIG_DIR=/usr/local/etc/scanbd/sane.d #beide Dateien }}} In der ''' /usr/local/etc/scanbd/scanbd.conf''' den Pfad in der Angabe zu `saned_env = { "SANE_CONFIG_DIR...}` ebenfalls auf '''/usr/local/etc/scanbd/sane.d''' setzen. == Daemon starten== Bevor der Dienst gestartet wird muss sichergestellt werden, dass saned nicht aktiv ist (`sudo systemctl stop saned.socket`) Es ist nicht möglich, saned mit `scanbm.socket` gleichzeitig zu verwenden, sie schließen sich gegenseitig aus. Der Start des `saned`-Dienstes muss __vorher__ mit dem Befehl {{{#!vorlage Befehl sudo systemctl disable saned.socket }}} dauerhaft unterbunden werden. Mit folgenden Befehlen wird der `scanbd`/`scanbm`-Dienst initiiert und gestartet {{{#!vorlage Befehl sudo systemctl enable scanbd.service # zur automatischen Ausführung beim Systemstart nötig sudo systemctl start scanbd.service sudo systemctl enable scanbm.socket # zur automatischen Ausführung beim Systemstart nötig sudo systemctl start scanbm.socket }}} Falls es dabei zu einer Fehlermeldung kommt, läuft evtl. saned im Hintergrund ('sudo ps -aux | grep saned') und muss ggf. beendet werden. {{{#!vorlage Hinweis Falls der Start von scanbm.socket fehlschlägt und 'sudo systemctl status scanbm.socket' als Ursache 'Port belegt' liefert ('scanbm.socket: Failed to listen on sockets: Address already in use'), empfiehlt es sich zu prüfen, wodurch der Port belegt wird: {{{#!vorlage Befehl ss -anp|grep 6566 \}}} Antwort z.B.: {{{ tcp LISTEN 0 128 *:6566 *:* users:(("inetd",pid=569,fd=7)) \}}} Ggf. den entsprechenden Dienst oder Prozess beenden - hier: {{{#!vorlage Befehl sudo systemctl stop inetd.service sudo systemctl disable inetd.service \}}} und scanbm.socket erneut starten ('sudo systemctl start scanbm.socket'). }}} = Tasten mit Funktionen belegen = Um die Tasten dann mit Funktionen wie Scannen, Fotokopie erstellen, Email etc. zu belegen, in der '''scanbd.conf''' die Einträge, die im Auslieferungszustand auf '''test.script''' verweisen, entsprechend anpassen In '''(...)/etc/scanbd(/scripts)''' bzw. '''/usr/share/scanbd/scripts/''' finden sich Vorlagen, die den eigenen Bedingungen angepasst werden können. Bei Rechteproblemen kann es hilfreich sein sein, die zu verwendenden Skripte in einen Ordner im Homeverzeichnis zu verlegen legen, dazu dann die Angabe zum Skriptspeicherort (Standard '''/etc/scanbd/scripts''') entsprechend anpassen. {{{#!vorlage Hinweis Um unter einer Version, die die scanbuttond-Backends verwendet, GUI-Programme einzusetzen, die von den Skripten aufgerufen werden, muss ggf. der Zugriff für den root-Benutzer auf den [:XServer:] ermöglicht werden. Das kann für die laufende Sitzung mit dem Befehl {{{#!vorlage Befehl xhost +si:localuser:root \}}} geschehen. Um das dauerhaft zu ermöglichen, müsste der Befehl in den [:Autostart:] aufgenommen werden. }}} Ein Skript zur Erstellung eines PDFs mit Texterkennung via [:OCRmyPDF:] könnte so aussehen: {{{#!code bash scanimage --format tiff --mode Gray --resolution 300 -l 0 -t 0 -x 210mm -y 297mm > /home/BENUTZER/scanbd.tiff#scannt das Bild ein und speichert es als tiff (hier in Graustufen und Auflösung 300dpi) tiff2pdf -o /home/BENUTZER/scanbd.pdf /home/BENUTZER/scanbd.tiff # eingescanntes Bild wird in Pdf umgewandelt und an ocrmypdf übergeben export LANG=C.UTF-8 export LC_ALL=C.UTF-8 ocrmypdf -q --pdf-renderer hocr -l deu /home/BENUTZER/scanbd.pdf /home/BENUTZER/scanbdhocr.OCR.pdf }}} Weitere Informationen und Beispiele zu derartigen Skripten finden sich im Artikel [:scanbuttond/#Skript-Beispiele:]. Die Durchführung der Skripte startet bei Verwendung der Version aus den Quellen ggf. mit einer erheblichen Zeitverzögerung (bis zu 30 Sekunden), also etwas Geduld haben, eine selbsterstellte Version startet wesentlich schneller. Im Terminal kann in der Ausgabe von {{{#!vorlage Befehl systemctl status scanbd.service }}} überprüft werden, ob der Befehl umgesetzt wir, oder es ggf. zu Fehlern bei der Abarbeitung des Skriptes kommt - ggf. zunächst keine "Quiet"-Einstellungen bei den Programmen verwenden, die Meldungen werden dann mit angezeigt. = Probleme und Lösungen = == Auf dem Server ist kein Zugriff auf den Scanner mehr möglich == Grundsätzlich lässt sich der Service starten, eine Überprüfung liefert folgendes Ergebnis: {{{#!vorlage Befehl systemctl status scanbd.service }}} {{{ ● scanbd.service - Scanner button polling Service Loaded: loaded (/lib/systemd/system/scanbd.service; enabled; vendor preset: enabled) Active: active (running) since Do 2018-03-29 18:52:55 CEST; 57s ago Main PID: 5428 (scanbd) CGroup: /system.slice/scanbd.service └─5428 /usr/sbin/scanbd -f Mär 29 18:52:55 Rechenername systemd[1]: Started Scanner button polling Service. Mär 29 18:52:55 Rechenername scanbd[5428]: /usr/sbin/scanbd: dbus match type='signal',interface='org.freedesk }}} Allerdings funktioniert das "Umschalten" per `scanbm` nicht, zwar liefert während des Aufrufs von externen Programmen {{{#!vorlage Befehl systemctl status scanbm.socket }}} eine Ausgabe in der Art {{{ ● scanbm.socket - scanbd/saned incoming socket Loaded: loaded (/lib/systemd/system/scanbm.socket; enabled; vendor preset: enabled) Active: active (listening) since Do 2018-03-29 18:53:15 CEST; 12min ago Listen: [::]:6566 (Stream) Accepted: 25; Connected: 1 Mär 29 18:53:15 Rechenername systemd[1]: Listening on scanbd/saned incoming socket. }}} In der Systemüberwachung wird auch eine gestartete saned-Instanz angezeigt, der Aufruf von {{{#!vorlage Befehl systemctl status scanbm@*.service }}} liefert zwar etwas wie {{{ ● scanbm@3-127.0.0.1:6566-127.0.0.1:53122.service - Scanner Service (127.0.0.1:53122) Loaded: loaded (/lib/systemd/system/scanbm@.service; static; vendor preset: enabled) Active: active (running) since Sun 2019-04-28 08:58:34 CEST; 37s ago Main PID: 6435 (scanbm) Tasks: 3 (limit: 4915) CGroup: /system.slice/system-scanbm.slice/scanbm@3-127.0.0.1:6566-127.0.0.1:53122.service ├─6435 /usr/local/sbin/scanbm -c /usr/local/etc/scanbd/scanbd.conf └─6436 saned Apr 28 08:58:34 RECHNERNAME systemd[1]: Started Scanner Service (127.0.0.1:53122). Apr 28 08:58:34 RECHNERNAME scanbm[6435]: /usr/local/sbin/scanbm: dbus match type='signal',interface='org.freedesktop. Apr 28 08:58:34 RECHNERNAME saned[6436]: saned (AF-indep+IPv6) from sane-backends 1.0.27git starting up Apr 28 08:58:34 RECHNERNAME saned[6436]: check_host: access by remote host: ::ffff:127.0.0.1 Apr 28 08:58:34 RECHNERNAME saned[6436]: init: access granted to BENUTZER@::ffff:127.0.0.1 }}} Programme wie XSane, Simple-Scan oder scanimage erkennen den Scanner allerdings __nicht__ und liefern Fehlermeldungen in der Art, dass das Gerät besetzt sei. Das `net`-Backend kann also auf dem Server nicht "extern" angesprochen werden werden. === Sleep-Skript === Als Lösung kann ein Sleep-Skript zum Einsatz kommen, für das allerdings eine Taste des Scanners verwendet werden muss. Durch den Aufruf wird das Polling zunächst unterbrochen (`sleep 60`), in der Zeit kann ein externes Programm gestartet werden, das via net-backend, welches in der Zeit zugänglich ist, auf den Scanner zugreift. Damit wird ein `saned`-Prozess gestartet; das Skript überprüft dann (alle 30 Sekunden, Wert ist anpassbar), ob der Prozess noch läuft. Mit Schließen des externen Programms wird auch der `saned`-Prozess beendet, und scanbd kann dann wieder mit dem Lauschen beginnen. Das Skript bei als '''sleep.script''' den scanbd-Skripten abspeichern und ausführbar machen und in der '''scanbd.conf''' für die gewünschte Taste als Befehl eintragen. {{{#!code bash #!/bin/bash sleep 60 while pidof saned true do sleep 30 done }}} === Starten eines Scanprogramms auf dem Server via Taste am Scanner === Als weitere provisorische Lösung zur Nutzung von Scanprogrammen kann auch ein Skript eingerichtet werden, das mit einer beliebigen Taste des Scanners aufgerufen werden kann. Um beispielsweise XSane zu starten, kann folgendes Skript verwendet werden: {{{#!code bash #!/bin/bash export DISPLAY=:0 export LANG=de_DE.UTF-8 export LC_ALL=de_DE.UTF-8 xsane }}} Die `DISPLAY`-Angabe ist nötig weil sonst für GUI-Programme keine Ausgabe erfolgt, mit den `LANG/LC_ALL`-Angaben wird die Sprache/Zeichensatz-Angabe umgestellt, auch für ggf. von XSane aus aufgerufene Programme. Allerdings kann es zu Rechte-Problemen kommen, weil ggf. Programme oder Funktionen nicht über Bash-Skripte aufgerufen werden können. == Zweiter Scanner wird nicht gefunden == Bei Verwendung der "Standard"-Version wird ggf. auch ein weiterer angeschlossener Scanner nicht gefunden, bzw. vom Scanprogramm als "besetzt" ("Decive Busy" o.ä.) angezeigt. Abhilfe schafft auch hier die Verwendung des Sleep-Skripts, dann kann bei Aufruf der Programme der gewünschte Scanner mit angegeben/ausgewählt werden. == Falscher Scanner startet bei Verwendung der scanbuttond-backends == Bei Verwendung eines Scanners, der über die scanbuttond-backends läuft, kann es passieren, dass ein zweiter angeschlossener Scanner (zumindest wenn er über dasselbe sane-backend läuft - aufgetreten bei zwei Scannern, die beide das genesys-backend benötigen) bei Tastendruck vom ersten Scanner aus verwendet wird. Abhilfe schafft hier, in den Skripten beim Aufruf von Scanprogrammen expizit das zu verwendende Device des über das scanbuttond-backend aufzurufenden Scanners einzutragen (also etwas wie `scanimage -d net:localhost:genesys:libusb:003:006 OPTIONEN`). == HP-Drucker gestört == Der Einsatz von scanbd kann die [post:9107213:Funktion von HP-Druckern behindern]. = Alternativen = * [:Scanner/Software/#Tasten-am-Scanner-verwenden:Tasten am Scanner verwenden] {Übersicht} - Übersicht * [:insaned:] - einfacheres Programm zum Einsatz der Scanner-Knöpfe, das allerdings auch nicht den Anspruch hat, den Scanner anderweitig zu verwenden. * [:bscand:] - ein Programm, das über eine gepatchte SANE-backend-Version die Tasten direkt zugänglich macht; '''SANE'''-Programme bleiben voll einatzfähig, verwendet dazu das net-backend. * = Links = * [:Scanner:] {Übersicht} -Übersichtsartikel * [archwiki:Scanner_Button_Daemon:Scanner Button Daemon] {en} - Artikel im Arch-Wiki * [https://bbs.archlinux.de/viewtopic.php?id=20954 Anleitung mit xined] {de} aus bss.archlinux.de * [https://thehomeserverhandbook.com/2012/03/18/scanbd_part2/ Älterer Beitrag] {en}, ebenfalls nicht für systemd * [https://www.adlerweb.info/blog/tag/scanbd scanbd] {de} - Blogbeitrag auf adlerweb.info * [https://www.linuxquestions.org/questions/slackware-14/run-as-su-946986/#post4688176 Hinweis auf xhost-Verwendung] {en} #tag: Netzwerk, Grafik, Scanner, Büro