[[Vorlage(Ausbaufähig, "Zu den vielfältigen Funktionen, welche SANE bei Scannern unterstützen kann - wie automatische Dokumenteneinzüge (ADF) - könnte noch berichtet oder der Artikel [:Scanner:] entsprechend ergänzt werden. Auch eine Dokumentation über das mitgelieferte Kommandozeilen-Frontend `scanimage` einschließlich seiner wichtigsten Optionen könnte nicht schaden.")]] [[Vorlage(Getestet, jammy,focal )]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] [:Editor: Einen Texteditor öffnen] [:sudo: Root-Rechte] }}} [[Inhaltsverzeichnis()]] [[Bild(./sane.png, 48, align=left)]] Scanner gibt es in vielen Ausführungen. Um die grundsätzlichen Funktionen eines Scanners wie zum Beispiel Auflösung, Schwarzweiß- / Graustufen- / Farbscans oder Sondertasten verwenden zu können, bedarf es eines Gerätetreibers. Ubuntu und generell Linux verwendet eine eigene offene Schnittstelle für Scanner, welche von den Herstellern unabhängig ist: die [https://sane-project.gitlab.io/website/ SANE Schnittstelle] {en}. Diese Schnittstelle wurde als Standard nicht nur für Flachbettscanner, sondern auch für Handscanner, Video- und Stillkameras oder "Frame-Grabber" entwickelt. Die generelle Verwendung eines Scanners - mit Hinweisen auf diverse Scanner und Scanprogramme - wird in den Artikeln [:Scanner:] und [:Scanner/Software:] beschrieben. In diesem Artikel wird eher auf die Konfiguration besonderer SANE-Funktionalitäten eingegangen. = Installation = Das benötigte Paket[1] '''libsane1''' ist Bestandteil jeder Ubuntu-Installation.Falls es doch fehlen solle,kann es Installiert werden {{{#!vorlage Paketinstallation libsane1 }}} == PPA == Wer eine aktuellere Version von SANE benötigt, kann diese über ein PPA beziehen. [[Vorlage(PPA, sane-project/sane-release)]] Über die Aktualisierungsverwaltung bekommt man nun eine aktuelle SANE-Version. Den letzten noch nicht freigegebenen Stand der Entwicklung erhält man über '''ppa:sane-project/sane-git'''. == Manuell == Die manuelle Installation von Sane wird im Artikel [:SANE/Kompilieren:] beschreiben. Dies ist z.B. dann immer sinnvoll, wenn der eigene Scanner von den SANE-Version aus den Paketquellen nicht oder unvollständig unterstützt wird. Eine Parallelinstallation mit der Version aus den Quellen ist möglich. = Wird mein Gerät von SANE unterstützt? = Scanner, welche das [https://sane-project.gitlab.io/website/ SANE-Projekt (Scanner Access Now Easy)] {en} unterstützt und direkt am Computer z.B. durch einen USB-, SCSI- oder PARALLEL(Drucker)-Anschluss angeschlossen sind, werden sofort erkannt und können benutzt werden. Nur in sehr seltenen Fällen muss oder kann man hier nachbessern. Im Artikel [:Scanner:] wird im Abschnitt [:Scanner/#Hardware:Hardware] genauer darauf eingegangen. Das SANE-Konzept unterscheidet sich wesentlich z.B. von den [https://www.twain.org TWAIN]-Scanner-Gerätetreibern {en}, wie sie für das ''Apple''- und ''Windows''-Betriebssystem entwickelt werden. SANE beruht auf der strikten Trennung der Kommunikation zwischen dem Scannertreiber (genannt [#Backend Backend]) und dem jeweils verwendeten Scanprogramm (genannt [#Frontend Frontend]). SANE ermöglicht durch diesen modularen Aufbau einen standardisierten Zugriff für beliebige Scanprogramme, seien es solche für die Kommandozeile [2], für die grafische Oberfläche und über Rechnergrenzen mit Hilfe eines Netzwerkes hinweg (Details dazu im Artikel [:SANE-Scanserver_im_Netzwerk:]). Dies ist mit ''TWAIN''-Treibern natürlich auch möglich, hier sind Programm und Gerätetreiber jedoch viel enger verzahnt und jedes Programm eine Einzelentwicklung. {{{#!vorlage Hinweis Es gibt aus den eben genannten Gründen keine Möglichkeit, ''TWAIN''-Treiber für den Betrieb von Scannern unter Linux zu verwenden. Umgekehrt ist die Realisierung des Zugriffs auf einen SANE-Scanner über eine TWAIN-Schnittstelle einfach: Mit [https://sanetwain.ozuzo.net/ SaneTwain] {en} gibt es ein Programm, welches den SANE-Scanner unter ''Windows'' verfügbar macht. Für den Mac gibt es das Projekt [http://www.ellert.se/twain-sane/ Twain-Sane] {en}. Dies funktioniert auch im Netzwerk. }}} == SANE-Scanner in der VirtualBox == Inzwischen ist auch das Betreiben eines SANE-fähigen USB-Scanners in einer [:VirtualBox:] (zumindest ab Version 3.1.6 PUEL) mit Ubuntu als Gastsystem ohne größere Probleme möglich. Wenn mit dem Befehl `lsusb` auch im Gastsystem der Scanner angezeigt wird, sollte eine Konfiguration wie unter [:Scanner:] bzw. den entsprechenden Artikeln zum jeweiligen Backend beschrieben möglich sein; das gilt zumindest für das [:Scanner/gt68xx:gt68xx-Backend]. Falls der Scanner bei den USB-Einstellungen zur VirtualBox nicht auftaucht und im Gastsystem nicht angezeigt wird, hilft es ggf., bei den USB-Einstellungen zur VirtualBox einen leeren Filter zu erstellen; damit wird der Scanner auch im Gastsystem erkannt. Eine Alternative ist die Verwendung des [:SANE-Scanserver im Netzwerk:net-Backends], wenn der Scanner nicht direkt erkannt wird. {{{#!vorlage Warnung Es sei an dieser Stelle darauf hingewiesen, dass besonders sehr neue oder "exotische" Scanner-Modelle - z.B. solche mit ausgefeilten Funktionen wie Einzelblatteinzügen, aufwendigen Negativ- oder Diascanfunktionen - selten unterstützt werden. Man sollte also auf jeden Fall vorher gründlich recherchieren und gegebenenfalls mit dem Notebook oder einer [:Downloads: Ubuntu Live CD] beim Händler das Gerät auf Kompatibilität testen. Die Enttäuschung könnte sonst groß sein. }}} == Backend == Ein "Backend" ist der SANE-Gerätetreiber für einen bestimmten Scanner oder eine Gruppe von Scannern. Alle Backends werden über Dateien im Verzeichnis '''/etc/sane.d/''' konfiguriert. Sie können mit einem Texteditor[3] mit Root-Rechten[4] bearbeitet werden. Einzelne Backends werden über separate Dateien nach dem Muster '''/etc/sane.d/backendname.conf''' konfiguriert. Alle im System verfügbaren Backends sind global in der Datei '''/etc/sane.d/dll.conf''' aufgelistet. Aktive Treiber stehen jeweils in einer Zeile, inaktive sind mit einem Rautezeichen (#) am Anfang der Zeile auskommentiert. Die [https://sane-project.gitlab.io/website/sane-supported-devices.html Übersichtsseite] {en} der unterstützten Geräte auf der SANE-Homepage lässt die Suche nach Hersteller ("Manufacturer") oder dem Namen des "Backends" zu. Leider gibt es diese Seite nur in englischer Sprache. Man sollte nicht zögern, dem SANE-Team in Form eines [https://sane-project.gitlab.io/website/bugs.html Bug-Reports] {en} mitzuteilen, wenn man der [https://sane-project.gitlab.io/website/sane-mfgs.html Liste] {en} der unterstützten Geräte etwas hinzuzufügen hat. Das SANE-Projekt lebt wie alle anderen Open-Source-Projekte von der [:Fehler_melden:Rückmeldung]. Man sollte auch beachten, dass die in der verwendeten Ubuntu-Version installierte SANE-Version nicht zwangsläufig mit der [https://sane-project.gitlab.io/website/ aktuellen] {en} übereinstimmen muss. Ein Blick in die Paketverwaltung[1] oder die [packages:de:Ubuntu-Paketübersicht] {en} und die Version des Paketes '''libsane1''' gibt hier nähere Auskunft. Ein besonderes Backend ist das "net"-Backend. Es ermöglicht den "indirekten" Zugriff auf einen Scanner über den Scandaemon `saned`. Dies wird im Artikel über die Einrichtung eines [:SANE-Scanserver_im_Netzwerk:SANE-Scanservers] ausführlich erläutert. === Externe Backends === Die meisten Hersteller liefern ihre Geräte leider nur mit "TWAIN"-Treibern für das ''Windows''- oder ''Apple''-Betriebssystem aus. In wenigen Fällen gibt es eigene Linux-Treiber für Produkte: ''Hewlett Packard'' zum Beispiel oder die Firmen ''Brother'' und ''Epson'' entwickeln eigene SANE-kompatible Backends. Diese Backends von externen Herstellern haben jedoch noch nicht den Eingang in die offizielle SANE-Version gefunden. Der Grund hierfür liegt darin, dass sie zum Großteil keine quelloffene Software darstellen und deshalb nicht vom SANE-Projekt unterstützt werden können. Sie wurden deshalb im Unterprojekt "external backends" ausgelagert. Die [https://sane-project.gitlab.io/website/lists/sane-backends-external.html Liste der externen Backends] {en} verweist detailliert auf die Webseiten der einzelnen externen Backendprojekte. Sie gibt eine Übersicht der bekannten Funktionalitäten und Kompatibilitäten. Korrekturen und Hinweise zu den dortigen Tabellen kann man jederzeit an das SANE-Team in Form eines [https://sane-project.gitlab.io/website/bugs.html Bug Reports] {en} melden. Wegen einer [bug:1728012:inkompatiblen Änderung in Ubuntu] kann es vorkommen, dass solche Backends trotz erfolgreicher Installation nicht gefunden werden. Dies kann mit folgendem Befehl behoben werden: {{{#!vorlage Befehl for file in /usr/lib/sane/*; do sudo ln -s $file /usr/lib/x86_64-linux-gnu/sane/${file##*/}; done }}} == Airscan/escl == Einige netzwerkfähige Scanner lassen sich ohne Netzwerkkonfiguration direkt über das [https://sane-project.gitlab.io/website/sane-backends.html#S-ESCL escl-Backend] {en} betreiben, das mit SANE 1.0.29 Bestandteil von SANE geworden ist. Zur Verwendung in älteren Sane-Versionen gibt es eine Anleitung im Wiki: [:Howto/Scanner_über_Airscan_einrichten:]. = Frontend = Als SANE-"Frontends" bezeichnet man alle Programme, welche über ein Backend auf einen Scanner zugreifen können. Dies sind Anwenderprogramme, die im Übersichtsartikel [:Scanner/Software:] aufgelistet und kurz beschrieben werden. Aber auch besondere Spezialitäten sind darunter, wie der Netzwerk Scandaemon [:SANE-Scanserver_im_Netzwerk:saned] oder das Befehlszeilenprogramm [https://www.martoneconsulting.com/sane-scanadf.html scanadf] {en} für Dokumenteneinzugsscanner. Eine Übersicht findet man auf [https://sane-project.gitlab.io/website/sane-frontends.html sane-project.gitalb.io] {en}. Das folgende Bild erläutert nochmals schematisch die Zusammenhänge zwischen Backend, Frontend und Scanner. Sich diesen Sachverhalt einzuprägen, kann zum späteren Verständnis der Konfiguration sehr hilfreich sein. Der Normalfall (Scanner direkt am Rechner angeschlossen) ist violett hervorgehoben. [[Bild(./SANE_Konzept_Backend-Frontend.png, 500, align=center)]] === Kommandozeilen-Frontend === Sane kann auch über das Terminal betrieben werden. Das Frontend dazu heißt `scanimage`. Um zu sehen, welche Scanner erkannt werden, muss in ein [:Terminal:] folgender Befehl eingegeben werden {{{#!vorlage Befehl scanimage -L }}} Um zu sehen, welche Funktionen der Scanner bereitstellt, muss folgender Befehl verwendet werden {{{#!vorlage Befehl scanimage -A }}} Hierbei werden die verwendbaren Optionen gelistet, die der Scanner unterstützt. Ein einfacher Test-Scan lässt sich folgendermaßen durchführen: {{{#!vorlage Befehl scanimage -T }}} Hierbei sollte der Scanner dann anlaufen und eine Ausgabe erzeugen. Möchte man einen Scan mit Dateiausgabe erzeugen, wäre der Befehl z.B. {{{#!vorlage Befehl scanimage -d SCANNER-NAME --resolution AUFLÖSUNG --mode FARBMODUS > AUSGABEORT }}} Beispiel {{{#!vorlage Befehl scanimage -d "airscan:e1:HP ENVY 5640 series [EF100B]" --resolution 300 --mode color > ~/test-hp.ppm }}} Mit der Option `-d` wird der gewünschte Scanner bestimmt, die Auflösung (`resolution`) beträgt 300 dpi, der Scann wird in Farbe (`color`) gemacht, die Ausgabe des Scans wird im Home-Ordner (~/) unter dem Namen '''test-hp.ppm''' (ppm=portable-pixmap) gespeichert. Die verfügbaren Optionen von `scanimage` lassen sich mit dem Befehl {{{#!vorlage Befehl man scanimage }}} anzeigen. = Fehlersuche = Häufig wird vergessen, dass der Benutzer Mitglied der [:Benutzer_und_Gruppen:Gruppen] `scanner` und `saned` [:Scanner/#Hardware:sein muss]. ===Fehler beim öffnen des Gerätes=== Ab 20.04 (Focal) wird ein Fehlerhafter Daemon Ausgeliefert. Diesen kann man Bedenkenlos entfernen mit {{{#!vorlage Befehl sudo apt purge ippusbxd }}} Nach einem Neustart sollte es dann Funktionieren. Ab 22.04 (Jammy) wird ein Fehlerhafter Daemon Ausgeliefert. Diesen kann man Bedenkenlos entfernen mit {{{#!vorlage Befehl sudo apt purge ipp-usb }}} Nach einem Neustart sollte es dann Funktionieren. ===Fehlender USB Treiber=== Ab 20.04 (Focal) ist ein für machen Scanner (u.a. Canon) erforderlicher USB-Treiber nicht standardmäßig installiert. Dieser lässt sich einfach Installieren mit {{{#!vorlage Paketinstallation libusb-0.1-4 }}} = Links = * Wikiartikel zur Installation von Scannern und Scannersoftware: * [:Scanner:] * [:Scanner/Software:] * [http://sane-project.org/ Offizielle Website] {en} * [https://web.archive.org/web/20180102235035/http://www.xsane.org/ct/sane-ct-21-99-190.html Artikel der Zeitschrift c't aus dem Jahr 1999] {de} - Älterer, aber grundsätzlich wertvoller und stimmiger Artikel zum Thema * [ubuntu_doc:community/ScanningHowTo:Scanning HowTo] {en} - Ubuntu Community Documentation * [https://sane-project.gitlab.io/website/ SANE GitHub-Homepage] {en} - Links aus der "`saned`"-Manpage. * [https://penguin-breeder.org/sane/saned/ SANE Network Daemon] {en} - für Fortgeschrittene, gute Hinweise zum Absichern des saned (Passwortschutz) und zum Troubleshooting * [https://sanetwain.ozuzo.net/ SaneTwain] {en} - Windows Client für SANE-Server * [http://www.ellert.se/twain-sane/ Twain-Sane] {en} - Mac Client für SANE-Server # tag: Hardware, Grafik, Netzwerk, Scanner,