Suite à une mise à jour de noyau, mon scanner ne fonctionnant plus sous Ubuntu, j’ai décidé de le connecter sur une machine sous FreeBSD 5. Les autres machines y accèdent via le réseau.
Voici la procédure à suivre:
Installation des paquets qui vont bien sur la machine qui partage son scanner:
root> pkg_add -r sane-frontends root> pkg_add -r sane-backends
La configuration du scanner est la même que sous Linux. Concernant le partage en réseau, j’ai fait comme ça:
Le programme saned
est exécuté via inetd
par l’utilisateur saned
. On modifie donc /etc/inetd.conf
:
sane-port stream tcp nowait saned /usr/local/sbin/saned saned
Et /etc/services
:
sane-port 6566/tcp # SANE network scanner daemon
On ajoute l’utilisateur saned
dans le groupe operator
root> pw user add saned root> pw user mod saned -G operator -s /usr/sbin/nologin
On autorise, via le fichier /etc/devfs.rules
, un accès au périphérique /dev/uscanner
en lecture/écriture pour le groupe operator
:
[localrules=10] add path 'uscanner*' mode 0660 group operator
Modifiez ensuite /etc/rc.conf
pour la prise en compte de cette nouvelle règle au démarrage de la machine:
# On active inetd au passage devfs_system_ruleset="localrules" inetd_enable="YES"
On autorise le réseau local (ici 10.0.0/24) à utiliser ce service via /etc/hosts.allow
pour inetd
:
# fin du fichier /etc/hosts.allow sane-port: 10.0.0. : allow sane-port: 127.0.0.1 : allow
Et via /usr/local/etc/sane.d/saned.conf
pour saned
# NOTE: /etc/inetd.conf (or /etc/xinetd.conf) and # /etc/services must also be properly configured to start # the saned daemon as documented in saned(8), services(4) # and inetd.conf(4) (or xinetd.conf(5)). 10.0.0.0/24
Redémarrez les deux services:
root> /etc/rc.d/inetd restart && /etc/rc.d/devfs restart
Sur les machines clientes, il faudra ajouter l’adresse IP (ou le nom réseau) du serveur saned
dans le fichier /etc/sane.d/net.conf
.
Pour tester:
luc@freebsd:~$ scanimage -L device `net:localhost:snapscan:/dev/uscanner0' is a AGFA SNAPSCAN 1212U_2 flatbed scanner
Ô, c’est beau: on dirait du veau.