Traduzioni: English - Français - Italiano


Impostare e amministrare uno scanner connesso ad una porta USB. Per uno scanner di rete fare riferimento alla pagina di SANE in rete.

Introduzione

La scansione di un documento da uno scanner autonomo o da un dispositivo multifunzione generalmente comporta l'uso di SANE (Scanner Access Now Easy). Il progetto fornisce una raccolta di backend (driver) per scanner che possono comunicare con lo scanner allo scopo di farlo funzionare. I backend non forniti da SANE possono essere facilmente inseriti all'interno dell'infrastruttura SANE indipendentemente dal fatto che il software sia libero (HP) o non-free. Gli scanner che SANE gestisce direttamente tramite backend sono elencati qui.

Il primo passo verso una scansione di successo è l'installazione di libsane o libsane1, che contiene la libreria principale per far funzionare gli scanner. Il pacchetto fornisce anche la raccolta di SANE dei backend per scanner. Se lo scanner è non supportato da SANE, il backend (e altri file) dovranno essere ottenuti dagli archivi Debian o dal produttore. Una importante fonte di backend liberi che richiedono questo passo è quella delle macchine multifunzione di HP.

Le prossime due sezioni presumono che si abbia il backend (e gli altri file) che SANE o il produttore forniscono. Lo scanner dovrebbe funzionare senza alcuna modifica con un frontend senza doversi preoccupare di alcuno dei passi descritti in seguito, ma è comunque bene sapere che si sono procedure di risoluzione dei problemi che possono essere messe in pratica. Il manuale di SANE elenca i backend disponibili. Ogni backend ha la propria pagina di manuale e un file di configurazione in /etc/sane.d

In Debian 11 (bullseye), un dispositivo scanner moderno che fornisce il protocollo IPP-over-USB verrà automaticamente configurato per usare il protocollo, a patto che ipp-usb sia installato e il servizio sia caricato, attivo e in esecuzione. Backend adatti per l'uso per la scansione sono sane-escl e sane-airscan.

Rilevazione di scanner e backend

Connettere lo scanner al computer e vedere cosa restituisce lsusb:

brian@desktop:~$ lsusb

Bus 002 Device 005: ID 04b8:080f Seiko Epson Corp. Stylus Photo RX420/RX425/RX430

C'è un Epson Stylus Photo sul USB Bus 002 al Device 005. Bene, ma ciò non dice se è possibile far sì che il dispositivo funzioni e faccia una scansione.

Installare sane-utils e vedere se lo scanner viene rilevato usando

sane-find-scanner

Se tutto va bene lo scanner viene trovato.

brian@test:~$ sane-find-scanner

  # sane-find-scanner tenta ora di rilevare lo scanner. Se il
  # risultato è diverso da ciò che ci si aspetta, prima assicurarsi
  # che lo scanner sia accesso e correttamente connesso al computer.

  # Nessuno scanner SCSI trovato. Se ci si aspetta qualcosa di diverso assicurarsi
  # di aver caricato un driver SCSI del kernel per il proprio adattatore SCSI.

could not open USB device 0x0644/0x0200 at 004:002: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0002 at 004:001: Access denied (insufficient permissions)
could not open USB device 0x045e/0x008c at 007:002: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0001 at 007:001: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0001 at 006:001: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0001 at 005:001: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0002 at 003:001: Access denied (insufficient permissions)
found USB scanner (vendor=0x04b8 [EPSON], product=0x080f [USB MFP]) at libusb:002:005
could not open USB device 0x1d6b/0x0001 at 002:001: Access denied (insufficient permissions)
could not open USB device 0x04b3/0x3003 at 001:005: Access denied (insufficient permissions)
could not open USB device 0x04b3/0x3004 at 001:004: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0001 at 001:001: Access denied (insufficient permissions)
  # Lo scanner USB è stato (probabilmente) rilevato. Può essere o meno supportato da
  # SANE. Provare scanimage -L e leggere la pagina man del backend.

È stato localizzato con successo uno scanner sul Bus 002 come Device 005. Se anche l'accesso a questo device è stato negato (come lo è stato per gli altri device USB) si devono guardare i permessi sul bus USB.

Ora si sa che uno scanner USB esiste, eseguire

scanimage -L

L'output che si ottiene è:

device `epson:libusb:002:005' is a Epson RX420 flatbed scanner

Il manuale di scanimage descrive a cosa serve -L. Nel contesto di un device USB locale, per cui un utente oridinario ha i permessi di accesso, la risposta positiva indica che SANE ha un backend per supportare lo scanner.

Ora mettere un documento nel piano dello scanner e fare la scansione con

scanimage > image.pnm

Il successo nel generare image.pnm è una buona indicazione che anche la scansione con altri frontends probabilmente avrà successo. Il file dovrebbe essere apribile con un visualizzatore di immagini come imagemagick

Permessi

Per un utente che ha fatto il login in locale non è necessario essere nel gruppo scanner. I permessi del device scanner sono automaticamente gestiti dal kernel e quelli sul bus USB sono concessi ad un utente da udev, a patto che

  • libpam-systemd sia installato,
  • ci sia, se necessariio, un file *.rules appropriato per il produttore in /etc/udev/rules.d o /lib/udev/rules.d.

Un utente che desideri accedere ad uno scanner ed utilizzarlo deve avere i permessi di accesso ad un file di device di scanner sul bus USB. Nel sistema init predefinito di Debian, systemd, e con libpam-systemd installato i permessi corretti sono impostati da /lib/udev/rules.d/70-uaccess.rules per facilitare la rilevazione dello scanner da parte dei backend SANE quando lo scanner viene collegato.

Per il file di device dello scanner:

brian@test:~$ ls -l /dev/sg*
crw-------  1 root root 21, 0 Aug  4 09:40 /dev/sg0
crw-rw----+ 1 root root 21, 1 Aug  4 09:40 /dev/sg1
crw-------  1 root root 21, 2 Aug  4 09:40 /dev/sg2
crw-------  1 root root 21, 3 Aug  4 09:40 /dev/sg3
crw-------  1 root root 21, 4 Aug  4 09:40 /dev/sg4
crw-------  1 root root 21, 5 Aug  4 09:40 /dev/sg5
crw-------  1 root root 21, 6 Aug  4 09:40 /dev/sg6
crw-------  1 root root 21, 7 Aug  4 14:46 /dev/sg7

Notare il carattere + dopo i permessi Unix per /dev/sg1. Indica un'ACL (Access Control List, lista di controllo degli accessi), che specifica a quali utenti è concesso l'accesso a /dev/sg1. Per vedere un'ACL, eseguire:

brian@test:~$ getfacl /dev/sg1
getfacl: Removing leading '/' from absolute path names
# file: dev/sg1
# owner: root
# group: root
user::rw-
user:brian:rw-
group::---
mask::rw-
other::---

L'utente brian ha accesso rw al file di device. Permessi simili saranno necessari sul bus USB.

Per il bus USB:

brian@test:~$ ls -l /dev/bus/usb/*/*
crw-------  1 root root 189,   0 Aug  4 09:40 /dev/bus/usb/001/001
crw-------  1 root root 189,   3 Aug  4 13:40 /dev/bus/usb/001/004
crw-------  1 root root 189,   4 Aug  4 13:40 /dev/bus/usb/001/005
crw-------  1 root root 189, 128 Aug  4 09:40 /dev/bus/usb/002/001
crw-rw----+ 1 root root 189, 132 Aug  4 18:25 /dev/bus/usb/002/005
crw-------  1 root root 189, 256 Aug  4 09:40 /dev/bus/usb/003/001
crw-------  1 root root 189, 384 Aug  4 09:40 /dev/bus/usb/004/001
crw-------  1 root root 189, 385 Aug  4 09:40 /dev/bus/usb/004/002
crw-------  1 root root 189, 512 Aug  4 09:40 /dev/bus/usb/005/001
crw-------  1 root root 189, 640 Aug  4 09:40 /dev/bus/usb/006/001
crw-------  1 root root 189, 768 Aug  4 09:40 /dev/bus/usb/007/001
crw-------  1 root root 189, 769 Aug  4 09:40 /dev/bus/usb/007/002

brian@test:~$ getfacl /dev/bus/usb/002/005
getfacl: Removing leading '/' from absolute path names
# file: dev/bus/usb/002/005
# owner: root
# group: root
user::rw-
user:brian:rw-
group::---
group:scanner:rw-
mask::rw-
other::---

L'utente brian potrebbe anche ottenere l'accesso al device USB facendo parte del gruppo scanner. Ma fare in tale modo ha poco senso, a meno che non ci si aspetti che l'utente faccia il login da una posizione remota con ssh o un altro programma di accesso da remoto.

Prima di buster, mettere un utente nel gruppo scanner era sufficiente per permettergli di fare scansioni. A causa del bug 918358, ciò non è più vero. Tuttavia aggiungere una riga in un file in /etc/udev/rules.d/, come detto nella segnalazione di bug, è sufficiente a risolvere il problema. Eseguire udevadm trigger, o disconnettere e riconnettere il dispositivo per ricaricare le regole udev.

File di configurazione per libsane

libsane-common installa i file di configurazione dll.conf, dll.d, net.conf e saned.conf in /etc/sane.d. Solo dll.conf e dll.d sono importanti per uno scanner connesso via USB, ma tutti e quattro hanno un ruolo quando si tratta di condividere e per accedere ad uno scanner attraverso la rete.

dll.conf contiene un elenco dei backend che possono essere caricati dinamicamente a richiesta. Commentare i backend non utilizzati può portare ad una leggera riduzione dei tempi di scansione. È anche possibile aggiungere un file in /etc/sane.d/dll.d che contiene un elenco di backend da aggiungere. Ciò viene spesso fatto dal software che fornisce un backend non SANE.

Macchine HP all-in-one (aio, multifunzione) Machines

Un backend per questi dispositivi è sviluppato e supportato da HP attraverso HPLIP. Il backend si chiama hpaio ed è elencato nel file hplip in /etc/saned/dll.d quando è installato libsane-hpaio. Il supporto per la rilevazione del device è fornito da /lib/udev/rules.d/56-hpmud.rules che è nel pacchetto libsane-hpaio. Notare che non tutti i dispositivi multifunzione gestiscono la scansione da un computer via USB o la rete.

Il modo semplice per utilizzare hpaio e 56-hpmud.rules è quello di installare hplip e le sue dipendenze raccomandate e creare una coda di stampa con hp-setup. Ciò porta ad un'impotazione automatica dello scanner perché il suo URI di device viene ottenuto dall'URI della stampante USB sostituendo hp:/... con hpaio:/.... Avere hplip nel sistema rende anche più semplice installare un plugin non libero con hp-plugin se lo scanner lo richiede.

Può essere interessante notare che tutto ciò che è realmente necessario per fare una scansione con uno scanner all-in-one è il pacchetto libsane-hpaio, installato senza i pacchetti raccomandati e, se necessario, un modo per installare un plugin non libero.

Backend per scanner non liberi

Per gli scanner snapscan, copiare il file snape20.bin dal CDROM di installazione dello scanner in /lib/firmware/ e aggiungere firmware /lib/firmware/snape20.bin al file di configurazione /etc/sane.d/snapscan.conf.

Pacchetti Debian a 32 bit e 64 bit per dispositivi scanner si possono solitamente trovare quando si utilizza questa pagina di ricerca. Si può anche accedere alle istruzioni di installazione per la scansione con USB o connessione di rete; viene anche suggerita una regola udev da usare con una connessione USB. Tenere a mente che posizionare la regola udev in /lib/udev/rules.d/60-libsane.rules farà sì che questa scompaia se viene aggiornato il pacchetto libsane. Considerare l'uso di /etc/udev/rules.d/59-scanner.rules invece.

I pacchetti per Debian (versioni i386 e amd64) che forniscono funzioni di scansione per un dispositivo multifunzione possono essere offerti attraverso un pacchetto ScanGear MP. È probabilmente meglio fare una ricerca web per il modello specifico per identificare qualcosa di adatto. scangearmp2 è uno strumento di scansione autonomo che non fornisce alcuna integrazione con SANE. Ciò che è offerto da Canon non è accessibile dai frontend SANE come xsane e simple-sca perché dll.conf o dll.d non sono integrati nei suoi pacchetti e non è fornito un backend da caricare dinamicamente a richiesta da SANE.

Gli utenti per i quali i backend SANE epson e epson2 non funzionano possono fare ricorso a ciò che viene fornito da Epson. Ci sono iscan-bundle e il più recente imagescan-bundle. Quale prendere dipende dal modello di dispositivo multifunzione. Entrambi sono file .tar.gz (archivi tar) e possono inizialmente essere processati con

tar zvxf <file>

La directory in cui vengono messi i file decompressi ha uno script di installazione. Spostarsi in tale directory ed eseguire lo script con

sh install.sh

  • Samsung

Cercare i driver per un dispositivo attraverso i siti web di HP o Samsung. Si dovrebbero trovare alcune versione di ULD (Unified Linux Driver), che supporta le piattaforme i386 e amd64. L'ULD è anche utilizzato con alcuni dispositivi Xerox.

Spacchettare il file scaricato con

tar zvxf uld_<versione>.tar.gz

Spostarsi nella directory uld ed eseguire install-scanner.sh:

cd uld
sh install-scanner.sh

Samsung non fornisce l'ULD come .deb, ma il Samsung Unified Linux Driver Repository (SULDR) lo fa. Ha anche molte informazioni sull'installazione dell'ULD e sulla sua interazione con un sistema Debian. SULDR non è affilitato con Samsung.

libsane in Debian cerca backend backends in una delle directory multiarch, /usr/lib/x86_64-linux-gnu/sane o /usr/lib/i386-linux-gnu/sane. In aggiunta ha anche una patch per cercare /usr/lib/sane per soddisfare alcuni driver per scanner di Epson, Samsung e altri produttori terzi che posizionano lì i loro backend SANE. Avere backend SANE in /usr/lib64/sane in un pacchetto Debian è il modo preferito da Brother. libsane di Debian non cerca lì, ma alcuni pacchetti per scansione brscan gestiscono la cosa permettendo al sistema di trovare i backend attraverso altre tecniche, come creare collegamenti alle directory multiarch in uno script postinst.

Se si pensa che la capacità di software di terze parti di iniziare la scansione dipenda dalla posizione errata dei file di backend, vale la pena considerare l'idea di copiarli in una directory multiarch come modo per affrontare il problema.

Frontend per la scansione

Un frontend è un programma che fa da interfaccia con un backend SANE per produrre un output scansionato in un formato desiderato. SANE è stato progettato per funzionare insieme a qualsiasi frontend conforme a SANE, che sia a riga di comando o basato su GUI

  • scanimage: un'interfaccia a riga di comando del Progetto SANE per controllare la scansione

  • xsane: una GUI per l'acquisizione di immagini da uno scanner; può essere invocata attraverso The GIMP

  • simple-scan: un'applicazione GTK+ con una GUI minimale; offre facilità d'uso e integrazione con il desktop GNOME.

  • xscanimage: una GUI del Progetto SANE per l'acquisizione di immagini da uno scanner; può essere invocata attraverso The GIMP

  • skanlite: un'applicazione grafica per scanner dalla KDE Foundation

  • gscan2pdf: un'applicazione grafica per produrre PDF o DjVu da documenti scansionati

Note di installazione per vari scanner

Vedere anche

Condivisione di uno scanner in rete.

Considerazioni finali

Non scordare di leggere la documentazione Debian e l'altra documentazione in /usr/share/doc/libsane. Si spera che non vi siano conflitti fra essa e ciò che è scritto in questa pagina.


CategoryHardware CategoryScanner