#!/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