Mais pour quand même rester dans les platitudes... (sifflons un petit air ici !)
J'ai retravaillé un script de visionnement du registre des erreurs et avertissements xerrs.log que j'avais pondu début 2015.
J'avais même répondu à une demande d'Argolance (que j'ai laissée !)
Ce script destiné aux développeurs et utilisateurs avancés, quoique fort utile dans son intention, pourra aussi servir de
somnifère !!! (Pour rester dans l'esprit de 2-3 messages auparavant !!!)
Remarquez que, pour ma part, je ne pourrais pas vivre sans !!!
#!/bin/ash
# /opt/local/bin/visionner-xerrs_log-2b.sh # OU / OR
# /root/my-applications/bin/visionner-xerrs_log-2b.sh
#
# Objectifs : suivre aisément et rapidement les comptes rendus d'erreur dans
# Puppy; filtrer les anomalies rapportées par X et auxquelles l'usager ne peut rien. /
# Goals: easily and quickly follow error reports in Puppy; filter anomalies
# reported by X and which the user can do nothing about.
#
# © Christian L'Écuyer, Gatineau (Qc), Canada. Original : 14-16 janvier 2015; GPL3.
# (Alias musher0 [forum Puppy].) # Rév. 24 janv., 5 et 25 févr. 2015.
# Dern. rév. : le 10 août 2018.
###
# Please read the Notes and the License at bottom. /
# S.v.p. lire les Notes et la Licence au bas du présent script.
####
SansFlaFla="$@" # Début 2015 # En option, pour Argolance.
# Si on lance le script avec < nb ou - > comme paramètre, l'info est
# affichée noir sur blanc. /
# Beginning of 2015. # As an option, for Argolance.
# If the script is run with setting < nb > or < - >, the info is displayed in b&w.
# Ex. : < visionner-xerrs_log-2b.sh nb >.
splache (){
AFICH="/tmp/affiche"
bur="`wmctrl -l | grep "tmp/xerrs" | awk '{ print $2 }'`"
bur="`expr $bur + 1`"
case ${LANG:0:2} in # Langue
fr)BUR="Le registre est déjà affiché
dans le bureau $bur";Non="déjà" ;;
en|*)BUR="The log is already displayed
on desk $bur";Non="already" ;;
esac
echo -e " $BUR.\n" > $AFICH
Geom="g 31x4+550-550"
CoLR="bg snow -fg "#83C0D4" -bd #bebebe -cr "#83C0D4""
TRNSP="tr -tint AntiqueWhite4 -sh 50"
FNT="fn "xft:Monaco:pixelsize=16:autohint=true:antialias=true""
CADR="b 20 -w 6 +sb -bl -bc -uc" # Attention, paramètre « -bl ».
rxvt -$FNT -$Geom -$CoLR -$TRNSP -$CADR &>/dev/null -e less -p "$Non" -P " ~~~~~~~~~~~~~~~~~~~~~~~~~ " -~ /$AFICH &
sleep 5s # On affiche.
PsAwk="`ps | awk '$4 ~ /less/ && $6 ~ /déjà|already/ { print $1 }'`"
kill -s 9 $PsAwk
rm -f $AFICH # yaf-splash étant pitoyable...
} # Fonctions
xerrslog (){
[ -f /tmp/xerrs.less ] && rm -f /tmp/xerrs.less # préparation
# choix de l'éditeur / Choice of Editor
if [ `which joe` ];then # (par défaut / by default)
export EDITOR="/root/my-applications/bin/joel.sh /tmp/xerrs.log 2>/dev/null"
else
export EDITOR="/usr/local/bin/defaulttexteditor /tmp/xerrs.log"
fi
# Le SOMMAIRE du registre d'erreurs se charge dans l'éditeur en tapant 'v'. /
# The SUMMARY of the error log is loaded in the text editor by typing 'v'.
# Ligne de titre / Title line
[ ${LANG:0:2} = "fr" ] && lign="lignes" || lign="lines"
NLIGN="`wc -l /tmp/xerrs.log | awk -v l="$lign" '{ print $2" -- ("$1" "l }'`"
poids="`ls -logh /tmp/xerrs.log | awk '{ print $3 }'`"
# messages pour / for less
#AIDE=" [ 'q',quitter 'h',aide 'g',début 'G',fin 'u',haut 'd', bas] "
#HELP=" [ 'q',quit 'h',help 'g',top 'G',end 'u',up 'd',down ] "
AIDE="[ 'q',quitter; 'h',aide; 'g',début; 'G',fin; 'u',haut; 'd',bas; 'v',xerrs\.log ]"
HELP="[ 'q',quit; 'h',help; 'g',top; 'G',end; 'u',up; 'd',down; 'v',xerrs\.log ]"
[ ${LANG:0:2} = "fr" ] && INFO="$AIDE" || INFO="$HELP"
PARAMLESS="c -j 25 -S -w -s -N -B -q" # param. less
case ${LANG:0:2} in fr)Ligne=" -=- Nx -===- Commande 'suspecte ou incorrecte' -===-" ;;
*)Ligne=" -=- Nx -===- 'Suspicious or incorrect' command -===-" ;; esac
# Sommaire / Summary
echo -e "$Ligne\n`awk '!/board|charsets|Initializing|map|arning|xkbcomp|efinit|initrd|mational|acpi|appbar|UTF|ymbol|gtkrc|ROX|Terminated|WARNING/' /tmp/xerrs.log | awk NF | uniq -c`\n$Ligne ¬¤¬" > /tmp/xerrs.less
# Copie le fichier avec en-tête, "pied de page" et filtres. Aussi, enlève
# les lignes vides et groupe les erreurs. Car xerrs.log est un fichier
# d'info NON éditable. /
# Copies file with header, footer and filters. Also removes empty lines
# and groups errors. Because the xerrs.log info file is NOT editable.
# afficher / display ## param. urxvt / urxvt parms
Geom="g 92x20+165-165"
case "$SansFlaFla" in
nb|-)COLR="bg white -fg black -cr black";TRNSP="";FNT="";CADR=""
# Si vous n'aimez pas le flafla. / # If you don't like bling. #
urxvt -$COLR -T "Original : $NLIGN; $poids) --" -$Geom &>/dev/null -e less -$PARAMLESS -~ -p "¬¤¬" -P " $INFO " /tmp/xerrs.less ;;
*)COLR="bg #2F4A3A -fg white -bd OrangeRed3 -cr white" # #542214"
TRNSP="tr -tint AntiqueWhite1 -sh 49" # transparence
FNT="fn xft:Monaco:pixelsize=13:antialias=true:autohint=true"
CADR="b 20 -sr +st +tcw -sbt 14" # Param. d'urxvt
#
rxvt -$COLR -T "Original : $NLIGN; $poids) --" -$FNT -$CADR -$TRNSP -$Geom &>/dev/null -e less -$PARAMLESS -p "¬¤¬" -P " $INFO " -~ /tmp/xerrs.less ;;
esac # Commande d'affichage
}
case "`ps | tr -s ' ' | awk '$4=="less" && $NF ~ /xerrs/'`" in
"")xerrslog ;; # Ouvrir
*)if [ -f /tmp/xerrslog.vu ];then
kill -s 9 `ps | awk '$4=="less" && $NF ~ /less/ { print $1 }'`
rm -f /tmp/xerrslog.vu # Fermer
else
splache;echo vu > /tmp/xerrslog.vu # Avertir
fi ;;
esac ## Three-position switch / Commutateur à 3 positions
exit
Notes --
-- EN --
-- Incorporated above. Plus:
-- Useful to: developers and advanced users.
-- Requires: awk, expr, less, wmctrl.
-- The joe editor is recommended if one wishes to view the contents of the log; but
____ viewing is also fine geany and cudatext. Does not work with leafpad.
-- Companion scripts --
--- fltr (filtre-2dn.sh)
---- Goal: Stores warnings per program in /tmp.
--- LogErrors.sh
---- Goal: Turns off or on Puppy's storage of errors in /tmp/xerrs.log.
-- The small reminder window is useful if you have the log displayed
on one desktop and you are working on another.
-- If you are going to use this script often, you may wish to consider
dragging it on the ROX desktop and decorating it with an icon.
--------
-- FR --
-- Incorporées ci-dessus. Plus :
-- Utile aux : développeurs et utilisateurs avancés.
-- Requiert: awk, expr, less, wmctrl.
-- L'éditeur joe est l'option recommandée si on souhaite visionner le contenu du registre;
mais fonctionne bien aussi avec geany et cudatext. Ne fonctionne pas avec leafpad.
-- Scripts d'accompagnement
--- fltr (filtre-2dn.sh)
---- Objectif : Collecte les avertissements par programme dans /tmp. /
--- LogErrors.sh
---- Objectif : Active et désactive la collecte d'avertissements dans /tmp/xerrs.log.
-- La petite fenêtre d'aide-mémoire est utile si le registre est affiché
dans un bureau et que vous êtes en train de travailler dans un autre.
-- Si vous allez utiliser ce script souvent, il serait peut-être bon de l'amener
sur le bureau ROX et de le décorer d'une icône.
~~~~~~~~~~~~~
Licence / License (La version française suit l'anglaise.)
-- EN --
Q.v. <https://opensource.org/licenses/GPL-3.0>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License (GPL) as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
GPL for more details.
You should have received a copy of the GNU GPL along with this
program. If not, see <http://www.gnu.org/licenses/>.
~~~~~~
-- FR --
Ce programme est libre : vous pouvez le redistribuer ou modifier
selon les termes de la Licence Publique Générale GNU publiée par la
Free Software Foundation (v. 3 ou ultérieure, à votre choix).
Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS
AUCUNE GARANTIE, ni explicite ni implicite, y compris des garanties de
commercialisation ou d'adaptation à un but spécifique. Pour obtenir plus
de détails, veuillez vous reporter au texte officiel de cette licence à
<https://opensource.org/licenses/GPL-3.0>, à sa traduction à
<http://www.linux-france.org/article/these/gpl.html> et à
<https://fr.wikipedia.org/wiki/Licence_publique_générale_GNU> pour
une explication en français.
Normalement, une copie de la licence GPL accompagne ce programme.
Sinon, voir à <http://www.gnu.org/licenses/>.
~~~~~~~~~~~~~
N'oubliez pas de lire les notes et commentaires dans le script.
Enjoy!
Avec ce script, je crois avoir fait le tour du problème des avertissements dans Puppy (à ce stade-ci de mes connaissances).
S'il vous vient des lumières -- ou des étoiles filantes, les Perséides, c'est ce soir et demain -- à ce sujet, n'hésitez pas à les partager avec nous ci-dessous ? Merci d'avance.
Bonne fin de soirée.
~~~~~~~~~~~~~~
P.S. Dans les illustrations ci-dessous, le chiffre tout à gauche indique le numéro de ligne. Le 2e chiffre (celui dans la 2e colonne) indique combien de fois la ligne est répétée dans l'ensemble du registre xerrs.log.