Linux als SOHO-Server

für Linux- und Windows-Clients
http://linux.eusterholz.dyndns.org

Kapitel:

Home
Debian Installation
Debian Etc.
Internet-Zugang
Telnet
FTP
r-Utilities
SSH
Printing
NTP
Nameserver
NFS/NIS/Automount
Samba (SMB-Server)
Apache (WEB-Server)
Modem / ISDN
Backup
Etc.


Scann-Server

Wake-On-LAN ] Power Off ] XDMCP-Zugang ] VNC ] Sun-Java ] Ajaxterm ] [ Scann-Server ] webCDwriter ] Relaiskarte (parallel) ] Relaiskarte (seriell) ] UPS ] LIRC ] Clonezilla ] Subversion ] SMS unter Linux ]


Im vorliegenden Kapitel geht es um einen Scann-Server unter Linux, welcher unterschiedlichen Clients, z.B. unter Linux oder Windows, einen gemeinsamen Zugriff auf einem Scanner ermöglichen. Für die Nutzung von Scannern unter Linux kommt dabei die Software 'SANE' (Scanner Access Now Easy) zum Einsatz. Grundvoraussetzung zur erfolgreichen Installation eines Scanners unter Linux ist, dass der eingesetzte Scanner vom Programmpaket 'SANE' unterstützt wird. Eine Liste der unterstützten Scanner ist auf der Homepage von 'SANE' zu finden.

Im Verlauf dieser Seite wird die Installation exemplarisch am Beispiel eines SCSI-Scanners (UMAX Astra 1220S) vorgestellt, der an einem üblichen SCSI-Kontroller betrieben wird. Das generelle Verfahren für andere Typen von Scanner, egal ob Parallelport- oder USB-Scanner, sollte jedoch ähnlich sein. Die Beschreibung beginnt zunächst mit der Installation/Konfiguration den Scann-Servers, im weiteren Verlauf werden verschiedene Applikationen unter Linux und Windows kurz vorgestellt, die den Scann-Server nutzen können.

Installation / Konfiguration

Die Hauptkomponente für einen Scanner-Server bildet das Programm-Paket von 'SANE'. Unter Debian-Linux kann die Software einfach mittels 'aptitude install sane' installiert werden, Abhängigkeiten zu weiterer Software-Paketen sollten automatisch aufgelöst werden. Die relevanten Dateien zur Konfiguration befinden sich nach der Installation im Verzeichnis '/etc/sane.d/'.
Alternativ kann eine aktuelle Version von 'SANE' von der Homepage (Link siehe unten) geladen, übersetzt und installiert werden. Details zur Vorgehensweise sind der Dokumentation von 'SANE' zu entnehmen.

Nach der Installation sollte zunächst ein Standard-Link '/dev/scanner' auf das entsprechende SCSI-Device, an dem der Scanner angeschlossen ist, erzeugt werden. Zur Bestimmung des Scanner-Devices kann das Tool 'sane-find-scanner' genutzt werden (siehe Anmerkung unten). Der Link kann wie folgt erzeugt werden:

ln -s /dev/sg0 /dev/scanner

Bei diesem Beispiel befindet sich der Scanner am SCSI-Device '/dev/sg0'.

Als nächstes ist die Datei: '/etc/sane.d/dll.conf' anzupassen. In dieser Datei befinden sich die Abkürzungen der einzelnen Scanner-Typen. Diese Datei sollte auf die wesentlichen Einträge gekürzt werden:

/etc/sane.d/dll.conf

# /etc/sane.d/dll.conf - Configuration file for the SANE dynamic backend loader
#
# On Debian systems, the dll backend will also look for pieces of configuration
# in the /etc/sane.d/dll.d directory -- packages providing backends should drop
# a config file similar to dll.conf in this directory.
#

# enable the next line if you want to allow access through the network:
net
umax

In diesem Beispiel ist die Datei, bis auf den Eintrag 'net' und 'umax' gekürzt worden. Der Eintrag 'net' ist für das Ansprechen über das Netzwerk notwendig und 'umax' entspricht dem angeschlossenen Scanner.

Des weiteren ist die Konfigurationsdatei für das Scanner-Modell (in diesem Fall 'umax.conf') zu prüften, bzw. anzupassen. Hier ein Ausschnitt der letzen Zeilen der Datei:

Auszug aus: /etc/sane.d/umax.conf (ca. Zeile: 112)

...

# scsi device list
option connection-type 1
/dev/scanner

...

Am besten ist der zuvor erzeugte Link '/dev/scanner' einzutragen.

Weiterhin ist in der Datei '/etc/sane.d/net.conf' der Eintrag 'localhost' zu aktivieren:

Auszug aus: /etc/sane.d/net.conf


...

## saned hosts
# Each line names a host to attach to.
# If you list "localhost" then your backends can be accessed either
# directly or through the net backend. Going through the net backend
# may be necessary to access devices that need special privileges.
localhost

In der Datei: 'saned.conf' sind die Rechner, die den Scanner-Server nutzen dürfen einzutragen:

Auszug aus: /etc/sane.d/saned.conf

#
# saned.conf
#
# The contents of the saned.conf file is a list of host names, IP
# addresses or IP subnets (CIDR notation) that are permitted to use local
# SANE devices. IPv6 addresses must be enclosed in brackets, and should
# always be specified in their compressed form.
#
# The hostname matching is not case-sensitive.
#
#scan-client.somedomain.firm
#192.168.0.1
#192.168.0.1/29
#[2001:7a8:185e::42:12]
#[2001:7a8:185e::42:12]/64
#
192.168.10.0/24
# NOTE: /etc/inetd.conf (or /etc/xinetd.conf) and
# /etc/services must also be properly configured to start
# the saned daemon as documented in saned(8), services(4)
# and inetd.conf(4) (or xinetd.conf(5)).

# Windows XP-Client
ovation.eusterholz.tld

# Linux Client
experimental.eusterholz.tld

In diesem Fall können explizit zwei Rechner (gelbe Markierung) den Scanner-Server nutzen. Sollen z.B. alle Clients eines Sub-Netzes den Scann-Server nutzen dürfen, so ist das ganze Netz freizugeben (grüne Markierung).

Arbeitet der Scanner im Netzwerk, so geschieht die Kommunikation über den TCP-Port '6566', dieser Port ist in der Datei: '/etc/services' auf Vorhandensein zu prüfen:

Auszug aus: /etc/services (ca. Zeile: 499)

...
canna         5680/tcp                       # cannaserver
sane-port     6566/tcp    sane saned         # SANE network scanner daemon
ircd          6667/tcp                       # Internet Relay Chat
...

Auch ist noch ein neuer Eintag in der Konfigurations-Datei des Super-Dämons '/etc/inetd.conf' notwendig, damit der 'SANE'-Dämon bei Anfrage gestartet wird. Hier ein Beispiel eines solchen Eintrags:

Auszug aus: /etc/inetd.conf


...

# to start the sane-daemon
sane-port stream      tcp     nowait      saned:saned   /usr/sbin/saned   saned

Der Eintrag wird unter Debian schon bei der Installation erzeugt, er muss nur aktiviert werden.

Nach den gemachten Änderungen sollte ein Neustart des Systems gemacht werden. Vorrausetzung für die Funktion des Scanner-Servers ist, es muss sichergestellt sein, dass ein lokales Scannen auf dem Server möglich ist.
Zum Testen des lokalen Scannen eignen sich die Programme: 'xscanimage' oder 'scanimage', die mit zum 'SANE'-Paket gehören. 'xscanimage' ist nur lauffähig auf einen X-Windows-System (z.B. KDE). Wie der Scanner auf der Konsole angesprochen werden kann, ist unten unter Anmerkung zu finden.

SANE-Clients (Linux)

Damit ein entfernter Linux-Client über das Netzwerk auf dem Scann-Server zugreifen kann, ist ebenfalls 'SANE' auf dem Client zu installieren.
Die notwendige Konfiguration ist jedoch einfach zu erledigt, indem in der Datei: '/etc/sane.d/net.conf' anstatt 'localhost' wie oben, die IP-Adresse oder der Hostname des Scann-Servers eingetragen wird. Nach der Konfiguration als Client, sollten die gleichen Tests gemacht werden wie beim Scann-Server (siehe unten).

Nun zu den Client-Programmen, mit dem das Scannen (remote) erfolgen kann: Der einfachste Client ist das schon erwähnte Programm: 'scanimage', mit dem das Scannen auf der Kommandozeilenebene erfolgen kann.

Wesentlich sinniger und effektiver ist jedoch das Scannen unter einem X-Window -Manager, z.B. 'KDE'. Unter X-Windows ist das schon erwähnte Programm 'xscanimage' zu nennen. Hier einige Screenshots zu 'xscanimage':

  

Als weiteres Programm, welches unter 'KDE' betrieben werden kann, ist 'Kooka':

Bei 'Kooka' handelt es sich um ein einfach zu bedienendes Programm mit vielen Features.

Weiterhin ist das Client-Programm 'XSane' zu nennen, welches aus dem 'SANE'-Projekt entstammt. Das Programm gibt es für unterschiedliche Plattformen, unter anderem auch für Windows (Screenshots siehe Windows-Clients).

SANE-Clients (Windows)

Bei den Scann-Client-Programmen unter Windows sind 'SaneTwain' und 'XSane' zu nennen:

'SaneTwain' ist ein kleines, sehr einfach zu bedienendes Programm, mit dem sich einfache Scanne schnell und problemlos erledigen lassen. Ein großer Vorteil dieses Programms ist, dass 'SaneTwain' aus einer 'exe'-Datei und einer Treiber-Datei: 'SaneTwain.ds' besteht. Die Treiberdatei ist im Windows-System-Verzeichnis: 'twain_32' abzulegen. Auch setzt sich des Programm nicht in der Registrierung von Windows fest.

'XSane', ist wie schon erwähnt, unter verschieden Plattformen erhältlich, unter anderem auch in einer 'XSane-WIN32'-Version für Windows Rechner:

  

Auch 'XSane' verfügt über viele Features, die ein angenehmes Arbeiten ermöglichen.

Anmerkungen

Zum Ermitteln des Scanner-Devices für SCSI- und USB-Scanner, kann das zum Umfang von 'SANE' gehörende Tool 'sane-find-scanner' genutzt werden. Ein Analyse mit den Tool kann wie folgt aussehen:


experimental:~# /usr/bin/sane-find-scanner

# sane-find-scanner will now attempt to detect your scanner. If the
# result is different from what you expected, first make sure your
# scanner is powered up and properly connected to your computer.

found SCSI scanner "UMAX Astra 1220S V1.3" at /dev/sg0
# Your SCSI scanner was detected. It may or may not be supported by SANE. Try
# scanimage -L and read the backend's manpage.

# No USB scanners found. If you expected something different, make sure that
# you have loaded a kernel driver for your USB host controller and have setup
# the USB system correctly. See man sane-usb for details.

# Not checking for parallel port scanners.

# Most Scanners connected to the parallel port or other proprietary ports
# can't be detected by this program.
experimental:~#

Um die korrekte Funktion des Scanners sicherzustellen, können diverse Tests auf der Konsole durchgeführt werden. Hier einige sinnvolle Tests mit den Tool: 'scanimage', welches ebenfalls zum Umfang von 'SANE' gehört:

  • Scanner suchen:

    experimental:~# /usr/bin/scanimage -L
    device `umax:/dev/sg0' is a UMAX     Astra 1220S    flatbed scanner
    device `net:localhost:umax:/dev/sg0' is a UMAX   Astra 1220S flatbed scanner

    experimental:~#
     
  • Die Scanner-Optionen können wie folgt ermittelt werden:

    scanimage --help -d net:localhost:umax:/dev/sg0

    Die Optionen werden auf der Konsole ausgegeben.
     
  • Das Scannen vom Scanner in eine Datei kann wie folgt erfolgen:

    scanimage -d net:localhost:umax:/dev/sg0 --mode Color --resolution 300 > scan.pnm

    Das Programm 'scanimage' verwendet das 'PNM'-Bildformat (Portable Anymap). Der Ergebnis des scannens wird in diesem Fall in die Datei 'scan.pnm' geschrieben. Das Format beim scannen kann mit der Option, z.B. '--format=tiff' festgelegt werden.

Weitere Infos

Homepage: SANE - Scanner Access Now Easy http://www.sane-project.org/
The Scanner HOWTO http://tldp.org/HOWTO/Scanner-HOWTO/index.html
SANE - Frontends (Applications) http://www.sane-project.org/sane-frontends.html
Ubersicht: Scanners on Linux http://www.buzzard.me.uk/jonathan/scanners-usb.html
Homepage: Kooka http://kooka.kde.org/

Homepage: SaneTwain

http://sanetwain.ozuzo.net/

Homepage: XSane

http://www.xsane.org/

Manualseiten zu: sane-find-scanner man sane-find-scanner
Manualseiten zu: scanimage man scanimage
System-Dokumentation: sane; sane-utils /usr/share/doc/sane; usr/share/doc/sane-utils

Home ] Nach oben ] Wake-On-LAN ] Power Off ] XDMCP-Zugang ] VNC ] Sun-Java ] Ajaxterm ] [ Scann-Server ] webCDwriter ] Relaiskarte (parallel) ] Relaiskarte (seriell) ] UPS ] LIRC ] Clonezilla ] Subversion ] SMS unter Linux ]

letzte Änderung: 01. Januar 2014

 

Copyright © 2004 Norbert Eusterholz