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
  • utilisateurs/ar_barzh_paour/brouillons/script_pb_imp.1583729304.txt.gz
  • Dernière modification: Le 09/03/2020, 05:48
  • par fabux