Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
utilisateurs:ar_barzh_paour:brouillons:script_pb_imp [Le 09/03/2020, 06:08] fabux Ajout coloration syntaxique + lien de téléchargement |
utilisateurs:ar_barzh_paour:brouillons:script_pb_imp [Le 11/09/2022, 13:15] (Version actuelle) moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | script pour aider à la résolution de problème d'imprimante ou de scanner amis qui utilise yad | ||
+ | il manque plein de retour chariot !!!!!! | ||
+ | |||
+ | #!/bin/bash | ||
+ | |||
+ | version="version 2020-03-08" #utilisation de yad | ||
+ | |||
+ | titre=" BASH A UTILISER EN CAS DE PROBLEME D'IMPRIMANTE OU DE SCANNER" | ||
+ | |||
+ | echo $titre | ||
+ | |||
+ | num=`date +%Y-%m-%d:%H-%M-%S` | ||
+ | |||
+ | fich="ImpScan-$num.txt" | ||
+ | |||
+ | echo "" >$fich #vide le fichier par précaution | ||
+ | |||
+ | sep1="[code]" | ||
+ | |||
+ | sep2="[/code]" | ||
+ | |||
+ | function l-c { # c'est ce qui lance la commande | ||
+ | echo $sep1 >> "$fich" | ||
+ | echo $1 >> "$fich" | ||
+ | eval "$1" >> "$fich" | ||
+ | echo $sep2 >> "$fich" | ||
+ | echo >> "$fich" | ||
+ | } | ||
+ | |||
+ | function resultat { | ||
+ | |||
+ | echo "fichier enregistré le $num" >> $fich | ||
+ | |||
+ | echo " | ||
+ | |||
+ | Vous pouvez récupérer le fichier | ||
+ | $fich | ||
+ | pour le transmettre au forum | ||
+ | tel quel (par copier-coller) | ||
+ | car les balises sont incluses | ||
+ | méthode : quand le fichier est ouvert | ||
+ | Ctrl A puis Ctrl C | ||
+ | et dans un post du forum Ctrl V " | ||
+ | } | ||
+ | |||
+ | function imprimante { | ||
+ | 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 information { | ||
+ | cmd="cat /etc/lsb-release" ; l-c "$cmd" | ||
+ | cmd="uname -i" ; l-c "$cmd" | ||
+ | cmd="groups" ; l-c "$cmd" | ||
+ | cmd="lsusb" ; l-c "$cmd" | ||
+ | } | ||
+ | |||
+ | function ImpScan { # reçoit deux paramètres : $1 Imp et $2 Scan | ||
+ | # $1 NON!BROTHER!EPSON!CANON!HP!SAMSUNG!Autre | ||
+ | # $2 NON!OUI | ||
+ | case "$1" in | ||
+ | "NON" ) : ;; | ||
+ | "BROTHER" ) cmd="echo 'IMPRIMANTE BROTHER'" ; l-c "$cmd" | ||
+ | cmd="dpkg -l | grep -i brother" ; l-c "$cmd" ;; | ||
+ | "EPSON" ) cmd="echo 'IMPRIMANTE EPSON'" ; l-c "$cmd" | ||
+ | cmd="dpkg -l | grep -i epson" ; l-c "$cmd" ;; | ||
+ | "CANON" ) 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" ;; | ||
+ | "HP" ) cmd="echo 'IMPRIMANTE HP'" ; l-c "$cmd" | ||
+ | cmd="dpkg -l | grep -i hplip" ; l-c "$cmd" | ||
+ | cmd="hp-check" ; l-c "$cmd" ;; | ||
+ | "SAMSUNG" ) cmd="echo 'IMPRIMANTE Samsung'" ; l-c "$cmd" | ||
+ | cmd="dpkg -l | grep suld" ; l-c "$cmd" | ||
+ | cmd="find /etc/apt -name '*.list' / | ||
+ | -exec bash -c 'echo -e \"\n\$1\n\"; nl -ba \"\$1\"' _ '{}' \;" | ||
+ | l-c "$cmd" ;; | ||
+ | "Autre" ) cmd="echo 'IMPRIMANTE Autre'" ; l-c "$cmd" ;; | ||
+ | esac | ||
+ | case "$1" in | ||
+ | "NON" ) : ;; | ||
+ | * ) imprimante ;; | ||
+ | esac | ||
+ | case "$2" in | ||
+ | "NON" ) if [[ "$1" = "NON" ]] ; then rm $fich ; fi ;; | ||
+ | "OUI" ) scanner ;; | ||
+ | esac | ||
+ | } | ||
+ | |||
+ | function choix { | ||
+ | # en 2ème ligne il faut lire tiret tiret texte="$0 et non 1.- texte="$0 | ||
+ | |||
+ | res=$(yad --title="$titre" --center \ | ||
+ | --text="$0 | ||
+ | IMPRIMANTE : Si l'Imprimante est concernée ou non , choisissez sa marque si oui | ||
+ | SCANNER : Indiquez s'il est concerné (oui/non) (si oui le mot de passe administrateur sera demandé) | ||
+ | |||
+ | et si vous voulez visualiser le fichier résultat laissez l'option visualisation sur OUI | ||
+ | ce qui permettra de transmettre plus facilement le résultat sur le forum | ||
+ | " \ | ||
+ | --form \ | ||
+ | --field="Imprimante:CB" 'NON!BROTHER!EPSON!CANON!HP!SAMSUNG!Autre' \ | ||
+ | --field="Scanner:CB" 'NON!OUI' \ | ||
+ | --field="Visualisation du résultat :CB" 'OUI!NON' \ | ||
+ | --button="gtk-close:1" \ | ||
+ | --button="gtk-ok:0" \ | ||
+ | ) | ||
+ | [[ $? -eq 1 ]] && exit 0 # sort si on clic sur fermer | ||
+ | imp=$(awk -F'|' '{print $1}' <<< $res) | ||
+ | scan=$(awk -F'|' '{print $2}' <<< $res) | ||
+ | visu=$(awk -F'|' '{print $3}' <<< $res) | ||
+ | } | ||
+ | |||
+ | choix | ||
+ | |||
+ | information | ||
+ | |||
+ | ImpScan "$imp" "$scan" | ||
+ | |||
+ | if [[ -e "$fich" ]] | ||
+ | then | ||
+ | resultat | ||
+ | case $visu in | ||
+ | "OUI" ) xdg-open "./$fich" ;; | ||
+ | "NON" ) exit 63 ;; | ||
+ | esac | ||
+ | fi | ||
+ | |||
+ | |||
+ | |||
+ | |||
Script pour aider à la résolution de problème d'imprimante ou de scanner | Script pour aider à la résolution de problème d'imprimante ou de scanner | ||
<code bash help_impscan.sh> | <code bash help_impscan.sh> |