[[Vorlage(Getestet, bionic)]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Programme_starten: Starten von Programmen] [:Terminal: Ein Terminal öffnen] [:mit Root-Rechten arbeiten:] [:Benutzer_und_Gruppen:Benutzer und Gruppen] }}} [[Inhaltsverzeichnis()]] Dieser Artikel ist für alle Anwender von [:SANE:] relevant, für die mindestens einer der folgenden Punkte zutrifft: * Der verwendete Scanner wird nicht von Ubuntu unterstützt, aber von der aktuellen [https://sane-project.gitlab.io/website/lists/sane-mfgs-cvs.html SANE Entwicklerversion] {en}. * In der SANE-Entwicklerversion wurden [https://salsa.debian.org/debian/sane-backends/blob/develop/ChangeLog kritische Fehler] {en} behoben. * In der SANE-Entwicklerversion wurden [https://salsa.debian.org/debian/sane-backends/blob/develop/ChangeLog neue Funktionen] {en} implementiert, die dem Anwender wichtig sind. * Der Anwender hat Kontakt zur [mailto:sane-devel@lists.alioth.debian.org SANE-Mailingliste] {en} und möchte bei der Weiterentwicklung seines Scannertreibers mithelfen. * Der Anwender möchte Fehler im Programmcode selbst beheben. * Der Anwender möchte die Funktionalität erweitern, z.B. zur Nutzung von [:bscand:]. Von der aktuellen SANE-Entwicklerversion gibt es ein [launchpad:~rolfbensch/+archive/ubuntu/sane-git:PPA] mit "daily builds" als Ubuntu-Pakete. Wer dieses nicht nutzen möchte, kann den Programmcode von der [https://sane-project.gitlab.io/website/ SANE-Projektseite] {en} herunterladen, manuell kompilieren sowie installieren. = Voraussetzungen = == Erforderliche Pakete == {{{#!vorlage Paketinstallation build-essential gettext git libusb-dev linux-headers-generic }}} == Optionale Pakete == {{{#!vorlage Paketinstallation git-gui, universe xsane, universe }}} == Aktuellen SANE-Programmcode beschaffen == Die aktuelle Version von SANE kann als Quellcode (Development Source) von [https://sane-project.gitlab.io/website/snapshots/] {en} {dl} heruntergeladen werden. Es empfiehlt sich, ein neues Verzeichnis für Softwareprojekte im [:Homeverzeichnis:] zu erstellen, z.B. '''~/src/'''. In dieses Verzeichnis wird der heruntergeladene SANE-Programmcode entpackt. Das beim Entpacken erstellte Verzeichnis wird ggf. nach '''sane-backends''' umbenannt. [[Vorlage(Fremd, Software)]] Alternativ kann man mit [:Git:] einen Klon im aktuellen Verzeichnis erstellen: {{{#!vorlage Befehl cd ~/src git clone https://gitlab.com/sane-project/backends.git }}} = Installation = Mit der hier beschriebenen Anleitung wird SANE nach '''/usr/local/lib/''' installiert. Die aus den offiziellen Paketquellen installierte Version von SANE wird nicht ersetzt. {{{#!vorlage Hinweis Die Konfiguration eines [:SANE-Scanserver_im_Netzwerk:SANE-Servers] erfolgt dann in den Dateien in '''/usr/local/etc/sane.d''', __nicht__ in '''/etc/sane.d'''! Außerdem müssen auch in der systemd-Unit '''saned@.service''' die Pfade für `ExecStart=` auf `/usr/local/sbin/saned` und `Environment=SANE_CONFIG_DIR=` entsprechend auf `/usr/local/etc/sane.d` gelegt werden. Welche saned-Programmdatei tatsächlich genutzt wird, kann mit dem im Terminal ausgeführten Befehl `which saned` in Erfahrung gebracht werden. 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]). }}} == Konfiguration == {{{#!vorlage Befehl cd ~/src/sane-backends ./configure }}} Die Kompilierungsdauer kann drastisch reduziert werden, wenn nur das benötigte Backend kompiliert wird! Eine Liste der Backend-Namen befindet sich in der [:man:Manpage] von SANE. Welches Backend für den verwendeten Scanner verwendet wird, kann man der Liste der von SANE [https://sane-project.gitlab.io/website/lists/sane-mfgs-cvs.html unterstützten Scannern] {en} entnehmen. Mehrere Backends können durch Leerzeichen getrennt aufgelistet werden. Wenn der Scanner im Netzwerk verwendet werden soll, darauf achten, dass hier auch das `net`-Backend aufgeführt wird, sonst kann es zu [topic:netzwerk-scannen-unter-18-04-nicht-moeglich-mi:Problemen] bei der Nutzung kommen! Beispiel: {{{#!vorlage Befehl BACKENDS="canon pixma net" ./configure }}} {{{#!vorlage Warnung Die Ausgabe von `./configure` enthält am Ende eine Warnung, wenn SANE nicht mit USB-Unterstützung erstellt wird! Dann muss das Paket '''libusb-dev''' installiert und `./configure` erneut ausgeführt werden. }}} == Kompilieren und Installieren == {{{#!vorlage Befehl cd ~/src/sane-backends make && sudo make install }}} == SANE-Bibliothek registrieren == {{{#!vorlage Befehl sudo ldconfig -v | grep libsane }}} Wenn SANE 1.0.24 installiert wurde und die Antwort so oder so ähnlich aussieht, ist alles in Ordnung: {{{ libsane.so.1 -> libsane.so.1.0.24 libsane.so.1 -> libsane.so.1.0.22 }}} Wenn die kompilierte SANE-Version nicht oben steht, muss die Reihenfolge der SANE-Bibliotheken geändert werden. Dazu wird ein neuer Verweis auf '''/usr/local/lib''' erzeugt: {{{#!vorlage Befehl echo "/usr/local/lib" | sudo tee -a /etc/ld.so.conf.d/1-sane.conf }}} Nun müssen die Bibliotheken erneut registriert werden. Wenn die Reihenfolge der SANE-Bibliotheken immer noch nicht stimmt, muss man sich auch noch die Konfigurationsdatei '''/etc/ld.so.conf''' anschauen. {{{#!vorlage Hinweis Entscheidend ist die Reihenfolge, in der die Bibliotheken registriert werden. Bei der Ausgabe muss die selbst installierte SANE-Version zuerst erscheinen. Das Erstellen der neuen Datei '''/etc/ld.so.conf.d/1-sane.conf''' hat den Vorteil, dass die hier vorgenommene Einstellung durch Upgrades nicht verändert wird. }}} == Sprachdatei == {{{#!vorlage Befehl cd /usr/share/locale/de/LC_MESSAGES sudo ln -sf /usr/local/share/locale/de/LC_MESSAGES/sane-backends.mo . }}} == udev-Regeln == Dieser Schritt kann übersprungen werden, wenn der gewünschte Scanner bereits unterstützt wird und das selbstkompilierte SANE nur für ein Update installiert wird. Die Datei '''libsane.rules''' enthält die Einträge für alle Scanner vom installierten SANE. Aufgrund der Dateihierarchie für udev-Dateien werden die von Ubuntu installierten Regeln ersetzt. {{{#!vorlage Befehl sudo cp ~/src/sane-backends/tools/udev/libsane.rules /etc/udev/rules.d }}} Um die neuen udev-Regeln zu aktivieren gibt man folgenden Befehl ein: {{{#!vorlage Befehl sudo service udev restart }}} == Benutzerrechte == Der Benutzer muss Mitglied in der Gruppe `scanner`. Gegebenenfalls muss man den Benutzer noch hinzufügen[5]. Seit Ubuntu 12.10 ist der Benutzer automatisch Mitglied in der [:Benutzer_und_Gruppen:Gruppe] `scanner`. = Scanner testen = == Verwendete SANE-Version == {{{#!vorlage Befehl scanimage -V }}} Die ausgegebene Backendversion sollte die vom installierten SANE-Programmcode entsprechen, z.B. `1.0.24`. Alternativ kann XSane gestartet werden. Die Versionsnummer wird mit [[Vorlage(Tasten, ctrl+i)]] angezeigt. == Scanner erkennen == {{{#!vorlage Befehl scanimage -L }}} Als Antwort sollten der Scannername, die USB-Hersteller-ID und die USB-Geräte-ID angezeigt werden. Alternativ kann XSane gestartet werden. Der verwendete Scanner wird mit [[Vorlage(Tasten, ctrl+i)]] angezeigt. == Testscan == {{{#!vorlage Befehl scanimage > ~/test.pnm }}} Alternativ kann der Testscan mit XSane durchgeführt werden. = Deinstallation = == SANE == Zur Deinstallation wird in das Quellcodeverzeichnis gewechselt und `make` mit dem `uninstall`-Target aufgerufen: {{{#!vorlage Befehl cd ~/src/sane-backends sudo make uninstall }}} == SANE-Bibliothek == {{{#!vorlage Befehl sudo rm /etc/ld.so.conf.d/1-sane.conf sudo ldconfig }}} == Sprachdatei == {{{#!vorlage Befehl sudo rm /usr/share/locale/de/LC_MESSAGES/sane-backends.mo }}} == udev-Regeln == {{{#!vorlage Befehl sudo rm /etc/udev/rules.d/libsane.rules }}} = Links = * [:Scanner:], [:Scanner/Software:], [:SANE:] {Übersicht} - Wikiartikel zur Installation von Scannern und Scannersoftware * [https://sane-project.gitlab.io/website/ SANE Homepage] {en} * [https://sane-project.gitlab.io/website/README.linux README.linux] {en} - Installationsanleitung * [https://manpages.ubuntu.com/manpages/bionic/man8/ldconfig.8.html ldconfig] {en} - Manpage #tag: Hardware, Scanner