to-st.de
Home  |  Impressum  |  Datenschutz  |  Kolophon  |  Kontakt
Eyecatcher Image: /img/eyecatcher/verkehrszeichen/teaser_780x175_verkehrszeichen_licht_03.jpg
SI4735 PC-Radio USB V2 Linux Software Linux & Computer Blog / Vermischtes  
Lexmark X215 MFP unter Linux Scannen mit Linux (h) CD-Brennen mit Linux (h) EPSON E0855-2 LCD Display unter Linux  
Artikel auf Deutscharticle not available in English

Scannen mit Linux

Was man so braucht

Wenn auch viele Hardware-Hersteller inzwischen auf den Linux-Zug aufgesprungen sind, so wird man dennoch vergeblich auf den Scannern beigelegten Treiber-CD's nach Kernelmodulen oder ähnlichem suchen. Leider ist unter Linux in dieser Hinsicht manchmal noch Bastelei angesagt. Relativ einfach lassen sich SCSI-Scanner ansteuern, vor allem z.B. von namhaften Herstellern wir Agfa, Epson, Hewlett-Packard, Linotype, Microtek, Mustek, Umax und auch einige Vobis-Scanner (da baugleich mit einigen vorgenannten).

Für USB- und Parallel-Varianten sowie Handscanner gibt es allerdings einige interessante Netz-Adressen:

Das SANE-Projekt (Scanner Access Now Easy) stellt ein Interface zwischen zwischen Linux und Scanner bereit. Zweck des Projektes ist es, ein universelles Scanner-Interface für UNIX- und UNIX-ähnliche Betriebssysteme bereitszustellen, ähnlich wie die TWAIN-Schnittstelle ein universelles Interface unter Windows-Betriebssystemen darstellt. Dabei funktioniert SANE nicht nur unter Linux sondern auch unter FreeBSD, Solaris, HP-UX, IRIX und anderen UNIX-Derivaten.

Besitzer von SCSI-Scannern sind fein raus, ein Blick auf die Treiber-Seiten von SANE zeigt, welcher Scanner unterstützt wird. Die Situation mit USB-Scannern (z.Zt. schlecht) dürfte sich mit Kernel 2.4 bald bessern.

SCSI-Scanner kommen zumeist mit eigener Controller-Karte, die aber ziemlich gurkig sein kann (z.B.die DTC3181 Karte des Mustek12000SP). Dies liegt daran, daß es sich dabei zumeist nicht um "vollwertige" SCSI-Controller handelt sondern um abgespeckte Versionen, die nur für ein einzelnes Gerät, eben den Scanner, entwickelt wurden.

In den meisten Fällen wird man den Pixelfritzen aber auch an einem billigen NCR- oder sonstigen "normalen" SCSI-Controller zum Laufen bringen, für den es Kernel-Unterstützung gibt.

Zunächst muss man einen neuen Kernel kompilieren, der die Unterstützung für das "generic SCSI device" (z.B. als Modul) mitbringt. Baut man den Treiber fest in den Kernel ein und hat der Scanner beim Booten Saft, sieht man den Scanner auch schon beim nächsten Hochfahren:

scsi0 : Generic NCR5380/53C400 Driver
scsi1 : Tekram DC390/AM53C974 V2.0d23 1999/08/26
scsi : 2 hosts.
  Vendor: SCANNER   Model:    Rev: 2.02
  Type:   Scanner             ANSI SCSI revision: 01 CCS

- hier hängt er am Controller scsi0 und nennt sich selber nur Scanner. Zumindest die Firmware (2.02) und die SCSI-Art (SCSI-1) ist zu erkennen. Hat man den Controller-Treiber als Modul compiliert, sieht man ihn natürlich auch später nach einem insmod bei einem less /proc/scsi/scsi. Hat man den automatischen Kernelmodul-Lader kmod laufen (Normalfall), wird der Scanner automatisch ansprechbar, wenn man ihn braucht, dies geschieht u.U. schon beim Booten, z.B. in diesem Beispiel (Red Hat Linux):

scsi0 : AM53/79C974 PCscsi driver rev. 0.5; 
  host I/O address: 0xec00; irq: 10

scsi : 1 host.
  Vendor: HP        Model: HP35470A     Rev: T503
  Type:   Sequential-Access             ANSI SCSI revision: 02
  Vendor: UMAX      Model: Astra 1220S  Rev: V1.3
  Type:   Scanner                       ANSI SCSI revision: 02
scsi : detected total.

Hier hängt der Scanner an einem Dawicontrol DC2974 PCI SCSI-Controller und verrät uns neben dem Type (Type: Scanner) auch noch Hersteller (Vendor: UMAX) und Modell des Scanners (Model: Astra 1220S). Die SCSI-Version ist SCSI-II. Neben dem Scanner ist übrigens noch ein Streamer von HP angeschlossen.

Betriebsystem und der Pixelfritze unterhalten sich nun über das generische SCSI-Device /dev/sgx, wobei x hier für eine Zahl (bei manchen Distris auch ein Buchstabe) steht. Die Nummer hängt vom Platz am SCSI-Bus ab (Zählung beginnt bei 0 oder a). Die für SCSI-Scanner gebräuchlichste ID 5 wird dann nach /dev/sg4 (bzw. /dev/sge) abgebildet. (Wenn der Scanner an seinem eigenen Controller hängt, natürlich /dev/sg0.)
Mit Hilfe von Administrationswerkzeugen wie yast oder linuxconf macht man dann einen Link von /dev/scanner nach /dev/sgx, aber das geht natürlich auch per Hand ;-).

SANE

SANE kann man von der CD seiner Distri installieren, oder von der SANE-Homepage holen. Die ganz Harten können den Scan nun mit scanimage (mit man scanimage oder scanimage --help bekommt man Hilfe) von der Kommandozeile starten, oder man verwendet das SANE beiliegende xscanimage.
Auf jeden Fall sollte man mit scanimage --list-devices von seinem shellprompt aus mal nach dem rechten sehen:

jimknopf@lummerland:~ > scanimage --list-devices
device `mustek:/dev/scanner' is a Mustek  C06 S12IDW flatbed scanner
device `mustek:/dev/sga' is a Mustek  C06 S12IDW flatbed scanner

Im xscanimage-Fenster ("grafisches Frontend") mit GTK-Look werden in Abhängigkeit vom Scannertyp Parameter wie Farbmodus, Farbtiefe, Auflösung, Helligkeit, Kontrast, Gammawert usw. einstellbar.

Ein Klick auf Preview Window fördert das Vorschau-Fenster zutage, in dem man mit Aquire Preview einen Überblick bekommt, an den Knöpfen spielen und den gewünschten Ausschnitt einstellen kann. Der final scan landet in einer PNM-Grafikdatei (->"Filename").

Wer damit nicht umgehen kann oder will, kann auch direkt aus GIMP scannen. Dazu erzeugt man im Verzeichnis ~/.gimp/plug-ins/ einen Link mit:
ln -s /usr/X11R6/bin/xscanimage xscanimage

Einen Scan startet man nun aus GIMP über File->Aquire->Xscanimage, und das Resultat ist direkt weiter bearbeitbar und in unzähligen Bildformaten abspeicherbar.

XSane

Eine komfortable Alternative zu xscanimage ist xsane. Mit xsane kann man nicht nur scannen, auch faxen und kopieren ist möglich.

Beim Start von xsane wählt man den zu verwendenden Scanner aus (bzw. ein Device, welches von einer Datei liest)

Direkt in der Vorschau kann man z.B. Schwarz- und Weisspunkt festlegen und so den Tonwertumfang des Bildes optimal abstimmen.

XSane kann ebenso wie xscanimage aus GIMP aufgerufen werden. Dazu erzeugt man im Verzeichnis ~/.gimp/plug-ins/ einen Link mit:
ln -s /usr/X11R6/bin/xsane xsane
der Start des Programms erfolgt aus GIMP dann über File->Aquire->XSane.
Die Filter von GIMP können bei der Verschönerung des Scans beachtliches leisten. Oftmals ist das Motiv bei einer gedruckten Vorlage von einem störenden MoirÉ-Muster überlagert, das von den Rasterpunkten beim Zeitungs- oder Buchdruck herrührt. Mit dem GIMP-Filter Filters->Enhance->Despeckle kann man dies weitaus beseitigen (zum Preis etwas geringerer Schärfe).

Besonders nett sind die Fax- und Kopierfunktion. Zum Kopieren wählt man zuerst die Druckerauflösung (z.B. 300dpi), dann Xsane mode "Copy", Farbmodus und sieht unter Preferences->Setup->Printer Options nach, ob das Druck-Kommando (meist "lpr") und der Rest hinhaut. Nach den richtigen Einstellungen in der Vorschau schickt das drücken von Start die Ausgabe direkt auf den Drucker.

Faxen geht praktisch analog, dazu ist in Preferences->Setup->Fax options das gewünschte Faxprogramm einzutragen:

In einem entsprechenden Dialog kann man dann die Einstellungen für den Scan auswählen und z.B. auch bestimmen, in welchem Modus (Normal oder Fein) gefaxt werden soll.

In einem weiteren Fenster sieht man dann, wieviele Seiten das zu sendende Fax enthält, und kann sich diese auch noch einmal anschauen, Seiten umordnen oder löschen. Nachdem man alle Seiten gescannt hat, braucht man nur noch die Faxnummer einzutragen und dann kann's losgehen, mit dem Verschicken des Faxes.

Besondere Geräte oder Adapter

SANE unterstützt auch spezielle Eingabegeräte, wie z.B. Digitalkameras, Filmscanner (für Dias und Negative, mit hoher Auflösung) sowie eine Reihe von Adaptern für die Flachbettscanner, z.B. Durchlichtadapter (Transparency Kit) oder automatische Einzüge. Weitere Informationen zu den genauen Geräten findet man natürlich auf der SANE-Homepage.

Aus praktischer Erfahrung kann man allerdings sagen, das es momentan nicht unbedingt sinnvoll ist, Negative zu scannen, da ein automatisches Color Management fehlt, und man die Tönungen der Negative von Hand korrigieren muß. Dies gelingt in den meisten Fällen nicht.
Relativ gut lassen sich Dias scannen, allerdings sollten hierbei schon physikalische Auflösungen von 1200 dpi oder 2400 dpi benutzt werden, wie sie eigentlich nur bei dedizierten Fimlscannern zur Verfügung stehen, wenn mit Kleinbild gearbeitet wird.
Bei größeren Diaformaten, z.B. Mittelformat oder Großformat erhält man allerdings auch bei z.B. 600 dpi sehr gute Scans, wie man z.B. in dem folgenden Screenshot sehen kann.


Andreas Kraska, Tobias Stöber
Last modified: Thu Mar 30 12:14:55 MET 2000


CSS ist valide! CSS ist valide!