Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
tutoriel:utiliser_un_scanner_en_reseau [Le 06/10/2013, 23:45] – celons -> selon. adresses utilisé -> adresses utilisées 109.190.148.234 | tutoriel:utiliser_un_scanner_en_reseau [Le 03/06/2017, 17:40] (Version actuelle) – tags L'Africain |
---|
| {{tag>Xenial tutoriel réseau matériel scanner}} |
| |
| ---- |
| |
| ====== Utiliser un scanner en réseau ====== |
| |
| Cette documentation détaille la méthode d'installation d'un scanner relié à un serveur en réseau. La dernière rubrique traite du cas d'un scanner avec sortie réseau. |
| On propose l'utilisation du logiciel [[:xSane]] qui est une interface graphique pour scanner. |
| |
| <note important>Pour certaines marques il faudra encore se reporter à la documentation spécifique pour permettre le partage du scanner. Pour les Epson par exemple voir la page [[:tutoriel:installer_imprimante_epson#configuration_du_scanner_en_reseau_avec_iscan_ou_sane|suivante]].</note> |
| ===== Pré-requis ===== |
| * Votre [[:scanner]] fonctionne sur la machine sur laquelle il est connecté (sous Ubuntu ce que nous appellerons **serveur**). |
| * Avoir les droits d'[[:sudo|administrateur système]]. |
| * Avoir votre [[:pare-feu]] désactivé ou bien correctement configuré (normalement désactivé par défaut dans Ubuntu). |
| |
| ===== Installation du serveur ===== |
| Le serveur est la machine sur laquelle le scanner est connecté. |
| Il est préférable d'avoir une **ip statique** sur ce dernier. |
| ==== Configuration simple ==== |
| |
| Dans cette configuration, l'ordinateur qui sert de serveur, est équipé d'un scanner connecté par USB ou port parallèle: |
| * [[::tutoriel:comment_installer_un_paquet|Installez sur l’ordinateur serveur les paquets]] **[[apt>sane,sane-utils]]**; |
| * Réglez **sane** pour qu'il se lance automatiquement, pour cela, [[:tutoriel:comment_modifier_un_fichier|éditez]] avec les [[:sudo|droits d'administration]] le fichier **/etc/default/saned** comme suit : <file># Set to yes to start saned |
| RUN=yes</file> |
| * Réglez le sous-réseau qui sera en mesure d'identifier le scanner. Pour cela, [[:tutoriel:comment_modifier_un_fichier|modifiez]] avec les [[:sudo|droits d'administration]] le fichier **/etc/sane.d/saned.conf** pour partager l'imprimante sur votre réseau, en enlevant le # devant cette ligne, ou en l'ajoutant : <file>192.168.0.1/24</file> Adaptez l'IP (les premiers chiffres de la ligne) si besoin, selon votre plage d'adresses utilisées dans votre réseau. (**/24** signifie de partager avec tout le monde dans xxx.xxx.xxx.0 à 255). Si vous avez attribué une IP statique à votre serveur, il vous suffit d'ajouter l'adresse à la fin du fichier; |
| * Il vous reste à redémarrer **saned** avec cette commande: <code>sudo service saned restart</code> Sous [[:Precise]] vous devrez également lancer cette commande: <code>sudo update-rc.d saned defaults</code> |
| |
| === Configuration de l'utilisateur === |
| |
| Dans certains cas, les autorisations doivent être réglées pour que l'utilisateur **saned** soit inséré dans le groupe **lp**. Pour cela ouvrez un [[:terminal]] et entrez cette [[:tutoriel:console_ligne_de_commande|commande]] : <code>sudo adduser saned lp</code> |
| Ajoutez également l'utilisateur courant du serveur au groupe **saned** : <code>sudo adduser $USER saned</code> |
| Pour vérifier que l'utilisateur a les autorisations nécessaires pour accéder au périphérique scanner, exécutez les [[:tutoriel:console_ligne_de_commande|commandes]] suivantes : |
| <code> |
| sudo -s |
| su -s /bin/bash saned |
| scanimage -L |
| </code> |
| |
| Par conséquent, vous devriez voir un périphérique identifié, par exemple : |
| |
| <code>device `hpaio:/usb/Officejet_6600?serial=CN1CF190F405RN' is a Hewlett-Packard Officejet_6600 all-in-one |
| </code> |
| |
| Vous pouvez maintenant passer à la [[:tutoriel:utiliser_un_scanner_en_reseau#sur_le_client|configuration du client]]. |
| |
| ==== Configuration avancée ==== |
| |
| <note important>Aussi valable pour ceux chez qui la configuration simple ne fonctionne pas.</note> |
| Ces manipulation sont à effectuer toujours sur le serveur. |
| |
| Faites les opérations de la [[#Configuration simple]], puis passez au étapes suivantes. |
| |
| ===Module du scanner === |
| [[:tutoriel:comment_editer_un_fichier|Éditez]] avec les [[:sudo|droits d'administrateur]] le fichier **/etc/sane.d/dll.conf** et vérifiez que le module du scanner est présent. Par exemple pour un scanner Canon de la série Pixma, la ligne //pixma// est bien présente par défaut (le nom du module peut être connu grâce au retour de la commande ''scanimage -L''). |
| |
| ===Nom du port utilisé === |
| Il est vital de déterminer quel est le nom du port logiciel qui va être utilisé. En effet, ce nom peut changer suivant les cas. Pour cela, dans un [[:terminal]], saisissez la [[:commande_shell|commande]] suivante : <code>cat /etc/services|grep san</code> |
| Cette [[:commande_shell|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. <code>sane-port 6566/tcp sane saned # SANE network scanner daemon</code> |
| |
| En particulier, vérifier qu'elle commence bien par ''sane-port'', et non pas par ''sane''. |
| |
| ===Imposer un mot de passe aux utilisateurs=== |
| Cette méthode est facultative. Elle vous sera utile si vous souhaitez imposer un mot de passe aux utilisateurs qui peuvent se connecter. |
| <note important>Le scanner doit être connecté et sous tension quand vous exécutez ''scanimage''. |
| </note> |
| |
| - Déterminer le nom du scanner avec la [[:commande_shell|commande]] suivante : <code>scanimage -L</code> Qui vous renvoie : <code>device `pixma:04A91709_B10A23' is a CANON Canon PIXMA MP150 multi-function peripheral</code> Le nom du scanner est un **pixma**; |
| - [[:tutoriel:comment_modifier_un_fichier|Créez le fichier]] **/etc/sane.d/saned.users** avec les [[:sudo|droits d'administrateur]] pour ne lister que les utilisateurs autorisés à se connecter et leur affecter un mot de passe, il faut donc créer pour chaque utilisateur une ligne du type : <file saned.users>NOMDUTILISATEUR:MOTDEPASSE:SCANNER</file> où SCANNER est le nom du scanner qui a été donné par la commande précédente. |
| |
| |
| ===Configuration et lancement du service === |
| Vous devez ensuite [[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>xinetd]]** qui gérera le serveur de scanner.\\ |
| Pour avoir un autre utilisateur du scanner que root, il faut modifier d'une part les règles **udev** et d'autre part le service réseau **xinet.d** : |
| - [[:tutoriel:comment_editer_un_fichier|Créer le fichier]] **/etc/xinetd.d/sane-port** et y ajouter les lignes suivantes : <file sane-port> |
| service sane-port |
| { |
| id = saned-stream |
| socket_type = stream |
| server = /usr/sbin/saned |
| protocol = tcp |
| user = saned |
| group = saned |
| wait = no |
| } |
| </file> |
| - [[:tutoriel:comment_editer_un_fichier|Créer le fichier]] relatif au scanner %%USB%% **/etc/udev/rules.d/40-scanner-permissions.rules**. Dans ce fichier, ajoutez les lignes suivantes : <file> |
| # usb scanner |
| SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE:="0666", GROUP:="saned", OWNER:="saned" |
| SUBSYSTEM=="usb_device",MODE:="0666" |
| </file> Il se peut que le fichier existe déjà ou qu'un fichier de nom légèrement différent contenant //scanner// existe déjà, dans les deux cas, il suffit de modifier ce fichier; |
| - Redémarrez le [[:services|service]] udev, dans un [[:terminal]], saisissez la [[:commande_shell|commande]] suivante :<code/>sudo /etc/init.d/udev restart</code> |
| - Pour finir, redémarrez le [[:services|service]] **xinetd** en tapant dans un [[:terminal]] la [[:commande_shell|commande]]: <code>sudo /etc/init.d/xinetd restart</code> |
| |
| |
| ===Réglage du pare-feu=== |
| |
| <note>Si vous utilisez [[:ufw]] qui ne ferme pas les ports en entrée par défaut, cette étape est inutile.</note> |
| |
| Si avez par défaut **fermé les ports en entrée** au niveau du [[:pare-feu]] sur le PC serveur, il faut veiller à ouvrir le port 6566 en entrée. |
| |
| |
| ===== Sur le client ===== |
| <note help>Le client est la machine qui se connectera sur le scanner distant.</note> |
| |
| ==== Sur un client Linux ==== |
| |
| Commencer par [[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>xsane]]**. [[:xSane]], est le logiciel qui vous permettra d'accéder au scanner distant. Vous pouvez également installer un autre logiciel de scanner (voir la page [[:scanner]]). |
| |
| ===Adresse IP du poste auquel le scanner est connecté === |
| |
| [[:tutoriel:comment_editer_un_fichier|Éditez le fichier]] **/etc/sane.d/net.conf** et ajoutez après la ligne **## saned hosts** l'adresse IP ou le nom du serveur, par exemple : <file> |
| ## saned hosts |
| 192.168.0.111 |
| </file> |
| |
| On peut aussi préciser un temps maximal de tentative de connexion en décommentant la ligne : |
| |
| <file> |
| connect_timeout = 60 |
| </file> |
| |
| |
| ==== Sur un client Windows® ==== |
| |
| Par défaut il n'est pas possible de se connecter à scanner réseau géré par **Sane**. Cependant un outil a été développé à cet effet : **SaneTwain**. Vous pouvez le télécharger à cette [[http://sanetwain.ozuzo.net/|adresse]]. |
| |
| 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 »((Sous Windows XP, il est situé dans « C:\WINDOWS\system32\drivers\etc\ ».)). |
| |
| <note important>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é ! Il faut donc soit connaître 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 »).</note> |
| |
| |
| ===== Résolutions de problèmes ===== |
| |
| Si votre scanner n'est toujours par accessible sur le réseau: |
| - Commencez par tester si le scanner peut déjà être utilisé depuis le serveur. Le serveur jouera donc aussi le rôle de client. Pour cela, sur le serveur, [[:tutoriel:comment_modifier_un_fichier|éditez le fichier]] **/etc/sane.d/net.conf** avec les [[:sudo|droits d'administrateur]] et : |
| * Décommentez la ligne //connect_timeout // ce qui donne: <file>connect_timeout = 60</file> |
| * Ajoutez à la fin : <file>localhost</file> Essayer de scanner en choisissant le scanner désigné par //net//. Si ça fonctionne, la configuration du serveur est sans doute bonne ... c'est que l'ordinateur client n'arrive pas à se connecter. |
| - Essayez d'imposer un nom d'utilisateur et un mot de passe conformément à ce qui est décrit [[#Imposer un mot de passe aux utilisateurs|ici]]. |
| - Désactivez temporairement le pare feu **en entrée** si vous avez **vous même** fermé des ports (ce n'est pas le cas par défaut) ou au moins ouvrez le port 6566 en TCP sur le serveur, |
| - Testez xSane avec la commande (l'IP corespondant à celle de votre serveur): <code>xsane [driver]:net:192.168.0.15</code> Par exemple si votre scanner utilise le pilote [driver] epson2 avec l'adresse IP ''192.168.0.15'' la commande sera: <code>xsane epson2:net:192.168.0.15</code> |
| - Si vous n'avez toujours pas de résultat il vous reste a tester la connexion locale avec telnet en saisissant la commande suivante: <code>sudo netstat -tulpn | egrep '(:6566|saned)' saned-test.log |
| telnet localhost 6566</code> |
| |
| ===== Scanner avec sortie réseau ===== |
| Le plus simple est de configurer son imprimante avec une adresse IP statique, notée 192.168.X.Y dans la suite et bien sûr avoir installé le pilote du scanner. |
| |
| Ensuite [[:tutoriel:comment_modifier_un_fichier|ajoutez dans le fichier]] **/etc/sane.d/xerox_mfp.conf** avec les [[:sudo|droits d'administrateur]], la ligne:<file> tcp 192.168.X.Y</file> |
| |
| <note> |
| Il est possible d'ajouter l'adresse IP statique de l'imprimante dans le fichier /etc/hosts. Exemple : |
| <file> 192.168.X.Y nom_de_l_imprimante </file> |
| Cette manipulation évite de mémoriser l'adresse IP, et est vraie pour n'importe quelle machine IP. |
| </note> |
| |
| ---- |
| |
| //Contributeurs : [[utilisateurs:yeffries]],[[utilisateurs:tshirtman]], [[:utilisateurs:Fabien26]], [[:utilisateurs:Ner0lph]], [[:utilisateurs:stephaneguedon]], [[:utilisateurs:claudiux]], [[:utilisateurs:andso]], [[:utilisateurs:Olivier V]], [[:utilisateurs:mario_26]], [[:utilisateurs:lousticator]], [[:utilisateurs:l_africain|L'Africain]]// |