Linux e gli Scanner
Paolo Faeti
Linux Day PLUG
PARMA
23 Ottobre 2010
Tux
Mascotte Ufficiale del Kernel
Linux
Linux e gli Scanner
1
SCANSIONE DIGITALE
• Scansione: è la conversione di una immagine fisica in
una immagine digitale. E' effettuata da uno scanner
tramite un software di scansione.
Gli scanner possono essere :
• Manuali
• Con alimentatore di documenti
• Piani (detti anche flatbed, o da desktop).
Sono gli scanner di gran lunga più versatili e diffusi.
Linux e gli Scanner
2
Flatbed Scanners
Questa presentazione
descrive in particolare la
scelta e l'installazione di uno
scanner piano USB in un
sistema Linux.
Linux e gli Scanner
3
Driver e interfacce
Gli scanner piani recenti sono solitamente collegati ai computer tramite una
interfaccia USB. Nel passato erano molto in uso le interfacce SCSI e parallele.
I piccoli scanner manuali utilizzano a volte anche le porte seriali.
Driver e backend
• Gli scanner vengono comandati tramite una serie di routine software
precodificate (esempio : SANE, TWAIN.)
• I programmi di scansione chiamano ciascuna di queste routine interagendo
con una porzione di software che funge da adattatore fra l' hardware dello
scanner ed il sistema operativo.
• Nel mondo Windows questo pezzo di software si chiama “driver”,
ed implementa lo standard TWAIN
• In Linux una raccolta di driver detta “SANE” svolge la stessa funzione
• Ciascun driver di SANE è noto come “backend” ed è sviluppato per un solo
modello di scanner o per alcuni modelli con hardware strettamente correlato.
• SANE è un software libero e gratuito
Linux e gli Scanner
4
Frontend
• I frontend di SANE sono i software coi quali l' Utente effettua
materialmente la scansione
• Xsane è il più popolare frontend per SANE. E' un programma
versatile, facile da usare e molto completo.
• Kooka ed Iscan, fra gli altri frontend disponibili, offrono una
interfaccia grafica particolarmente semplificata
• L' interfaccia grafica rimane quindi uguale, qualunque sia
l'hardware di scansione (con minori difficoltà di
apprendimento ;-) )
• Xsane ha un plugin richiamabile direttamente da GIMP, per
una più facile importazione delle immagini
Linux e gli Scanner
5
Gli Internals
• Posto che i backend vengono per lo più sviluppati con il lavoro volontario di
programmatori esterni alle Aziende che producono gli scanner, è fondamentale
una diffusione completa delle caratteristiche tecniche degli scanner stessi
( “Internals “, “Complete Technical Specifications”)
• Purtroppo la più parte delle Case produttrici è piuttosto restia a farlo per
motivi non del tutto comprensibili
• Molti Scanner inoltre sono prodotti da terze parti e semplicemente rimarchiati e
venduti dal “produttore” finale ;-)
• Quando non si abbia la collaborazione del fabbricante, a volte si può ugualmente
realizzare un backend con operazioni di reverse engineering, ma i tempi si
allungano, e spesso non tutte le funzioni risultano disponibili
• Fortunatamente alcune Case hanno una politica di collaborazione con il mondo
Linux, o forniscono addirittura il software necessario, da loro stesse sviluppato :
EPSON, HP e BROTHER soprattutto.
Linux e gli Scanner
6
Perchè uno Scanner USB funzioni con Linux...
• Il sistema USB del computer deve funzionare correttamente e
venire riconosciuto da Linux
• Non devono esserci incompatibilità specifiche fra kernel e lo
scanner (es.: capita con I' HP 5300C ed il kernel 2.6.x)
• Lo scanner deve essere rilevato dal Sistema Operativo,
tramite i backend di SANE, o con appositi software (es.:
VUESCAN)
In diverse distribuzioni di Linux l'accesso agli scanner è concesso
per default solo agli amministratori del sistema (utenti “root”).
E' però sempre possibile abilitare anche gli altri utenti .
Linux e gli Scanner
7
Come comportarsi ?
La domanda iniziale è :
• Volete trovare / acquistare uno Scanner che funzioni
nativamente con la vostra installazione di Linux
oppure :
• Volete usare con Linux uno scanner che già possedete ?
Vi sono differenti strategie in ciascuno dei due casi.
Andiamo ad esaminarle .......
Linux e gli Scanner
8
Nuovo Scanner :-))
°° Vi consiglio innanzi tutto di controllare la gamma EPSON (supportata da
Linux tramite software SANE / Avasys) :
http://www.avasys.jp/lx-bin2/linux_e/scan/DL1.do
°° Poi controllate la gamma HP qui :
http://hplipopensource.com/hplip-web/index.html
°° Poi controllate la gamma BROTHER qui :
http://welcome.solutions.brother.com/bsc/public_s/id/linux/en/index.html
°° Se non trovate nulla che vi piaccia provate a cercare nel Sito Web di SANE
uno Scanner che sia supportato, e che risponda alle vostre esigenze :
http://www.sane-project.org/sane-mfgs.html
Linux e gli Scanner
9
Scanner già acquistato ;-))
• Provate innanzitutto a cercare nel Sito Web di SANE se il
vostro Scanner sia già supportato nativamente:
http://www.sane-project.org/sane-mfgs.html.
• In caso non lo sia, fate una accurata ricerca su Internet per
verificare se una scappatoia (workaround) non sia già stata
trovata da qualcuno (capita piuttosto spesso)
• Quando avete tutto quello che vi serve, passate alla
configurazione di SANE e provate a scannerizzare tramite il
vostro frontend preferito
Linux e gli Scanner
10
Configurazione di SANE -1• Innanzitutto provate a vedere se la connessione USB dello
scanner funziona, digitando da terminale : <lsusb>
• Provate se lo scanner è visto dal sistema operativo e da SANE :
da terminale digitare : <sane-find-scanner>
• Una ulteriore prova può essere fatta digitando il comando :
<scanimage -L> , che elenca tutti gli scanner collegati e
riconosciuti da SANE
Linux e gli Scanner
11
lsusb
Linux e gli Scanner
12
sane-find-scanner
Linux e gli Scanner
13
scanimage -L
Linux e gli Scanner
14
Configurazione di SANE -2• Se lo scanner è visto dal sistema USB ma non da SANE, aprite
con previlegi da amministratore la directory /etc/sane.d
• Assicuratevi che il file di configurazione del backend sia
presente
• Aprite poi con un editor di testo il file dll.conf ed assicuratevi
che non vi sia un carattere # prima del nome del backend
• Nel caso vi sia, cancellate tale carattere # e salvate il file. Poi
riavviate il sistema.
Linux e gli Scanner
15
/etc/sane.d
Linux e gli Scanner
16
File di configurazione del backend
Linux e gli Scanner
17
dll.conf
Linux e gli Scanner
18
Xsane -1-
Linux e gli Scanner
19
Xsane -2-
Linux e gli Scanner
20
Iscan
Linux e gli Scanner
21
Se non funziona SANE...
°° Si può provare a scaricare VUESCAN. Questo
software gestisce autonomamente l'hardware,
supporta più di 1500 modelli di scanner e viene
continuamente aggiornato :
http://www.hamrick.com/
°° Si tratta di un software a pagamento, ma di
costo contenuto, ed ampiamente giustificato
dalle prestazioni. La versione di prova è
scaricabile gratuitamente.
Linux e gli Scanner
22
Vuescan -1-
Linux e gli Scanner
23
Vuescan -2-
Linux e gli Scanner
24
Vuescan -3-
Linux e gli Scanner
25
Se non funziona neppure VUESCAN
(ovvero: a mali estremi... ;-) )
• Cambiare la distribuzione e/o la versione di Linux per rimediare ad
eventuali incompatibilità specifiche fra kernel e lo scanner (es.:
scanner HP 5300C e kernel 2.6.x)
• Ricompilare il kernel e/o i moduli ( le patch necessarie sono a volte
reperibili già pronte, sul Web. Richiede però competenze specifiche )
• Cambiare scanner :-((
• Installare un sistema operativo che supporti lo scanner su di una
partizione separata e configurare il sistema per il dual boot
• Usare per lo scanner un computer separato, con un sistema
operativo supportato, collegato in rete al / ai computer principali
utilizzanti Linux.
Linux e gli Scanner
26
Grazie per l' attenzione !
Linux e gli Scanner
27