
Ce tutoriel a été testé sous Ubuntu 9.10 "Karmic Koala" et un scanner Epson Perfection 1240U.
Installation
- Il faut installer le paquet scanbuttond (cliquer sur le lien pour l'installer).
Test des boutons
Lancer scanbuttond dans un terminal (menu Applications > Accessoires > Terminal), taper:
scanbuttond -r 500000Appuyer sur le(les) bouton(s) du scanner, et vérifier s'il(s) est(sont) reconnu(s) en tapant dans un terminal:
grep -R scanbuttond /var/logLe terminal devrait renvoyer le numéro du(des) bouton(s) pressé(s) avec un horodatage.
Configuration de scanbuttond
Attention, c'est la partie la plus difficile! En effet il va falloir adapter chaque bouton à une utilisation spécifique, suivant ce qui est marqué sur les buttons ou suivant le choix de chacun. Cet exemple est valable pour le scanner Epson Perfection 1240U qui possède trois boutons configurés pour:
Bouton n°1: scanner avec Simple-Scan (à partir d'Ubuntu 10.04) ;
Bouton n°2: photocopier en noir et blanc en 150 dpi (nécessite l'installation du paquet libtiff-tools) ;
Bouton n°3: scanner et éditer avec Gimp en 600 dpi.
Le tout avec enregistrement du fichier avec date dans le dossier personnel.
Pour configurer scanbuttond, il va falloir éditer le fichier /etc/scanbuttond/buttonpressed.sh (nécessite le mot de passe):
- appuyer sur Alt+F2 et taper: gksudo gedit /etc/scanbuttond/buttonpressed.sh
- le fichier pour un scanner Epson Perfection 1240U qui possède trois boutons est le suivant (ce fichier n'est pas parfait mais marche):
#!/bin/sh
# This script is started by scanbuttond whenever a scanner button has been pressed.
# Scanbuttond passes the following parameters to us:
# $1 ... the button number
# $2 ... the scanner's SANE device name, which comes in handy if there are two or
# more scanners. In this case we can pass the device name to SANE programs
# like scanimage.
# *** WARNING ***
# The example code below contains just simple examples how things may get done.
# Don't simply uncomment the code on systems with untrusted users! This would
# make your button scanning vulnerable to various kinds of attacks by local users.
# *** WARNING ***
#TMPFILE="/tmp/scan.tiff"
#LOCKFILE="/tmp/copy.lock"
BUTTON="$1"
DEVICE="epson:libusb:003:003"
PICDIR="/home/laurent/"
TMPFILE="${PICDIR}/Numérisation_du_`date`_`+%Y%m%d%H%M%S`"
LOCKFILE="/tmp/${DEVICE}.lock"
if [ -f ${LOCKFILE} ]; then
zenity --error --title="Erreur: le périphérique est occupé." --text="La précédente numérisation n'est pas terminée. \
Si ce n'est pas le cas, exécutez la commande suivante 'rm -f ${LOCKFILE}'." || \
echo "Erreur: le périphérique est occupé. La précédente numérisation n'est pas terminée. \
Si ce n'est pas le cas, exécutez la commande suivante 'rm -f ${LOCKFILE}'."
exit
fi
case $1 in
1)
echo "button 1 has been pressed on $2"
simple-scan
;;
2)
echo "button 2 has been pressed on $2"
scanimage -d epson:libusb:003:003 --format=tiff --mode=Gray --depth=8 --resolution=150 > $TMPFILE && \
tiff2ps -z -w 8.27 -h 11.69 $TMPFILE | lpr &
;;
3)
scanimage -d epson:libusb:003:003 --format=pnm --mode=Color --depth=8 --resolution=600 > $TMPFILE && \
gimp $TMPFILE &
;;
4)
echo "button 4 has been pressed on $2"
;;
esac
chgrp scanner ${TMPFILE}.*
chmod g+rw ${TMPFILE}.*
rm -f ${LOCKFILE}
- changer la ligne PICDIR="/home/nom_utilisateur/" avec le bon nom d'utilisateur (ou le répertoire au choix)
- changer le paramètre DEVICE pour chaque bouton (epson:libusb:003:003 pour mon cas, à vérifier avec la commande: grep -R scanbuttond /var/log)
- une fois les modifications faites, cliquer sur Enregistrer et fermer l'éditeur de texte.
Remarque: ne pas oublier de rendre le fichier buttonpressed.sh exécutable! Pour cela, ouvrir le navigateur avec les droits d'administration (attention à ce que vous faites):
- appuyer sur Alt+F2 et taper: gksudo nautilus
- naviguer jusqu'à /etc/scanbuttond, et faire un clic droit sur buttonpressed.sh, choisir Propriétés
- dans l'onglet Permissions, cocher la case: Autoriser l'exécution du fichier comme un programme.
- fermer la fenêtre.
Démarrer automatiquement scanbuttond
Enfin il faut ajouter scanbuttond au démarrage:
- aller dans le menu Système > Préférences > Applications au démarrage
- cliquer sur le bouton Ajouter
- rentrer Scanbuttond dans la case Nom, et mettre /usr/local/bin/scanbuttond -r 500000 dans la case Commande
- cliquer sur Fermer.
http://en.gentoo-wiki.com/wiki/Scanner_buttons_and_one-touch_scanning
merci, je cherchais un scanner, et je l'ai trouver grâce à toi, bon retour d'expérience Merci à toi Man
RépondreSupprimer