Ceci est une ancienne révision du document !
Script pour aider à la résolution de problème d'imprimante ou de scanner
#!/bin/bash
echo " BASH A UTILISER EN CAS DE PROBLEME D'IMPRIMANTE OU DE SCANNER"
num=`date +%Y-%m-%d:%H-%M-%S`
fich="ImpScan-$num.txt"
echo "" >$fich
sep="========================================================================================"
function l-c { # c'est ce qui lance la commande
echo $sep >> "$fich"
echo $1 >> "$fich"
eval "$1" >> "$fich"
echo $sep >> "$fich"
}
function resultat {
echo "fichier enregistré le $num" >> $fich
echo "
Vous pouvez récupérer le fichier
$fich
pour le transmettre au forum"
}
function choixImp {
echo ""
titre="\!\!\!\! CHOIX IMPRIMANTE Réponses possibles : (E ou C ou B ou H ou S ou N)"
texte="ce programme va renseigner un fichier en fonction de votre imprimante ....
répondez
E si vous avez une EPSON
C si vous avez une CANON
B si vous avez une BROTHER
H si vous avez une HP
S si vous avez une SAMSUNG
A pour une autre
"
rep=`zenity --entry --title "$titre" --text "$texte" --width "800"`
case $rep in
[eE] ) cmd="echo 'IMPRIMANTE EPSON'" ; l-c "$cmd"
cmd="dpkg -l | grep -i epson" ; l-c "$cmd" ;;
[cC] ) cmd="echo 'IMPRIMANTE CANON'" ; l-c "$cmd"
cmd="dpkg -l | grep -i cnijfilter" ; l-c "$cmd"
cmd="dpkg -l | grep -i cndrvcups" ; l-c "$cmd" ;;
[bB] ) cmd="echo 'IMPRIMANTE BROTHER'" ; l-c "$cmd"
cmd="dpkg -l | grep -i brother" ; l-c "$cmd" ;;
[hH] ) cmd="echo 'IMPRIMANTE HP'" ; l-c "$cmd"
cmd="dpkg -l | grep -i hplip" ; l-c "$cmd"
cmd="hp-check" ; l-c "$cmd" ;;
[sS] ) cmd="echo 'IMPRIMANTE Samsung" ; l-c "$cmd"
cmd="dpkg -l | grep suld" ; l-c "$cmd"
echo $sep >> "$fich"
find /etc/apt -name '*.list' -exec bash -c 'echo -e "\n$1\n"; nl -ba "$1"' _ '{}' \; >> "$fich"
echo $sep >> "$fich" ;;
[aA] ) ;;
* ) echo "utilisez seulement ECBHSA S.V.P." ;;
esac
}
function imprimante {
choixImp
cmd="dpkg -l | grep cups" ; l-c "$cmd"
cmd="lpstat -t" ; l-c "$cmd"
cmd="/usr/sbin/lpinfo -v" ; l-c "$cmd"
cmd="cat /var/log/cups/error_log" ; l-c "$cmd"
cmd="dpkg -l | grep -v ^ii" ; l-c "$cmd"
}
function scanner {
cmd="echo SCANNER" ; l-c "$cmd"
cmd="dpkg -l | grep sane" ; l-c "$cmd"
cmd="sudo sane-find-scanner -q" ; l-c "$cmd"
cmd="scanimage -L" ; l-c "$cmd"
cmd="ls /etc/sane.d/ " ; l-c "$cmd"
cmd="cat /etc/sane.d/dll.conf" ; l-c "$cmd"
cmd="ls /lib/udev/rules.d | grep libsane" ; l-c "$cmd"
}
function ImpScan {
while [[ $rep != [?([iI])?(sS)?(nN)] ]]
do
titre="\!\!\!\! Réponses possibles : (I ou S ou IS ou N)"
texte="ce programme va générer un fichier ....
répondez
I si vous avez un problème d' imprimante
S si vous avez un problème de scanner
IS si vous avez un problème d'imprimante et de scanner
N pour arrêter
remarque il peut y avoir demande de mot de passe administrateur "
rep=`zenity --entry --title "$titre" --text "$texte" --width "800"`
case $rep in
[iI] ) imprimante ; resultat ; exit 64 ;;
[sS] ) scanner ; resultat ; exit 65 ;;
[iI][sS] ) imprimante ; scanner ; resultat ; exit 66 ;;
[nN] ) exit 63 ;;
* ) echo "utilisez seulement iIsSnN S.V.P." ;;
esac
done
}
cmd="cat /etc/lsb-release && uname -i && groups && lsusb" ; l-c "$cmd"
ImpScan