Translation(s): English - Français - Italiano

(!) ?Discussion


Configurer et administrer un scanner connecté à un port USB.

Introduction

Numériser un document à partir d'un scanner externe ou d'un appareil multifonction impliquer d'utiliser SANE (Scanner Access Now Easy). Ce projet fournit une série de backends qui peuvent communiquer avec le scanner dans le but de le piloter. Les backends non fournis par SANE peuvent facilement être intégrés au sein du cadriciel de numérisation de SANE qu'ils soient libres (HP) ou non (Brother, Samsung etc). Les scanners pris directement en charge par SANE sont listés ici.

La première étape pour scanner est d'installer libsane, la bibliothèque centrale pour manipuler des scanners. Le paquet fournit également une collection pour SANE de backends de scanner. Si le scanner n'est pas pris en charge par SANE, le backend (et d'autres fichiers) peuvent être obtenus à partir des archives de Debian de backends de scanners. Une source de backend libre nécessitant cette étape est celle pour les [#aio|appareils tout-en-un]] de HP.

Les deux prochaines sections supposent que vous ayez le backend (et autres fichiers) que fournissent SANE ou le fabriquant. Votre scanner devrait fonctionner directement avec un frontend sans avoir à réaliser les deux étapes suivantes, mais il peut être intéressant d'être informé de procédures de dépannage à suivre en cas de problème. Le manual de SANE liste les backends disponibles. Chaque backend a sa propre page de manuel et fichier de configuration dans etc/sane.d

Découverte de scanner et de backend

Connectez le scanner à l'ordinateur et consultez la sortie de lsusb :

brian@desktop:~$ lsusb

Bus 002 Device 005: ID 04b8:080f Seiko Epson Corp. Stylus Photo RX420/RX425/RX430

Une Epson Stylus Photo se trouve sur le Bus USB 002 au Device 005. En revanche, cela ne nous informe en rien si nous pouvons scanner avec cet appareil.

Installez sane-utils et vérifiez si le scanner est detecté avec

sane-find-scanner

Avec un peu de chance, vous verrez voir reconnu votre scanner.

brian@test:~$ sane-find-scanner

  # sane-find-scanner will now attempt to detect your scanner. If the
  # result is different from what you expected, first make sure your
  # scanner is powered up and properly connected to your computer.

  # No SCSI scanners found. If you expected something different, make sure that
  # you have loaded a kernel SCSI driver for your SCSI adapter.

could not open USB device 0x0644/0x0200 at 004:002: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0002 at 004:001: Access denied (insufficient permissions)
could not open USB device 0x045e/0x008c at 007:002: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0001 at 007:001: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0001 at 006:001: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0001 at 005:001: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0002 at 003:001: Access denied (insufficient permissions)
found USB scanner (vendor=0x04b8 [EPSON], product=0x080f [USB MFP]) at libusb:002:005
could not open USB device 0x1d6b/0x0001 at 002:001: Access denied (insufficient permissions)
could not open USB device 0x04b3/0x3003 at 001:005: Access denied (insufficient permissions)
could not open USB device 0x04b3/0x3004 at 001:004: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0001 at 001:001: Access denied (insufficient permissions)
  # Your USB scanner was (probably) detected. It may or may not be supported by
  # SANE. Try scanimage -L and read the backend's manpage.

Un scanner a été correctement localisé sur le Bus 002 comme Device 005. Si l'accès à ce périphérique a également été refusé (tout comme l'accès aux autres périphériques USB), la permission sur le bus USB aurait dû être examinée.

Maintenant qu'on sait qu'existe un scanner USB, exécutez Now it is known that a USB scanner exists, run

scanimage -L

La sortie obtenue ici est :

device `epson:libusb:002:005' is a Epson RX420 flatbed scanner

Le manuel de scanimage décrit que fait -L. Dans le contexte d'un périphérique USB local, la réponse positive indique que SANE dispose d'un backend pour prendre en charge le scanner.

Placez maintenant un document sur la surface en verre du scanner et scannez-le avec

scanimage > image.pnm

Un fichier image.pnm généré avec succès est une bonne indication qu'une numérisation avec d'autres frontends se feront certainement avec succès. Le fichier devrait être visualisable avec un visualisateur d'images tel que imagemagick.

Permissions

Il n'est pas nécessaire pour un utilisateur local d'être ajouté au groupe scanner. Les permissions du périphérique de scanner sont automatiquement gérée par le noyau et celles du bus USB sont données à l'utilisateur par udev, pourvu que

  • libpam-systemd est installé
  • qu'il y a un fichier approprié *.rules d'un fabriquant dans /lib/udev/rules.d

Un utilisateur qui souhaite accéder et utiliser un scanner doit avoir la permission d'accéder à un fichier d'un périphérique scanner et d'utiliser un appareil connecté à un bus USB. Sous le système d'init par défaut, systemd, et avec libpam-systemd d'installé, les permissions correspondantes seront définies par /lib/udev/rules.d/60-libsane.rules lorsque le scanner sera connecté.

Pour le fichier de périphérique de scanner :

brian@test:~$ ls -l /dev/sg*
crw-------  1 root root 21, 0 Aug  4 09:40 /dev/sg0
crw-rw----+ 1 root root 21, 1 Aug  4 09:40 /dev/sg1
crw-------  1 root root 21, 2 Aug  4 09:40 /dev/sg2
crw-------  1 root root 21, 3 Aug  4 09:40 /dev/sg3
crw-------  1 root root 21, 4 Aug  4 09:40 /dev/sg4
crw-------  1 root root 21, 5 Aug  4 09:40 /dev/sg5
crw-------  1 root root 21, 6 Aug  4 09:40 /dev/sg6
crw-------  1 root root 21, 7 Aug  4 14:46 /dev/sg7

Observez le + après les permissions UNIX pour /dev/sg1. Il indique un ACL (Access Control List) spécifiant quels utilisateurs ont accès à /dev/sg1. Pour visualiser un ACL, faites

brian@test:~$ getfacl /dev/sg1
getfacl: Removing leading '/' from absolute path names
# file: dev/sg1
# owner: root
# group: root
user::rw-
user:brian:rw-
group::---
mask::rw-
other::---

L'utilisateur brian a l'accès rw au fichier de périphérique. Des permissions similaires doivent être requises sur les bus USB.

Pour le bus USB :

brian@test:~$ ls -l /dev/bus/usb/*/*
crw-------  1 root root 189,   0 Aug  4 09:40 /dev/bus/usb/001/001
crw-------  1 root root 189,   3 Aug  4 13:40 /dev/bus/usb/001/004
crw-------  1 root root 189,   4 Aug  4 13:40 /dev/bus/usb/001/005
crw-------  1 root root 189, 128 Aug  4 09:40 /dev/bus/usb/002/001
crw-rw----+ 1 root root 189, 132 Aug  4 18:25 /dev/bus/usb/002/005
crw-------  1 root root 189, 256 Aug  4 09:40 /dev/bus/usb/003/001
crw-------  1 root root 189, 384 Aug  4 09:40 /dev/bus/usb/004/001
crw-------  1 root root 189, 385 Aug  4 09:40 /dev/bus/usb/004/002
crw-------  1 root root 189, 512 Aug  4 09:40 /dev/bus/usb/005/001
crw-------  1 root root 189, 640 Aug  4 09:40 /dev/bus/usb/006/001
crw-------  1 root root 189, 768 Aug  4 09:40 /dev/bus/usb/007/001
crw-------  1 root root 189, 769 Aug  4 09:40 /dev/bus/usb/007/002

brian@test:~$ getfacl /dev/bus/usb/002/005
getfacl: Removing leading '/' from absolute path names
# file: dev/bus/usb/002/005
# owner: root
# group: root
user::rw-
user:brian:rw-
group::---
group:scanner:rw-
mask::rw-
other::---

L'utilisateur brian pourrait également avoir accès au périphérique USB en étant dans le groupe scanner. Cela dit, il y a peu d'intérêt à faire cela, à moins que brian veuille se connecter à partir d'un site distant avec ssh, par exemple.

Fichiers de configuration pour libsane

libsane-common installe les fichiers de configuration dll.conf, dll.d, net.conf et sane.conf dans /etc/saned.d. La premier, le troisième et le quatrième fichier sont important pour le partage et l'accès à un scanner par le réseau.

Le contenu de dll.conf est une list de backends qui peuvent être chargés dynamiquement à la demande. Commenter les backends non utilisés peuvent réduire significativement le temps de numérisation. Il est également possible d'ajouter un fichier dans /etc/sane.d/dll.d contenant une liste de backends à ajouter. Cela est souvent fait par les logiciels par les logiciels fournissant un backend ne provenant pas de SANE.

Appareils HP multifonctions (all-in-one)

Un backend pour ces périphériques est développé et prise en charge par HP via HPLIP. Le backend est nommé hpaio et est listé dans le fichier hplip dans /etc/saned/dll.d. La prise en charge de la détection de périphérique est fournie par /lib/udev/rules.d/56-hpmud.rules. Le moyen le plus simple d'utiliser hpaio et 56-hpmud.rules est d'installer hplip et ses dépendances recommandées. Cette façon rend également plus facile l'installation d'un greffon propriétaire avec hp-plugin si le scanner le nécessite.

libsane-hpaio (sans ses paquets recommandés) et 56-hpmud.rules sont les seuls vraiment nécessaires pour la numérisation avec un scanner multifonction. Copiez ce dernier fichier vers /lib/udev/rules.d/ à partir du paquet hplip.

Frontends pour numériser

Un frontend est un programme qui s'interface avec un backend de SANE pour produire une numérisation dans un format désiré. SANE a été conçu pour interagir avec n'importe quel frontend compatible, qu'elle soit en ligne de commande ou avec une interface graphique.

Notes d'installation de divers scanners

Voir aussi

Utilisation de Sane en réseau

Enfin

N'oubliez-pas de lire la documentation de Debian et d'autres dans /usr/share/doc/libsane. Il n'existe pas de conflit entre celles-ci et celles sur cette page.


CategoryScanner CategoryPrinter