[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[riminilug-general] Scanner in client server: mini HowTo
Ciao,
allego un mini HowTo per utilizzare gli scanner in rete
(client/server), nel caso possa essere utile a qualcuno.
Umberto Zappi
Come configurare lo scanner per l'uso in rete (client/server) (nov/2014)
Autore
Questo breve HowTo e' stato scritto da Umberto Zappi (uzappi@xxxxxxxxxxxx)
E' possibile utilizzarlo liberamente e adattarlo alle proprie esigenze.
E' possibile modificarlo e ridistribuirlo liberamente.
Se il testo viene modificato, l'autore originale non puo' essere modificato
o eliminato.
Caso trattato:
server: Debian wheezy 7.7
client: Debian jessie testing
1) Lato server:
1.a) Installare saned e configurarlo per l'uso dello scanner (o degli scanner)
in locale.
Se saned non fosse già installato sul sistema occorre eseguire il
comando:
apt-get install sane-utils
Opzionalmente può essere installato xsane se occorre disporre del
supporto grafico (frontend).
Per la corretta configurazione si rimanda alla letteratura specializzata
su sane / saned
1.b) Verificare il file /etc/services.
Il file /etc/services associa dei nomi logici alle porte tcp o udp.
Per default saned utilizza la porta 6566 per la condivisione in rete
dello scanner fra client e server.
Il file /etc/services dovrebbe contenere una riga del tipo:
sane-port 6566/tcp sane saned # SANE network scanner daemon
se non fosse presente: (non testato con successo)
1.b.1) fare una copia del file /etc/services
1.b.2) inserire la riga in /etc/services
1.c) Configurare saned come servizio di rete.
1.c.1) fare una copia del file /etc/sane.d/saned.conf
1.c.2) aggiungere in /etc/sane.d/saned.conf dopo
## Access list
una o piu' righe per abilitare i client che possono accedere al
server.
Le righe inserite possono
a) contenere il nome dell'host (es: myclient.mydomain.com)
b) contenere un singolo indirizzo IP (es: 192.168.1.50)
c) contenere una sottorete (es: 192.168.1.0/24)
d) contenere il solo carattere '+' per abilitare ogni client
(sconsigliato per motivi di sicurezza)
Gli indirizzi IP e le sottoreti immesse possono essere anche IPv6
1.c.3) [opzionale] aggiungere un range di porte per la connesione dati.
Se il server si trova dietro ad un firewall, togliere il commento
o aggiungere nel file /etc/sane.d/saned.conf dopo
## Daemon options
la riga
data_portrange = 10000 - 10100
adeguando eventualmente i valori delle porte 10000 e 10100
1.d) Avviare il servizio di rete.
saned può fornire servizi di rete tramite chiamate dal demone inetd (o
xinetd) oppure avviandolo direttamente come demone.
Procedendo con la configurazione descritta di seguito, si avvia saned
come demone.
1.d.1) fare una copia del file /etc/default/saned
1.d.2) modificare in /etc/default/saned la riga
RUN=no
in
RUN=yes
1.d.3) [opzionale] aggiungere l'utente di default (saned) al gruppo lp
(utilizzato per gli scanner) e/o al gruppo video (utilizzato per
le webcam)
gpasswd -a saned lp
gpasswd -a saned video
L'aggiunta dell'utente saned ai gruppi puo' essere effettuata
anche successivamente, se si riscontrassero problemi di accesso
alle periferiche.
1.d.4) avviare saned come demone
service saned restart
Se nel sistema fosse installato systemd, allora occorre eseguire
il comando
systemctl restart saned
NB: nel caso di jessie testing, come workaround per avviare saned
si e' resa necessaria la sequenza dei comandi:
cd /lib/systemd/system
mv -i saned.service saned@.service
mv -i saned.socket saned.socket.orig
cd
systemctl daemon-reload
systemctl start saned
2) Lato client:
2.a) Verificare il file /etc/services.
Fare riferimento a quanto descritto nel punto 1.b) a riguardo dei server.
2.b) Configurare il backend sane-net.
2.b.1) Fare una copia del file /etc/sane.d/net.conf
2.b.2) Aggiungere alla fine del file /etc/sane.d/net.conf dopo
## saned hosts
una o piu' righe con il nome o indirizzo IP di ciscun server a
cui ci si vuole connettere.
Troubleshooting
a) Trovare gli scanner collegati:
sane-find-scanner
b) Trovare ogni periferica collegata o configurata:
scanimage -L
c) Visualizzare diritti di accesso di una periferica:
Nelle recenti verioni di Linux, gli accessi alle periferiche (usb) sono
definiti, oltre che dalle permission sul file system nel modo
tradizionale (permission per owner o user, group, other), tramite ACL
(Access Control List = Lista Controllo Accessi).
L'uso di una ACL e' riconoscibile dal simbolo '+' posto a destra delle
permission "tradizionali" come nel caso: "crw-rw----+".
Per esaminare il dettaglio di una access list, usare il comando:
getfacl <pathname>
dove <pathname> e' il percorso completo del file (es: nel caso di una
periferica usb puo' essere /dev/bus/usb/001/001)
d) Come verificare se saned e' attivo sul server:
ps ax | grep saned | grep -v grep
e) Come verificare se la porta 6566 e' aperta sul server:
netstat -l -n | grep 6566
oppure
telnet ip_server 6566 (da qualsiasi client)
f) Come verificare quale processo gestisce la porta 6566 del server:
fuser -n tcp 6566 (occorrono i diritti di root)
ps -p <processo>
dove <processo> è il processo ritornato da fuser
Documentazione
o) man saned
o) man sane-net
o) https://help.ubuntu.com/community/sane.d%20tutorial (English)
o) https://help.ubuntu.com/community/sane (English)
o) https://help.ubuntu.com/community/ScanningHowTo#Sharing_a_Scanner_Over_a_Network
(English - old version)
o) http://www.sane-project.org/sane-backends.html (scanner supportati)
---------------------------------------------------------------------
Per cancellarsi, scrivi a: riminilug-general-unsubscribe@xxxxxxxxxxxx
Se vuoi conoscere altri comandi, scrivi a: riminilug-general-help@xxxxxxxxxxxx