Scanner im Netzwerk freigeben und nutzen

 Zielgruppe: Fortgeschrittene 

Diese Anleitung beschreibt anhand eines Agfa Snapscan e20 Scanners die Konfiguration von Sane für die Nutzung des Scanners im Netzwerk. Diese Beschreibung ist auf einem Debian Sarge Server und Client entstanden, sollte sich aber auch auf andere Distributionen übertragen lassen.

Zunächst muss auf beiden Systemen das Scanner-Paket "sane" vorhanden sein. Falls nicht, wird es kurzerhand installiert:

apt-get install sane

1. Konfiguration des Servers

Auf dem Server muss erst der Scanner konfiguriert werden. Im Falle des Snapscan e20 ist aus dem Windows-Treiberpaket die Firmware-Datei "Snape20.bin" in ein Verzeichnis zu kopieren (hier: "/etc/sane.d/"). Da der Scanner via USB angeschlossen ist, muss das entsprechende Kernelmodul "scanner" geladen und in "/etc/modules" eingetragen werden.

Nun kann die Datei "/etc/sane.d/snapscan.conf" bearbeitet werden. Dort müssen nur die folgenden Zeilen aktiviert werden:

firmware /etc/sane.d/Snape20.bin
/dev/usb/scanner0 bus=usb

Bevor es mit der Netzwerkkonfiguration weiter geht, sollte der Benutzer "saned" die angeschlossenen Scanner anzeigen können. Nach dem Wechsel der User-ID und Eingabe des "scanimage"-Kommandos sollte die Ausgabe so ähnlich wie die folgende aussehen:

# su -s /bin/sh - saned
$ scanimage -L
device 'snapscan:/dev/usb/scanner0' is a AGFA SNAPSCAN e20 flatbed scanner

Hat das geklappt, kann es an die Netzwerkkonfiguration gehen. Die Datei "/etc/services" muss eine Zeile für "sane" und den Port 6566 enthalten. Dies kann am einfachsten mit dem folgenden Kommando überprüft werden:

cat /etc/services | grep 6566

Falls diese Zeile nicht existiert, so muss diese per Hand hinzugefügt werden:

sane            6566/tcp        saned           # SANE network scanner daemon

Anschließend wird eine neue Datei "/etc/xinetd.d/saned" mit folgendem Inhalt erzeugt:

service sane
{
  port        = 6566
  socket_type = stream
  wait        = no
  user        = saned
  group       = saned
  server      = /usr/sbin/saned
}

Ist das erledigt und enthält die Datei "/etc/xinetd.conf" einen Eintrag "includedir /etc/xinetd.d", so muss der Xinetd neugestartet werden:

/etc/init.d/xinetd restart

Damit bestimmte Rechner auf den am Server angeschlossenen Scanner zugreifen können, ist die Datei "/etc/sane.d/saned.conf" zu bearbeiten. Diese Datei kann Einträge für einzelne Hosts und/oder ganze Netze enthalten:

# Einzelne Hosts
192.168.1.99

# oder ganzes Class-C Netz
192.168.1.0/24

Damit ist die serverseitige Konfiguration abgeschlossen. Von den freigeschalteten Clients müsste man nun per "telnet server 6566" eine Verbindung (und kein "Connection refused") bekommen.

2. Konfiguration der Clients

Auf den Clients muss lediglich die Konfigurationsdatei "/etc/sane.d/net.conf" bearbeitet werden. Dort ganz einfach die IP-Adresse des Servers eingetragen, also zum Beispiel "192.168.1.1". Anschließend kann man als Normalbenutzer das von oben bekannte Kommando "scanimage -L" absetzen und sollte die folgende Ausgabe erhalten.

device 'Net:server:snapscan:/dev/usb/scanner0' is a AGFA SNAPSCAN e20 flatbed scanner

Hat das alles soweit geklappt, kann man entweder mit Gimp oder mit Kooka übers Netzwerk scannen.