ubuntu-fr

Communauté francophone des utilisateurs de Kubuntu

[[tutoriel:utiliser_un_scanner_en_reseau]]

Piste: » utiliser_un_scanner_en_reseau


Utiliser un Scanner en réseau

Cette documentation détaille la méthode d'installation d'un scanner en réseau en utilisant la ligne de commande.

On propose l'utilisation du logiciel xSane qui est une interface graphique pour scanner.

Pré-requis

  • Votre scanner fonctionne sur la machine (sous ubuntu que nous appellerons serveur) sur laquelle il est connecté.
  • Être un administrateur système (par défaut sur l'utilisateur principal, sinon voir cette page).

Installation

L'installation se passe en deux temps.

Sur le serveur

Le serveur est la machine sur laquelle le scanner est connecté.

Il faut installer les paquets netkit-inetd 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 nano /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.*

Nous devons ensuite régler le programme qui gérera le serveur de scanner. Sous Ubuntu, ce programme est par défaut inetd, mais vous pouvez le remplacer par xinetd

Le nom du port

Pour commencer, il est vital de determiner 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

Avec inetd

Éditez le fichier /etc/inetd.conf.

sudo nano /etc/inetd.conf

et y ajouter :

saned stream tcp nowait saned /usr/sbin/saned saned

Le premier terme de la ligne précédente renvoie au nom du port, qe nous avons déterminé au dessus. La concordance est très importante.

Pour finir, redémarrez les services en tapant dans un terminal :

sudo /etc/init.d/inetd restart

Avec xinetd

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

service sane-port
{
        enable          = yes
        type            = INTERNAL
        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 !

L'un des coauteurs n'a réussi à faire fonctionner un scanner usb qu'avec l'utilisateur root. Si vous trouvez la solution (utiliser root n'est pas recommandé), prière de l'écrire ici et d'avertir la liste de diffusion du wiki.

Dans le cas d'un scanner sur port parallèle utiliser « user = root » et « group = root ».

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

Sur le client

Le client est la machine qui se connectera sur le scanner distant.

Éditez le fichier /etc/sane.d/net.conf et y ajouter l'adresse IP ou le nom du serveur, par exemple :

192.168.0.111

ou

linuxbox.local

Puis installez le paquet xsane et lancez xSane (commande xsane), qui est le logiciel qui vous permettra d'accéder au scanner distant.

Sur un client Windows®

Il existe une version de Sane pour Windows. Vous pouvez l'utiliser en lieu et place des pilotes classiques de votre scanner. Vous pouvez donc l'utiliser, que votre scanner soit en réseau soit en local ; et vous pouvez même monter le serveur de scanner sur Windows, ce qui est quand même un comble !

Vous pouvez soit utiliser Sane pour Windows, soit Sanetwain (l'une ou l'autre méthode au choix).

L'archive zip de Sane se trouve sur un de ces miroirs : http://www.xsane.org/xsane-download.html. Le logiciel s'installe en copiant le dossier Sane à la racine de « C:\ ».

Ici, on veut installer un client Sane. Donc, il faut éditer le fichier C:\sane\etc\sane.d\net.conf, et ajouter l'adresse IP du serveur. Il faut également éditer le fichier C:\sane\etc\sane.d\dll.conf et mettre une ligne "net". Vous remarquerez que c'est à peu près la même démarche que sous Linux. L'avantage de cette méthode, c'est que vous pouvez configurer un client, puis copier le dossier « C:\Sane » sur les autres postes Windows et cela fonctionnera !

SaneTwain s'installe avec un installeur standard.

http://sanetwain.ozuzo.net/setup127.exe

Il va créer un dossier de programme classique. Installez-le. Dans la boite de dialogue qui va s'ouvrir, mettez l'adresse IP du serveur dans « hostname ».

Vous pouvez aussi mettre le nom du serveur, mais il faut pour cela que windows connaisse cet alias. Il y a un fichier « hosts » pour cela, comme sous Linux. Cherchez-le avec la commande « Chercher un fichier »1).
Dans les deux cas (Sane et Sanetwain), il faut s'assurer que le serveur ait bien dans son fichier « /etc/sane.d/saned.conf » l'adresse IP du client Windows ou son alias clairement identifié ! L'auteur n'est pas parvenu à le configurer avec le nom du PC. Il faut donc soit connaitre l'adresse IP de Windows, soit se débrouiller pour que Linux la connaisse (avec une astuce sur votre DNS perso peut-être ou un alias dans le fichier « /etc/hosts »).

Utilisation et configuration

FIXME

Désinstallation

FIXME

Notes

  • N'oubliez pas d'ouvrir le port 6566 en TCP sur le serveur, si vous y avez installé un pare-feu.
  • Faire l'installation des paquets « hpoj » pour pouvoir installer le scanner avec la commande sudo /etc/init.d/hpoj setup.
  • Assurez-vous que l'utilisateur de saned possède les droits sur le périphérique. Sinon, ajoutez-le au groupe « scanner ».
  • Bien vérifier que le fichier /etc/services (sur le serveur) dans la section :
#
# Services added for the Debian GNU/Linux distribution
#

contienne la ligne

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

et qu'elle commence bien par « sane-port » (et non par « sane »), comme cela peut être le cas si votre système est le fruit de mises à jour depuis des distributions anciennes. Sinon, éditez le fichier, ou utilisez le numero du port directement (ça marche avec inetd, mais avec xinetd ?)

  • Vérifier que le paquet sane-utils est bien installé sur le serveur.
  • Chez moi, l'utilisateur saned avait « /bin/false » comme shell (donc pas de shell). J'ai remplacé par « /bin/sh » dans « /etc/passwd », et depuis plus de problèmes avec xinet.d.
  • Pour ma part j'ai du mettre root root à la place de sane saned dans /etc/services

—-

Contributeurs : yeffries,tshirtman, Fabien26, Ner0lph, stephaneguedon, claudiux

1) Sous Windows XP, il est situé dans « C:\WINDOWS\system32\drivers\etc\ ».

tutoriel/utiliser_un_scanner_en_reseau.txt · Dernière modification: 17/09/2008, à 15:28 par 89.159.238.222, 127.0.0.1
Le contenu de ce wiki est sous double licence : CC BY-SA et GNU FDL