Kompilieren
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist mit keiner aktuell unterstützten Ubuntu-Version getestet! Bitte teste diesen Artikel für eine Ubuntu-Version, welche aktuell unterstützt wird. Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
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 SANE Entwicklerversion 🇬🇧.
In der SANE-Entwicklerversion wurden kritische Fehler 🇬🇧 behoben.
In der SANE-Entwicklerversion wurden neue Funktionen 🇬🇧 implementiert, die dem Anwender wichtig sind.
Der Anwender hat Kontakt zur SANE-Mailingliste 🇬🇧 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 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
Befehl zum Installieren der Pakete:
sudo apt-get install build-essential gettext git libusb-dev linux-headers-generic
Oder mit apturl installieren, Link: apt://build-essential,gettext,git,libusb-dev,linux-headers-generic
Optionale Pakete¶
git-gui (universe)
xsane (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install git-gui xsane
Oder mit apturl 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
Links¶
Scanner, Scanner/Software, SANE - Wikiartikel zur Installation von Scannern und Scannersoftware
README.linux 🇬🇧 - Installationsanleitung
ldconfig 🇬🇧 - Manpage