Pour commencer, je dispose de :

- 1 scanner Epson GT-7000 (et un GT-5500 de secours, l'intérêt c'est qu'il est interchangeable aisement)

- 1 Serveur type x86_64 sous Ubuntu Jaunty desktop

- 1 Client sous Windows et Linux

- Les tutoriels http://doc.ubuntu-fr.org/scanner_scsi et http://doc.ubuntu-fr.org/tutoriel/utiliser_un_scanner_en_reseau qui servent de bases.

Note :
J'ai écrit cette article en me basant fortement sur les deux excellents tutoriels d'Ubuntu-fr. Mais ces tutoriels ne traitent pas encore du cas d'Ubuntu 9.04 (ou encore appelé Ubuntu Jaunty Jackalope). En effet xinetd et le module aic7xxx (attention, c'est suivant votre carte SCSI !) sont à utiliser en lieu et place de respectivement d'inetd et du module sg.

I. Installation du scanner

Pour le scanner, je vous conseille de prendre un scanner SCSI, plus ancien, et plus difficile à installer "physiquement" (carte contrôleur, etc...), mais plus aisé à configurer sous linux.

On va commencer par les modules qui vont permettre d'attacher le périphérique à /dev/sg* (peu différer suivant les machines, le * représente un chiffre), dans un shell taper

sudo modprobe aic7xxx

Pour rendre ceci permanent, ajouter au fichier /etc/modules la ligne suivante à la fin du fichier :

aic7xxx

Le fichier "/etc/udev/rules.d/40-permissions.rules" sert à définir les droits (read/write) sur le périphérique, mais sous Jaunty n'existe pas. Il suffit de le créer et d'y incorporer les lignes suivantes :

ATTRS{type}=="6", GROUP="scanner", MODE="0666" ATTRS{type}=="8", GROUP="tape" ATTRS{type}=="3", ATTRS{vendor}=="HP", GROUP="scanner", MODE="0666" ATTRS{type}=="3", ATTRS{vendor}=="Epson", GROUP="scanner", MODE="0666" ATTRS{type}=="3", ATTRS{vendor}=="EPSON", GROUP="scanner", MODE="0666"

Et redémarrez votre machine

Au démarrage, udev crée le device sg* correspondant au scanner (s'il est allumé). Les droits rw sont attribué pour permettre l'utilisation de /dev/sg*

Tester la présence du scanner avec

sudo scanimage -L

ce qui doit retourner quelque chose du genre, où /dev/sg3 est clairement le scanner :

device `epson2:/dev/sg3' is a Epson GT-7000 flatbed scanner device `epson:/dev/sg3' is a Epson GT-7000 flatbed scanner

Si cela ne marchait pas, lsscsi aide pas mal :

sudo apt-get update sudo apt-get install lsscsi

dje@server:~$ lsscsi 2:0:0:0 disk ATA ST380811AS 3.AA /dev/sda 3:0:0:0 disk ATA HDS728080PLA380 PF2O /dev/sdb 7:0:0:0 cd/dvd PIONEER DVD-ROM DVD-120S 1.01 /dev/sr0 9:0:4:0 process EPSON SCANNER GT-7000 1.14 -

Vous verez au milieu des periphériques usb, sata, etc... le scanner (ou pas). Dans l'exemple ci dessus, la 4eme ligne de résultat est la bonne. Sinon vous avez un cas particulier, ou vous avez omis de faire quelque chose.

II. Installation de la partie scanner en réseau

Il faut installer les paquets xinetd et sane-utils, nécessaires au bon fonctionnement de la mise en réseau.

sudo aptitude install netkit-inetd sane-utils

Il faut ensuite éditer le fichier /etc/sane.d/saned.conf :

sudo vim /etc/sane.d/saned.conf

Et y ajouter la ou les adresses IP ou le nom des machines qui se serviront du scanner. Il est aussi possible d'y indiquer un réseau complet en donnant son adresse suivi du nombre de bits de son masque de sous-réseau :

192.168.0.5 #ip_machine - On autorise que la machine 192.168.0.5 192.168.0.0/24 #adresse_reseau/bits_masque - On autorise tout le réseau 192.168.0.*

Le nom du port

Pour commencer, il est primordial de déterminer quel est le nom du port logiciel qui va être utilisé. En effet, ce nom peut changer suivant les cas.

Faîtes un :

cat /etc/services|grep san

Cette commande vous renverra toutes les lignes du fichier de définition des services contenant "san". Normalement la ligne de saned est dedans. Elle doit normalement correspondre au numero 6566.

sane-port 6566/tcp sane saned # SANE network scanner daemon

Xinetd : créez le fichier /etc/xinetd.d/sane-port et y mettre :

service sane-port { id = saned-stream socket_type = stream server = /usr/sbin/saned protocol = tcp user = saned wait = no }

Encore une fois, la concordance avec le nom du port est très importante !

Pour finir, redémarrez le service xinetd en tapant dans terminal :

sudo /etc/init.d/xinetd restart

Groupe scanner

Enfin il ne reste plus qu'a ajouter l'utilisateur saned au groupe scanner, afin qu'il puisse utiliser les scanners.

Une manière d'effectuer cela pourrait être :

sudo adduser saned scanner

III. Le client de scanner réseau

Pour le client rien ne change : suivez le lien (qui doit emmener au bon endroit dans l'excellent tutoriel) http://doc.ubuntu-fr.org/tutoriel/utiliser_un_scanner_en_reseau#sur_le_client