[resolu]PERIPHERIQUE / SCANNER / DROITS

J’arrive a faire fonctionner mon scanner en root mais pas en tant qu’utilisateur.
J’ai le message:[quote]Erreur d’ouverture du périphérique ‘niash:libusb:001:006’: Périphérique occupé[/quote]

En utilisateur:

capucine@capucine:~$ lsusb Bus 005 Device 001: ID 0000:0000 Bus 004 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000 Bus 002 Device 002: ID 0458:0036 KYE Systems Corp. (Mouse Systems) Bus 002 Device 001: ID 0000:0000 Bus 001 Device 006: ID 06bd:0100 AGFA-Gevaert NV SnapScan Touch Bus 001 Device 005: ID 03f0:7004 Hewlett-Packard DeskJet 3320c Bus 001 Device 001: ID 0000:0000 capucine@capucine:~$

root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4: tty:x:5: disk:x:6: lp:x:7: mail:x:8: news:x:9: uucp:x:10: man:x:12: proxy:x:13: kmem:x:15: dialout:x:20:capucine fax:x:21: voice:x:22: cdrom:x:24:capucine,hal floppy:x:25:capucine,hal tape:x:26: sudo:x:27: audio:x:29:capucine dip:x:30: www-data:x:33: backup:x:34: operator:x:37: list:x:38: irc:x:39: src:x:40: gnats:x:41: shadow:x:42: utmp:x:43: video:x:44:capucine sasl:x:45: plugdev:x:46:capucine staff:x:50: games:x:60: users:x:100:capucine nogroup:x:65534: crontab:x:101: Debian-exim:x:102: capucine:x:1000:saned,scanner ssh:x:103: messagebus:x:104: dirmngr:x:105: hal:x:106: camera:x:107:capucine scanner:x:108:saned,capucine saned:x:109:capucine,scanner gdm:x:110: clamav:x:111: lpadmin:x:112:

Si quelqu’un a une idée, Merci.

slt,

Bizarre ce genre de message, le périphérique n’est-il pas utilisé par un processus ?

Je ne pense pas, des que je passe root je n’ai plus de problème.

heu, les droits et propriétaire sont bien appliqués sur les libs, fichiers, etc…?

Comment verifier?

la maniére geeks,

Sa va tracer toute les lectures utilisées par tonappli. Ensuite tu peux faire ‘ls -al’ sur les fichiers et voirs qu’elles sont les droits, proprio sur les fichiers.

Voila le resulltat:

[code]capucine@capucine:~$ strace -eopen xsane
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
open("/usr/lib/libsane.so.1", O_RDONLY) = 3
open("/lib/libusb-0.1.so.4", O_RDONLY) = 3
open("/lib/tls/libnsl.so.1", O_RDONLY) = 3
open("/lib/tls/libm.so.6", O_RDONLY) = 3
open("/usr/lib/libjpeg.so.62", O_RDONLY) = 3
open("/usr/lib/libieee1284.so.3", O_RDONLY) = 3
open("/lib/tls/libdl.so.2", O_RDONLY) = 3
open("/usr/lib/libgimpui-2.0.so.0", O_RDONLY) = 3
open("/usr/lib/libgimpwidgets-2.0.so.0", O_RDONLY) = 3
open("/usr/lib/libgimp-2.0.so.0", O_RDONLY) = 3
open("/usr/lib/libgimpmath-2.0.so.0", O_RDONLY) = 3
open("/usr/lib/libgimpcolor-2.0.so.0", O_RDONLY) = 3
open("/usr/lib/libgimpbase-2.0.so.0", O_RDONLY) = 3
open("/usr/lib/libgtk-x11-2.0.so.0", O_RDONLY) = 3
open("/usr/lib/libgdk-x11-2.0.so.0", O_RDONLY) = 3
open("/usr/lib/libatk-1.0.so.0", O_RDONLY) = 3
open("/usr/lib/libgdk_pixbuf-2.0.so.0", O_RDONLY) = 3
open("/usr/lib/libpangoxft-1.0.so.0", O_RDONLY) = 3
open("/usr/lib/libpangox-1.0.so.0", O_RDONLY) = 3
open("/usr/lib/libpango-1.0.so.0", O_RDONLY) = 3
open("/usr/lib/libgobject-2.0.so.0", O_RDONLY) = 3
open("/usr/lib/libgmodule-2.0.so.0", O_RDONLY) = 3
open("/usr/lib/libglib-2.0.so.0", O_RDONLY) = 3
open("/usr/lib/libpng12.so.0", O_RDONLY) = 3
open("/usr/lib/libtiff.so.4", O_RDONLY) = 3
open("/usr/lib/libz.so.1", O_RDONLY) = 3
open("/lib/tls/libc.so.6", O_RDONLY) = 3
open("/lib/tls/libpthread.so.0", O_RDONLY) = 3
open("/usr/lib/libgimpmodule-2.0.so.0", O_RDONLY) = 3
open("/usr/X11R6/lib/libX11.so.6", O_RDONLY) = 3
open("/usr/X11R6/lib/libXrandr.so.2", O_RDONLY) = 3
open("/usr/X11R6/lib/libXi.so.6", O_RDONLY) = 3
open("/usr/X11R6/lib/libXext.so.6", O_RDONLY) = 3
open("/usr/lib/libXft.so.2", O_RDONLY) = 3
open("/usr/lib/libfreetype.so.6", O_RDONLY) = 3
open("/usr/lib/libfontconfig.so.1", O_RDONLY) = 3
open("/usr/lib/libXcursor.so.1", O_RDONLY) = 3
open("/usr/lib/libXrender.so.1", O_RDONLY) = 3
open("/usr/lib/libpangoft2-1.0.so.0", O_RDONLY) = 3
open("/usr/lib/libexpat.so.1", O_RDONLY) = 3
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 5
open("/usr/X11R6/lib/X11/locale/locale.alias", O_RDONLY) = 5
open("/usr/X11R6/lib/X11/locale/locale.dir", O_RDONLY) = 5
open("/usr/X11R6/lib/X11/locale/iso8859-15/XI18N_OBJS", O_RDONLY) = 5
open("/usr/X11R6/lib/X11/locale/lib/common/xlcDef.so.2", O_RDONLY) = 5
open("/usr/X11R6/lib/X11/locale/locale.alias", O_RDONLY) = 5
open("/usr/X11R6/lib/X11/locale/locale.dir", O_RDONLY) = 5
open("/usr/X11R6/lib/X11/locale/iso8859-15/XLC_LOCALE", O_RDONLY) = 5
open("/usr/share/locale/locale.alias", O_RDONLY) = 5
open("/usr/share/locale/fr_FR@euro/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/fr@euro/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/fr_FR/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/fr/LC_MESSAGES/gtk20.mo", O_RDONLY) = 5
open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/gconv/gconv-modules", O_RDONLY) = 5
open("/usr/lib/gconv/ISO8859-15.so", O_RDONLY) = 5
open("/etc/nsswitch.conf", O_RDONLY) = 5
open("/etc/ld.so.cache", O_RDONLY) = 5
open("/lib/tls/libnss_compat.so.2", O_RDONLY) = 5
open("/etc/ld.so.cache", O_RDONLY) = 5
open("/lib/tls/libnss_nis.so.2", O_RDONLY) = 5
open("/lib/tls/libnss_files.so.2", O_RDONLY) = 5
open("/etc/passwd", O_RDONLY) = 5
open("/home/capucine/.Xauthority", O_RDONLY) = 6
open("/usr/lib/gconv/ISO8859-1.so", O_RDONLY) = 6
open("/usr/share/locale/fr_FR@euro/LC_MESSAGES/gtk20-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/fr@euro/LC_MESSAGES/gtk20-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/fr_FR/LC_MESSAGES/gtk20-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/fr/LC_MESSAGES/gtk20-properties.mo", O_RDONLY) = 6
open("/home/capucine/.sane/xsane/xsane.rc", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/sane/xsane/xsane.rc", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/fr_FR@euro/LC_MESSAGES/xsane.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/fr@euro/LC_MESSAGES/xsane.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/fr_FR/LC_MESSAGES/xsane.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/fr/LC_MESSAGES/xsane.mo", O_RDONLY) = 6
open("/usr/share/gimp/2.0/themes/Default/gtkrc", O_RDONLY|O_LARGEFILE) = 6
open("/usr/share/sane/xsane/xsane-style.rc", O_RDONLY|O_LARGEFILE) = 6
open("/usr/share/themes/Lush/gtk-2.0/gtkrc", O_RDONLY|O_LARGEFILE) = 6
open("/usr/share/themes/Lush/gtk-2.0/iconrc", O_RDONLY|O_LARGEFILE) = 7
open("/usr/lib/gtk-2.0/2.4.0/engines/libsmooth.so", O_RDONLY) = 7
open("/usr/share/locale/fr_FR@euro/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/fr@euro/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/fr_FR/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/fr/LC_MESSAGES/libc.mo", O_RDONLY) = 7
open("/usr/share/themes/Default/gtk-2.0-key/gtkrc", O_RDONLY|O_LARGEFILE) = 6
open("/etc/gtk-2.0/gdk-pixbuf.loaders", O_RDONLY|O_LARGEFILE) = 6
open("/usr/lib/gtk-2.0/2.4.0/loaders/libpixbufloader-xpm.so", O_RDONLY) = 6
open("/home/capucine/.Xdefaults-capucine", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/charset.alias", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/dev/urandom", O_RDONLY|O_LARGEFILE) = 6
open("/etc/fonts/fonts.conf", O_RDONLY) = 6
open("/home/capucine/.fonts.conf", O_RDONLY) = 7
open("/etc/fonts/conf.d", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 7
open("/etc/fonts/conf.d/30-debconf-no-bitmaps.conf", O_RDONLY) = 8
open("/home/capucine/.fonts.cache-1", O_RDONLY) = 6
open("/usr/share/fonts/fonts.cache-1", O_RDONLY) = 6
open("/usr/X11R6/lib/X11/fonts/fonts.cache-1", O_RDONLY) = 6
open("/usr/local/share/fonts/fonts.cache-1", O_RDONLY) = 6
open("/home/capucine/.fonts/fonts.cache-1", O_RDONLY) = 6
open("/home/capucine/.fonts", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 6
open("/home/capucine/.fonts/fontpaths", O_RDONLY) = 7
open("/home/capucine/.fonts/fonts.cache-1", O_RDONLY) = 7
open("/home/capucine/.fonts/fonts.dir", O_RDONLY) = 7
open("/usr/share/fonts/wine/fonts.cache-1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/fonts/type1/fonts.cache-1", O_RDONLY) = 6
open("/usr/share/fonts/truetype/fonts.cache-1", O_RDONLY) = 6
open("/usr/X11R6/lib/X11/fonts/encodings/fonts.cache-1", O_RDONLY) = 6
open("/usr/X11R6/lib/X11/fonts/util/fonts.cache-1", O_RDONLY) = 6
open("/usr/X11R6/lib/X11/fonts/misc/fonts.cache-1", O_RDONLY) = 6
open("/usr/X11R6/lib/X11/fonts/100dpi/fonts.cache-1", O_RDONLY) = 6
open("/usr/X11R6/lib/X11/fonts/75dpi/fonts.cache-1", O_RDONLY) = 6
open("/usr/X11R6/lib/X11/fonts/Speedo/fonts.cache-1", O_RDONLY) = 6
open("/usr/X11R6/lib/X11/fonts/Type1/fonts.cache-1", O_RDONLY) = 6
open("/usr/share/fonts/type1/gsfonts/fonts.cache-1", O_RDONLY) = 6
open("/usr/share/fonts/truetype/ttf-bitstream-vera/fonts.cache-1", O_RDONLY) = 6open("/usr/share/fonts/truetype/openoffice/fonts.cache-1", O_RDONLY) = 6
open("/usr/share/fonts/truetype/freefont/fonts.cache-1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/X11R6/lib/X11/fonts/encodings/large/fonts.cache-1", O_RDONLY) = 6
open("/home/capucine/.fonts.cache-1.TMP-CYHk19", O_RDWR|O_CREAT|O_EXCL, 0600) = 6
open("/home/capucine/.fonts.cache-1.NEW", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 6
open("/usr/share/fonts/truetype/ttf-bitstream-vera/Vera.ttf", O_RDONLY) = 6
open("/etc/pango/pangorc", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/capucine/.pangorc", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/pango/pango.modules", O_RDONLY) = 6
open("/usr/lib/pango/1.4.0/modules/pango-basic-fc.so", O_RDONLY) = 6
open("/etc/gtk-2.0/gtk.immodules", O_RDONLY|O_LARGEFILE) = 6
open("/usr/lib/gtk-2.0/2.4.0/immodules/im-cedilla.so", O_RDONLY) = 6
open("/usr/share/sane/xsane/xsane-eula.txt", O_RDONLY) = 6
open("/home/capucine/.icons/default/cursors/xterm", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/capucine/.icons/default/index.theme", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/icons/default/cursors/xterm", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/icons/default/index.theme", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/pixmaps/default/cursors/xterm", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/pixmaps/default/index.theme", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/X11R6/lib/X11/icons/default/cursors/xterm", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/X11R6/lib/X11/icons/default/index.theme", O_RDONLY) = 6
open("/home/capucine/.icons/Industrial/cursors/xterm", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/capucine/.icons/Industrial/index.theme", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/icons/Industrial/cursors/xterm", O_RDONLY) = 6
open("/home/capucine/.sane/xsane/xsane.mdf", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/sane.d/dll.d", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 6
open("./dll.conf", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/sane.d/dll.conf", O_RDONLY) = 6
open("./dll.aliases", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/sane.d/dll.aliases", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/sane/libsane-niash.so.1", O_RDONLY) = 6
open("/usr/lib/sane/libsane-niash.so.1", O_RDONLY) = 6
open("/dev/", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 6
open("/dev/usb/", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 6
open("/proc/bus/usb", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 6
open("/proc/bus/usb", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 6
open("/proc/bus/usb/005", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 6
open("/proc/bus/usb/005/001", O_RDWR) = -1 EACCES (Permission denied)
open("/proc/bus/usb/005/001", O_RDONLY) = 7
open("/proc/bus/usb/005/001", O_RDWR) = -1 EACCES (Permission denied)
open("/proc/bus/usb/005/001", O_RDONLY) = 6
open("/proc/bus/usb/004", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 6
open("/proc/bus/usb/004/001", O_RDWR) = -1 EACCES (Permission denied)
open("/proc/bus/usb/004/001", O_RDONLY) = 7
open("/proc/bus/usb/004/001", O_RDWR) = -1 EACCES (Permission denied)
open("/proc/bus/usb/004/001", O_RDONLY) = 6
open("/proc/bus/usb/003", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 6
open("/proc/bus/usb/003/001", O_RDWR) = -1 EACCES (Permission denied)
open("/proc/bus/usb/003/001", O_RDONLY) = 7
open("/proc/bus/usb/003/001", O_RDWR) = -1 EACCES (Permission denied)
open("/proc/bus/usb/003/001", O_RDONLY) = 6
open("/proc/bus/usb/002", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 6
open("/proc/bus/usb/002/002", O_RDWR) = -1 EACCES (Permission denied)
open("/proc/bus/usb/002/002", O_RDONLY) = 7
open("/proc/bus/usb/002/001", O_RDWR) = -1 EACCES (Permission denied)
open("/proc/bus/usb/002/001", O_RDONLY) = 7
open("/proc/bus/usb/002/002", O_RDWR) = -1 EACCES (Permission denied)
open("/proc/bus/usb/002/002", O_RDONLY) = 6
open("/proc/bus/usb/002/001", O_RDWR) = -1 EACCES (Permission denied)
open("/proc/bus/usb/002/001", O_RDONLY) = 6
open("/proc/bus/usb/001", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 6
open("/proc/bus/usb/001/006", O_RDWR) = -1 EACCES (Permission denied)
open("/proc/bus/usb/001/006", O_RDONLY) = 7
open("/proc/bus/usb/001/005", O_RDWR) = -1 EACCES (Permission denied)
open("/proc/bus/usb/001/005", O_RDONLY) = 7
open("/proc/bus/usb/001/001", O_RDWR) = -1 EACCES (Permission denied)
open("/proc/bus/usb/001/001", O_RDONLY) = 7
open("/proc/bus/usb/001/006", O_RDWR) = -1 EACCES (Permission denied)
open("/proc/bus/usb/001/006", O_RDONLY) = 6
open("/proc/bus/usb/001/005", O_RDWR) = -1 EACCES (Permission denied)
open("/proc/bus/usb/001/005", O_RDONLY) = 6
open("/proc/bus/usb/001/001", O_RDWR) = -1 EACCES (Permission denied)
open("/proc/bus/usb/001/001", O_RDONLY) = 6
open("/proc/bus/usb/001/006", O_RDWR) = -1 EACCES (Permission denied)
open("/proc/bus/usb/001/006", O_RDONLY) = 6

[/code]

slt,

Bizarre, /proc/bus/usb/001/006 Permission denied, seulement tu peux pas changer les permissions sur /proc…heu ton application xsane, essaie de lui donné les droits pour le groupe auquel tu appartient, sinon si ca passe pas essaie de te déclarer proprio de cette appli.

Vérifie que tu es bien proprio de tt ce qui est sous ~/.sane

C’est à dire tout les fichiers et dossiers dans etc/sane.d?
Quelle est la commande pour changer le proprietaire d’un dossier et ses sous-dossiers?

NON ! stop ! je parlais du répertoire home (noté ~). Il arrive qu’il y ait des pb de droits avec le dossier .sane (ça m’est arrivé, je ne pouvais exécuter xsane que sous root)

A tt hasard…

Je n’ai pas de fichier .sane dans mon home (meme dans les fichiers cachés). Que doit contenir ce fichier? Peux-tu me donner une copie du tiens? Puis-je faire une copie de celui de mon root?

As-tu installé les packages suivant :

i   sane                                                       - scanner graphical frontends
i A sane-utils                                                 - API library for scanners -- utilities
i   xsane                                                      - GTK+-based X11 frontend for SANE (Scanner Access Now Easy)
i A xsane-common                                               - GTK+-based X11 frontend for SANE (Scanner Access Now Easy)

Oui c’est installé, mais je pense que si il me manquait des paquetage j’aurais egalement des problèmes en root, hors ce n’est pas le cas.

Oui, c’est la réflexion que je me suis fait après coup :wink:

Lors de ton échec tu n’as pas un bouton “Aide” qui s’affiche ? Avec des pistes proposées ?

Rien du tout…
Et pour le fichier .sane ?

Le problème de droit est assez classique avec xsane. As tu installé hotplug? Si oui, c’est bizarre, il est possiblie de faire un fichier usermap dédié à ton scanner qui lui mettra les bonnes permissions (j’ai fait cela avec gphoto2 et un appareil photo USB) mais ça me parait étonnant…

Pour être franc, j’ai essayé d’installer mon scanner ce soir sous Sid et j’ai le même pb que toi. J’avais résolu la chose sous Sarge mais je dois rechercher la solution que j’avais trouvée.

.sane est un dossier qui contient la config de sane pour l’utilisateur propriétaire du home parent de .sane. Son contenu est créé lors du 1er lancement des applications sane (xsane par exemple) par l’utilisateur.

Voici le mien sous Sarge :

[code]/xsane :

drwxrwx— 2 bluenote bluenote 4,0K 2004-10-10 10:57 batch-lists/
-rw-rw---- 1 bluenote bluenote 4,3K 2006-03-16 21:11 Epson:Perfection610.drc
-rw------- 1 bluenote bluenote 4,2K 2006-03-16 21:11 xsane.mdf
-rw------- 1 bluenote bluenote 4,6K 2006-03-16 21:11 xsane.rc
[/code]

batch-lists/ est vide.

Juste une remarque, quelle est la version du noyau dans les deux cas? Il me semble que la gestion du hotplug a été modifié (hal et dbus, je ne me suis pas encore penché sur ce pbm, je viens juste de piger comment fonctionne hotplug), peut être que ça vient de là?

En fait, comme tt fonctionne sous root, je pencherai plutôt pour un pb de droit que de version du noyau.
Ceci étant, ça marchait après qq tours de clef avec un vieux 2.6.8. Actuellement j’ai 2.6.13 pour Sarge et 2.6.15 pour Sid.