ubuntuusers.de

Kompilieren

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist für alle Anwender von SANE relevant, für die mindestens einer der folgenden Punkte zutrifft:

Von der aktuellen SANE-Entwicklerversion gibt es ein PPA mit "daily builds" als Ubuntu-Pakete. Wer dieses nicht nutzen möchte, kann den Programmcode von der SANE-Projektseite 🇬🇧 herunterladen, manuell kompilieren sowie installieren.

Voraussetzungen

Erforderliche Pakete

  • build-essential

  • gettext

  • git

  • libusb-dev

  • linux-headers-generic

Paketliste zum Kopieren:

sudo apt-get install build-essential gettext git libusb-dev linux-headers-generic 

Oder mit apturl die Pakete installieren. Link: apt://build-essential,gettext,git,libusb-dev,linux-headers-generic

Optionale Pakete

  • git-gui (universe)

  • xsane (universe)

Paketliste zum Kopieren:

sudo apt-get install git-gui xsane 

Oder mit apturl die Pakete installieren. Link: apt://git-gui,xsane

Aktuellen SANE-Programmcode beschaffen

Die aktuelle Version von SANE kann als Quellcode (Development Source) von https://sane-project.gitlab.io/website/snapshots/ 🇬🇧 ⮷ 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.

Hinweis!

Fremdsoftware kann das System gefährden.

Alternativ kann man mit Git einen Klon im aktuellen Verzeichnis erstellen:

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.

Hinweis:

Die Konfiguration eines 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

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 Bestehende Units editieren).

Konfiguration

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 Manpage von SANE. Welches Backend für den verwendeten Scanner verwendet wird, kann man der Liste der von SANE unterstützten Scannern 🇬🇧 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 Problemen bei der Nutzung kommen!

Beispiel:

BACKENDS="canon pixma net" ./configure 

Achtung!

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

cd ~/src/sane-backends
make && sudo make install 

SANE-Bibliothek registrieren

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:

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.

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

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.

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:

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 Gruppe scanner.

Scanner testen

Verwendete SANE-Version

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 Strg + I angezeigt.

Scanner erkennen

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 Strg + I angezeigt.

Testscan

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:

cd ~/src/sane-backends
sudo make uninstall 

SANE-Bibliothek

sudo rm /etc/ld.so.conf.d/1-sane.conf
sudo ldconfig 

Sprachdatei

sudo rm /usr/share/locale/de/LC_MESSAGES/sane-backends.mo 

udev-Regeln

sudo rm /etc/udev/rules.d/libsane.rules 

Diese Revision wurde am 3. August 2019 20:38 von Beforge erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Scanner, Hardware