Scannen im Netz mit Linux

08.08.2005 von Stephan Rubner
Netzwerkdrucker sind schon seit langem gang und gäbe. Scanner jedoch werden nach wie vor an dezidierten Arbeitsplätzen betrieben. Dabei bietet der vernetzte Einsatz auch bei Scannern Vorteile. Mit Linux lassen sich Scanner ganz einfach für mehrere Anwender zur Verfügung stellen.

Es ist so eine Sache mit Scannern: Man braucht sie eigentlich selten, aber wenn es doch einmal der Fall ist, sind sie am falschen Rechner angeschlossen. Besonders in kleineren Büros oder in Abteilungen von Unternehmen gestaltet sich das Scannen von Dokumenten unkomfortabel. Hier ist der Scanner meist an einem zentralen Rechner angeschlossen. Das Einlesen eines Dokuments läuft daher in der Regel wie folgt ab:

Viel effektiver wäre es jedoch, das einzulesende Dokument direkt in die Anwendung zu importieren, in der Sie es benötigen. Dazu ist ein Zugriff auf den Scanner über das Netzwerk nötig. Genau dieser lässt sich mit Hilfe eines Rechners unter Linux und der Software des SANE-Project realisieren. Das erspart zwar nicht den Weg zum Scanner, um das Dokument einzulegen, macht aber immerhin die lästigen Zwischenschritte überflüssig.

SANE installieren

Die meisten Linux-Distributionen beinhalten bereits eine mehr oder minder aktuelle Version der SANE-Komponenten. Das ist kein Wunder, denn während es früher nahezu unmöglich war, einen Scanner problemlos unter Linux in Betrieb zu nehmen, ist bei SANE der Name Programm: SANE steht für „Scanner Access Now Easy“ – und in den meisten Fällen stimmt das auch.

Bei SUSE Linux 9.2 ist SANE in der Version 1.0.14 enthalten – und wird bei der Standardinstallation auch gleich auf dem Rechner eingerichtet. Zur Überprüfung, ob SANE auf Ihrem Rechner bereits vorhanden ist, öffnen Sie YaST und wählen den Menüpunkt „Software installieren oder entfernen“. Sie gelangen in die Übersicht der Paketinstallation, bei der seit SUSE Linux 9.2 bereits der Modus „Suche“ voreingestellt ist. In das Suchfeld tragen Sie einfach sane ein. Zeigt das System ein installiertes Paket, erkennbar am bereits gesetzten Häkchen vor der Paketbeschreibung, können Sie die Installation abbrechen. Andernfalls setzen Sie das Häkchen und fahren mit der Installation fort.

Zur komfortablen Installation bietet sich das YaST-Modul zur Scannereinrichtung an. Dieses wird bei der Standardinstallation von SUSE Linux 9.2 jedoch nicht auf den Rechner übertragen. Sie finden es auf dem FTP-Server von SUSE unter der Adresse ftp.suse.com/pub/suse/i386/9.2/suse/noarch mit dem Dateinamen yast2-scanner-2.10.5-2.1.noarch.rpm.

Einbinden von SANE via YaST

Das Einbinden in die YaST-Menüstruktur erfolgt über einen einfachen Kommandozeilenbefehl, den Sie als Superuser root ausführen müssen:

rpm -Uvh yast2-scanner-2.10.5-2.1.noarch.rpm

Beim nächsten Start von YaST erscheint im Bereich Hardware das neue Symbol für die Einrichtung des Scanners. SANE unterstützt sowohl am Parallelport angeschlossene Scanner wie auch solche, die per USB oder SCSI-Adapter angesprochen werden. Da mittlerweile USB-Scanner den weitaus größten Teil der verkauften Geräte stellen, beschränken wir uns im Folgenden auf die Beschreibung dieser Modelle. Für SCSI- und Parallelport-Scanner ist der Vorgang nahezu identisch. Es kann lediglich sein, dass Sie das benutzte Modell manuell auswählen müssen.

Hotplug-Installation bei USB-Scannern

Bei USB-Scannern ist das Verfahren etwas einfacher, da das Hotplug-System von Linux diese selbstständig erkennt und freundlicherweise auch gleich den Start des entsprechenden YaST-Moduls anbietet.

Direkt nach dem Start des Scannermoduls fragt dieses, ob es das KDE-Benutzer-Interface für den Zugriff auf den Scanner einrichten soll. Das dazu benötigte Paket ist allerdings im eingeschränkten Distributionsumfang der SUSE-CD nicht enthalten. Sie können das Paket kde3graphics-scan aber vom FTP-Server von SUSE herunterladen und manuell auf Ihrem Rechner einrichten. Für den Einsatz des Scanners als Netzwerkscanner ist es jedoch nicht erforderlich.

Abschließende Konfiguration

Jetzt sind es nur noch wenige Schritte bis zum Ende der Konfiguration. Wählen Sie aus der angezeigten Liste den Hersteller und das Modell des von Ihnen verwendeten Scanners aus. Bestätigen Sie die Auswahl mit einem Klick auf Weiter.

Das Scannermodul zeigt Ihnen nun den Hersteller, das gewählte Modell und den dafür vorgeschlagenen Treiber an. Wundern Sie sich nicht, wenn dieser – wie in unserem Beispiel – auf einen völlig anderen Hersteller hindeutet. Viele Scanner, darunter durchaus auch Markenfabrikate, sind OEM-Produkte. Das Scannermodul schlägt in der Regel den Treiber vor, der für das jeweilige Modell als am besten geeignet eingestuft wurde.

Nachdem Sie die Vorgaben von YaST bestätigt haben, erhalten Sie die Möglichkeit, die Funktion des installierten Treibers zu testen. Nach einem Klick auf Test liest der Scanner ein auf der Vorlage liegendes Dokument ein und bildet es anstelle des SANE-Logos ab. Nun folgt ein letzter Klick auf Weiter, und das Einrichten des Scanners ist geschafft.

Damit ist der einfache Teil der Installation erledigt. Zum Einrichten des Dämons, der dafür sorgt, dass auch aus dem Netzwerk heraus auf den Scanner Zugriff besteht, geht man auf die Kommandozeile.

Netzwerkdämon einrichten

Alles, was zum Einsatz des Netzwerkdämons notwendig ist, wurde bereits mit der Installation des SANE-Pakets auf den Rechner übertragen. Es geht also nur noch darum, die entsprechenden Konfigurationen zu aktivieren und dafür zu sorgen, dass auch nach einem Neustart des Rechners der Scanner wieder für alle Anwender zur Verfügung steht.

Für die nachfolgenden Schritte ist es empfehlenswert, wenn Sie sich als Superuser root am System anmelden. So können Sie viele Schritte über den Datei-Browser oder grafische Werkzeuge erledigen, für die Sie sonst die Kommandozeile und deren unkomfortable Editoren verwenden müssten.

Verantwortlich für die Weiterleitung von Anfragen aus dem Netz ist der Dämon saned. Eine Besonderheit von saned ist, dass er sich nicht selbstständig als Dämon einrichtet, sondern über den Inet-Dämon (inetd) aufgerufen wird, sobald dieser eine Anfrage auf dem für SANE reservierten Port erkennt. Damit das funktioniert, müssen Sie zunächst die Datei /etc/xinet.d/sane-port ändern. Hier ist die Zeile disable = yes auf disable = no umzustellen.

Als Nächstes ist dem Sane-Dämon mitzuteilen, für welchen IP-Adressbereich er den Scanner überhaupt zur Verfügung stellen soll. Um ihm diese Information zu geben, passen Sie die Datei /etc/sane.d/saned.conf an die Gegebenheiten in Ihrem Netzwerk an. Arbeiten Sie beispielsweise mit Adressen aus dem Bereich 192.168.0.x, dann tragen Sie folgende Zeile in die Datei ein: 192.168.0.0/24

Test der Konfiguration

Die jetzt noch notwendigen Schritte lassen sich am schnellsten in einem Kommandozeilenfenster erledigen. Standardmäßig ist der Superdämon Xinetd nicht gestartet. Das holen Sie einfach mit folgendem Befehl manuell nach:

rcxinetd start

Jetzt können Sie bereits testen, ob der Sane-Dämon bei eingehenden Anfragen wirklich ausgeführt wird. Dazu öffnen Sie einfach eine Telnet-Sitzung auf dessen Portnummer 6566:

telnet localhost 6566

Wird der Verbindungsaufbau nicht blockiert, heißt das, dass der Sane-Dämon aktiv ist und Anfragen entgegennimmt. Beenden Sie die Telnet-Sitzung durch Drücken der Tastenkombination [Strg][C]. Der letzte Schritt zur Konfiguration des Servers besteht darin, einen automatischen Start des Superdämons Xinetd zu erzielen. Das erledigen Sie mit diesem kurzen Befehl:

chkconfig -a xinetd

Damit ist der Server fertig konfiguriert. Nun kann die Installation der Clients unter Linux, Windows und Mac OS erfolgen.

Client unter Linux einrichten

Nach diesen Vorübungen geht die Einrichtung eines Clients unter Linux schnell von der Hand. Alles, was Sie dazu brauchen, ist mit der Installation des SANE-Pakets vorhanden. Das Einrichten wird allerdings nicht von einem Assistenten begleitet. Sie müssen als Superuser root zwei Dateien im Verzeichnis /etc/sane.d editieren. Das erste zu ändernde File ist dll.conf. Entfernen Sie das Kommentarzeichen vor der Zeile mit dem Wort net und speichern die Datei.

Danach öffnen Sie im selben Verzeichnis die Datei net.conf und tragen dort die IP-Adresse oder den Host-Namen des Scanner-Servers ein. Nachdem Sie die Datei gespeichert haben, öffnen Sie ein Kommandozeilenfenster und starten die SANE-Treiber neu. Einen ersten Test, ob der Scan-Server gefunden wird, können Sie bei dieser Gelegenheit auch gleich durchführen:

rcsane try-restart
scanimage -L

Das funktioniert übrigens auch auf dem Scanner-Server selbst. Sie können das ganz einfach nachprüfen, indem Sie die beschriebenen Änderungen an den Dateien vornehmen und als Adresse des Scanner-Servers localhost oder die echte IP-Adresse des Rechners eingeben.

Windows-Client installieren

Unter Windows ist die bevorzugte Schnittstelle zum Einlesen digitaler Bilder TWAIN. Diese wird sowohl von Scannern wie auch von Digitalkameras verwendet und daher von den meisten Applikationen unterstützt. Für eine möglichst optimale Einbindung des SANE-Scanners bietet sich also eine Software-Brücke zwischen SANE und TWAIN an, wie sie beispielsweise das Freeware-Programm SaneTwain zur Verfügung stellt.

Laden Sie dort das ZIP-Archiv in der aktuellen Version 1.26 herunter und entpacken es am besten in ein eigenes Verzeichnis, beispielsweise nach C:\sanetwain. Die im Archiv enthaltene Datei SaneTwain.ds kopieren Sie anschließend in das Twain-Verzeichnis Ihrer Windows-Installation. In der Regel ist das C:\Windows\twain_32 oder C:\Winnt\twain_32.

Nun rufen Sie das Hauptprogramm ScanImage.exe auf. Es erscheint automatisch ein Fenster, in das Sie die Verbindungsparameter eintragen. Hier genügt es, den Host-Namen oder die IP-Adresse des Scanner-Servers anzugeben.

Scannen mit Windows

Ist das erledigt, landen Sie im Hauptmenü der Scan-Anwendung. Hier können Sie sich gleich mit den Optionen vertraut machen, da dies auch die Anwendung ist, die über die Twain-Schnittstelle gestartet wird, wenn Sie beispielsweise aus Adobe Photoshop heraus scannen wollen. Die wichtigsten Aktionen erledigen Sie über die zwei oder drei Buttons in der linken oberen Ecke. Über einen Klick auf das erste Symbol führen Sie den eigentlichen Scan-Vorgang durch. Das zweite Icon ruft eine Preview-Ansicht der Vorlage im Scanner ab. Wurde ein installierter Drucker erkannt, sehen Sie noch ein drittes Icon, über das Sie eine Direktkopie der Vorlage auf dem Drucker ausgeben können.

Ab sofort können Sie aus jeder Anwendung heraus, die Twain unterstützt, direkt über SaneTwain Grafiken vom Scanner-Server importieren.

Mac-Client installieren

Auch für Computer von Apple gibt es eine Schnittstelle für den Netzwerkzugriff auf einen per SANE bereitgestellten Scanner. Zur Installation benötigen Sie die vier Archive gettext.pkg.tar.gz, libusb.pkg.tar.gz, sane-backends.pkg.tar.gz und TWAIN-SANE-Interface.pkg.gz. Sie bekommen diese auf der Seite des Programmierers www.ellert.se/tawin-sane/.

Zur Installation entpacken Sie die vier Archive und führen dann die resultierenden Packages aus. Die Reihenfolge spielt dabei keine wesentliche Rolle. Lediglich das Paket libusb.pkg sollte zuerst eingerichtet werden.

Um das Scannen via Netzwerk zu ermöglichen, müssen Sie nun noch die bereits von Linux bekannten Dateien dll.conf und net.conf editieren. Unter Mac OS X finden Sie diese im Verzeichnis /usr/local/etc/sane.d. In der Datei dll.conf können Sie bei dieser Gelegenheit gleich alle Treiber, mit Ausnahme von net, auskommentieren. Sie erzielen dadurch mehr Geschwindigkeit beim Start der Scan-Anwendung, da sie nicht alle Eintragungen durchprobieren muss. (ala)