Paolo Faeti Linux Day PLUG PARMA 23 Ottobre 2010 Tux Mascotte Ufficiale del Kernel Linux 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. 2
Flatbed Scanners Questa presentazione descrive in particolare la scelta e l'installazione di uno scanner piano USB in un sistema Linux. 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 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 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. 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. 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... 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 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 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 11
lsusb 12
sane-find-scanner 13
scanimage -L 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. 15
/etc/sane.d 16
File di configurazione del backend 17
dll.conf 18
Xsane -1-19
Xsane -2-20
Iscan 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. 22
Vuescan -1-23
Vuescan -2-24
Vuescan -3-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. 26
Grazie per l' attenzione! 27