la numérisation ne fonctionne que sous «sudo» (Ubuntu)

16

Lorsque j'essaie de numériser, en utilisant simple-scan, l'interface utilisateur dit Failed to scan -- Unable to connect to scanner. Lorsque je l'exécute à partir de la ligne de commande, j'obtiens:

joel@home:/usr/bin$ simple-scan -d
** (simple-scan:6554): DEBUG: Starting Simple Scan 2.32.0.1, PID=6554
** (simple-scan:6554): DEBUG: Restoring window to 600x400 pixels
** (simple-scan:6554): DEBUG: sane_init () -> SANE_STATUS_GOOD
** (simple-scan:6554): DEBUG: SANE version 1.0.22
** (simple-scan:6554): DEBUG: Requesting redetection of scan devices
** (simple-scan:6554): DEBUG: Processing request
** (simple-scan:6554): DEBUG: Requesting scan at 300 dpi from device '(null)'
** (simple-scan:6554): DEBUG: scanner_scan ("(null)", 300, SCAN_SINGLE)
** (simple-scan:6554): DEBUG: sane_get_devices () -> SANE_STATUS_GOOD
** (simple-scan:6554): DEBUG: Device: name="brother2:bus4;dev1" vendor="Brother" model="MFC-210C" type="USB scanner"
** (simple-scan:6554): DEBUG: Processing request
** (simple-scan:6554): DEBUG: sane_open ("brother2:bus4;dev1") -> SANE_STATUS_IO_ERROR

** (simple-scan:6554): WARNING **: Unable to get open device: Error during device I/O

Pour info, j'ai déjà fait:

joel@home:~$ sudo chmod a+rwx /dev/bus/usb
joel@home:~$ sudo chmod a+rwx /dev/bus/usb/*

Si je cours sous sudo:

joel@home:~$ sudo simple-scan

Ça marche.

Comment puis-je faire fonctionner simple-scan sans sudo?

JoelFan
la source

Réponses:

7

Il y a de fortes chances que sanedvous ne soyez pas autorisé à vous y connecter. Reportez-vous à la section Problèmes d'autorisations du guide de numérisation Ubuntu pour plus de détails.

Flimzy
la source
2
Il semble que tous les comptes d'utilisateurs ne soient pas ajoutés au groupe de scanners. J'ai utilisé sudo adduser username scanner, puis vous devez vous déconnecter et vous reconnecter pour que l'appartenance au groupe soit remarquée par le système d'exploitation.
KayEss
N'a pas travaillé pour moi. Je semble me souvenir que la seule façon de le faire était d'utiliser sudo et une version texte et non une simple analyse. Continuera à chercher
Dennis
La suggestion de KayEss ("scanner de nom d'utilisateur sudo adduser") a fonctionné pour mon installation Raspbian.
smashuu
5

J'ai eu un problème similaire (Ubuntu 11.04 - Natty Narwhal): la numérisation en tant que root fonctionne correctement, la numérisation en tant qu'utilisateur - non. scanimage -Let sane-find-scannertrouvé et identifié correctement le scanner, même lorsqu'il est exécuté en tant qu'utilisateur normal. `simple-scan -d en tant qu'utilisateur root et normal n'a rien montré d'utile en termes de droit de groupe manquant, de fichiers ou de pilotes manquants.

Finalement, ce lien a fonctionné pour moi .

La solution éditait ces fichiers:

  • /lib/udev/rules.d/40-libsane.rules
  • /etc/udev/rules.d/55-libsane.rules

Je ne sais pas si les deux doivent être modifiés, j'ai appliqué toutes les modifications comme décrit. Très important: REBOOT après l'édition.

ehw
la source
2

Je l'ai résolu en ajoutant cette ligne à /etc/rc.local(avant exit 0):

chmod -R a+w /dev/bus/usb

et éditer / créer les 2 fichiers suivants:

/etc/xinetd.d/saned:

service saned 
{
socket_type = stream
server = /usr/sbin/saned
protocol = tcp
user = root
group = root
wait = no
disable = no
}

/etc/default/saned:

# Defaults for the saned initscript, from sane-utils

# Set to yes to start saned
RUN=yes

# Set to the user saned should run as
RUN_AS_USER=root

puis redémarrage.

Cela fonctionne, mais j'aimerais toujours un moyen plus sûr de résoudre ce problème.

JoelFan
la source
2

Modifiez les éléments suivants:

/etc/default/saned

Et changez le:

RUN_AS_USER=saned

à

RUN_AS_USER=root

Redémarrez et testez à nouveau - cela devrait fonctionner.

fti
la source
2
Quelque chose me dit que ce n'est pas une solution souhaitable du point de vue de la sécurité.
Kazark
2

sudo adduser YOURNONROOTUSERNAME lp

pour vous assurer que le scanner appartient au groupe lp :

sudo sane-find-scanner

scanner USB trouvé (fournisseur = 0x04f9, produit = 0x02a5) sur libusb: 001: 002

ls -al / dev / bus / usb / 001/002

crw-rw-r-- 1 racine lp 189, 1 nov 24 12:43 / dev / bus / usb / 001/002

Lavd
la source
0

J'ai eu exactement le même problème et ce travail pour moi et c'est aussi simple que ça. J'ai en fait copié à partir du site Web Brother qui a résolu mes problèmes de scanner:

  1. Ouvrez le /lib/udev/rules.d/40-libsane.rulesfichier.

  2. Ajoutez les deux lignes suivantes à la fin de la liste des périphériques. (Avant la ligne # The following rule will disable ...):

    # Brother scanners

    ATTRS{idVendor}=="04f9", ENV{libsane_matched}="yes"

Chock CHin Li
la source
0

Vous devez ajouter votre nom d'utilisateur au groupe lp puis redémarrer (ou sudo ldconfig). Tout devrait fonctionner.

Cela a fonctionné pour moi car si vous exécutez lsusbpour saisir le numéro de bus USB de votre imprimante / scanner (le mien était 005) et que ll /dev/bus/usb/005vous verrez que root est le propriétaire et lp est le groupe, les deux ont des autorisations de lecture et d'écriture.

user540188
la source
comment ça va add your username to the lp group ?
0

J'ai également eu le même problème avec mon Epson EcoTank 2500. Je suis allé dans le terminal et j'ai trouvé l'ID du produit avec lsusb. Pour l'EcoTank 2500, c'est 1105.

alors

Open /lib/udev/rules.d/40-libsane.rules file.

J'ai ensuite recherché cet identifiant de produit avec gedit et je ne l'ai pas trouvé. J'ai donc ajouté en bas (en laissant un espace et en l'écrivant en majuscules donc je sais que c'est moi qui l'ai changé!)

# MY EPSON ECOTANK ET-2500

ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="1105", ENV{libsane_matched}="yes"

J'ai ensuite fait la même chose dans 40-iscan.rules (c'est dans le même dossier) Enfin j'ai redémarré. Hé presto .... ahhhh! Mon travail ici est terminé.

Linuxli
la source