Debian 10 : installer scanner epson perfection v30

Bonjour,

Je tente de faire fonctionner mon scanner Epson Perfection V30 sans succès.

J’ai installé - en ROOT - le pilote “iscan-gt-f720-bundle-1.0.1.x64.deb” puis j’ai vérifié que le fichier “/lib/udev/rules.d/60-iscan.rules” comporte la référence à mon scanner :

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

ce qui est le cas.

Xsane est bien installé mais quand je veux le lancer, il ne trouve par le scanner et ce malgré un redémarrage de l’ordi.

Lancé en root, j’ai en retour de console :

root@MGDentelle0819:~# xsane
(xsane:9150): Gtk-WARNING **: 14:59:40.379: cannot open display:

Que faire ?

Je suis sous Gnome classic.

Merci.

Salut

En allant chercher chez Epson, le driver proposé pour un ‘perfection v30’ sous debian 10, la version actuellement délivrée est 2.30.4, pas 1.0.1:
https://download2.ebz.epson.net/iscan/plugin/gt-f720/deb/x64/iscan-gt-f720-bundle-2.30.4.x64.deb.tar.gz
Cette différence de version peut faire que ce ne soit pas forcément super fonctionnel avec la version que tu comptes installer.

J’utilise un perfection v33, donc j’ai un peu tourné autour des même soucis et j’ai fait un petit script qui va bien pour que ça passe.

Voici la version modifiée pour un v30:

#!/usr/bin/env bash

usage() {
    echo "Usage: './$(basename "$0")' as root or using 'sudo'." && exit
}

# Help
[ -n "$1" ] && { [ "$1" = "-h" ] || [ "$1" = "--help" ]; } && usage

# Check root permissions
[ "$(whoami)" != root ] && usage

# Trap errors
set -e
trap 'last_command=$BASH_COMMAND' DEBUG
trap_exit() {
    ret=$?
    [ "${ret}" -ne 0 ] && echo "[ERROR] '${last_command}' command failed with exit code ${ret}."
}
trap 'trap_exit;' EXIT

# Exit function
quit() {
    echo -e "[DONE] Installation is finished. You need to reboot to finalize the installation.\nReboot now ? [Y/n]"
    read -rn1 reboot
    [ -z "${reboot}" ] || echo
    [[ ! ${reboot} =~ [nN] ]] && reboot
}

epson_v30_driver="iscan-gt-f720-bundle-2.30.4.x64.deb"

# Install Epson v30 scanner driver
wget https://download2.ebz.epson.net/iscan/plugin/gt-f720/deb/x64/"${epson_v30_driver}".tar.gz
tar -xf "${epson_v30_driver}".tar.gz
(
    cd "${epson_v30_driver}"/ || exit
    ./install.sh
)
rm -rf "${epson_v30_driver}"*
for file in /usr/lib/x86_64-linux-gnu/sane/* ; do
    if [[ ${file} = /usr/lib/x86_64-linux-gnu/sane/libsane-epkowa.* ]]; then
        [ -L "${file}" ] && rm "${file}"
    fi
done
cp /usr/lib/sane/libsane-epkowa.* /usr/lib/x86_64-linux-gnu/sane/
if [ ! -f /etc/udev/rules.d/79-udev-epson.rules ]; then
    cat << EOF > /etc/udev/rules.d/79-udev-epson.rules
#chmod device EPSON group
ATTRS{manufacturer}=="EPSON", DRIVERS=="usb", SUBSYSTEMS=="usb", ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="*", MODE="0777"
EOF
fi

quit

A voir ce que tu annonces avoir fait, globalement, la petite différence, c’est que je fais une copie de lib:

cp /usr/lib/sane/libsane-epkowa.* /usr/lib/x86_64-linux-gnu/sane/

Si la version de driver ne pose pas de souci (à confirmer), cette copie de lib suivie d’un redémarrage devrait suffire à régler ton souci (ça devrait aussi bien marcher avec des liens symboliques mais je n’ai jamais tenté).
Sinon, tu peux utiliser le script que j’ai fourni qui t’installera la dernière version du driver actuellement délivrée par Epson.

EDIT:
En fait, j’avais même pas regardé ce que tu envoies dans le fichier de règles udev, mais c’est également différent de ce que j’y envoie.
Du coup, si tu n’utilises pas le script et fais les correctifs unitaires, je te conseille donc aussi de ré-écrire ton fichier /etc/udev/rules.d/60-iscan.rules avec le contenu suivant avant de redémarrer:

#chmod device EPSON group
ATTRS{manufacturer}=="EPSON", DRIVERS=="usb", SUBSYSTEMS=="usb", ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="*", MODE="0777"

Xsane est une appli graphique qui demande l’accés à ton écran d’ordi en tant que root pour s’affivher.
Comme c’est toi et pas root qui possède l’écran en tant qu’utilisateur en session, root n’a pas les droits le systéme refuse à xsane d’ouvrir une fenètre.
Ca vaut pour toute appli graphique que tu voudras lancer en root dans ta session utilisateur.
Si tu as besoin de faire ça (c’est toujours à éviter si on peut), alors tu peux lancer la commande avec sudo, gksu, ou pkexec, suivant ce qui est installé chez toi.

@ choops : l'exécution de ton fichier retourne une erreur et xsane ne se lance toujours pas :
:/home/guy/Téléchargements/Tests divers# ./Install\ V30.sh
--2019-09-24 17:58:36--  https://download2.ebz.epson.net/iscan/plugin/gt-f720/deb/x64/iscan-gt-f720-bundle-2.30.4.x64.deb.tar.gz
Résolution de download2.ebz.epson.net (download2.ebz.epson.net)… 23.61.4.229
Connexion à download2.ebz.epson.net (download2.ebz.epson.net)|23.61.4.229|:443… connecté.
requête HTTP transmise, en attente de la réponse… 200 OK
Taille : 649522 (634K) [application/x-gzip]
Sauvegarde en : « iscan-gt-f720-bundle-2.30.4.x64.deb.tar.gz.1 »

iscan-gt-f720-bundle-2.30.4.x64.d 100%[==========================================================>] 634,30K  3,16MB/s    ds 0,2s    

2019-09-24 17:58:36 (3,16 MB/s) — « iscan-gt-f720-bundle-2.30.4.x64.deb.tar.gz.1 » sauvegardé [649522/649522]

(Lecture de la base de données... 169392 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../core/iscan_2.30.4-2_amd64.deb ...
Dépaquetage de iscan (2.30.4-2) sur (2.30.4-2) ...
Préparation du dépaquetage de .../iscan-data_1.39.1-2_all.deb ...
Dépaquetage de iscan-data (1.39.1-2) sur (1.39.1-2) ...
Préparation du dépaquetage de .../esci-interpreter-gt-f720_1.0.0-1_amd64.deb ...
Dépaquetage de esci-interpreter-gt-f720 (1.0.0-1) sur (1.0.0-1) ...
Paramétrage de iscan-data (1.39.1-2) ...
Paramétrage de iscan (2.30.4-2) ...
Paramétrage de esci-interpreter-gt-f720 (1.0.0-1) ...
Traitement des actions différées (« triggers ») pour man-db (2.8.5-2) ...
Traitement des actions différées (« triggers ») pour gnome-menus (3.31.4-3) ...
Traitement des actions différées (« triggers ») pour desktop-file-utils (0.23-4) ...
Traitement des actions différées (« triggers ») pour mime-support (3.62) ...
Traitement des actions différées (« triggers ») pour udev (241-7~deb10u1) ...
cp: '/usr/lib/sane/libsane-epkowa.so.1' et '/usr/lib/x86_64-linux-gnu/sane/libsane-epkowa.so.1' identifient le même fichier
[ERROR] 'cp /usr/lib/sane/libsane-epkowa.* /usr/lib/x86_64-linux-gnu/sane/' command failed with exit code 1.

Dans ta proposition en EDIT : j’ai vérifié la présence de la référence de mon scanner. Elle est bien présente dans la liste des références y contenues.

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

mais j’ajoute aussi la ligne que tu proposes

Xsane démarre mais uniquement en root après avoir supprimé l’ancien fichier de configuration personnel.

@mattotop : Maintenant que Xsane démarre correctement en root, y a t’il un moyen simple de contourner cela pour qu’il travaille en utilisateur ?

EDIT.
Je vais dans /usr/share. Le dossier xsane a les permissions root pour le propriétaire et le groupe.
Je vais dans /usr/share. Le dossier sane a les permissions root pour le propriétaire et le groupe.

Si je change les permissions pour le groupe dans les deux dossiers, cela me permettra-t-il de démarrer xsane en mode utilisateur ?

Merci.

Salut

Ne touche pas aux permissions des dossiers de Xsane, elles sont justes.

Bon, la faute à la copie du fichier en fin de script, c’est pas gênant. Tu dois déjà avoir un lien /usr/lib/x86_64-linux-gnu/sane/libsane-epkowa.so.1 qui fait que la copie ne se fait pas (mais ce lien pointe vers le bon fichier, donc ce n’est pas grave). [J’édite le script dans ma réponse précédente pour contourner ce souci.]

Juste la petite étape qui devait se faire après ne passe pas, à savoir, l’écriture du fichier de règles udev. Ca, c’est plus problématique, puisque c’est là qu’il y a la règle MODE="0777" qui devrait débloquer ton souci.
Accessoirement, ATTRS{idProduct}=="*" permet aussi de ne pas avoir à redéfinir des nouvelles règles udev pour tes autres appareils EPSON que tu aurais envie/besoin de connecter plus tard, comme une imprimante par exemple.
Du coup, il serait tout de même pas mal, à mon avis, que tu modifies ton fichier de règles udev.

Normalement, il doit suffire d’ajouter ton user normal au group scanner (sudo adduser <user> scanner) et aprés reconnexion, tu auras les droit d’utiliser le scanner.

Bonjour mattotop,

ça n’a pas fonctionné :

~$ sudo adduser guy scanner
[sudo] Mot de passe de guy : 
guy n'apparaît pas dans le fichier sudoers. Cet événement sera signalé.

et quand je teste :

:~$ su -
Mot de passe : 
root@MGDentelle0819:~# adduser guy scanner
L'utilisateur « guy » appartient déjà au groupe « scanner ».

Ça coince encore, mais je peux toujours travaille avec xsane si je le lance en root.

EDIT :

Je remarque une autre réaction de xsane quand, une fois dans le logiciel je veux sélectionner l’endroit où je vais placer mes scans :

:/home/guy# xsane
Error creating proxy: La connexion est ferm?e (g-io-error-quark, 18)
Error creating proxy: La connexion est ferm?e (g-io-error-quark, 18)
Error creating proxy: La connexion est ferm?e (g-io-error-quark, 18)
Error creating proxy: La connexion est ferm?e (g-io-error-quark, 18)
Error creating proxy: La connexion est ferm?e (g-io-error-quark, 18)

J’obtiens ces 5 lignes immédiatement après avoir cliqué sur le bouton qui active le choix du dossier sans même avoir écrit quoi que ce soit.

Désolé, ce n’était pas suffisant scanner, je viens de chercher un peu mieux et il faut être dans le groupe saned en fait.
adduser guy saned
A faire en root.
A ce propos, tu peux aussi ajouter guy au groupe sudo, ça lui permettra de lancer des commandes avec sudo (sans avoir besoin de se loguer en root): adduser guy sudo

Si tout fonctionne, ignores les.

Merci mattotop pour toutes ces infos et pour le temps que tu as consacré à mon problème.

A+

De rien.
++