getInfo 2.60.0

This commit is contained in:
kyodev 2017-12-09 22:27:46 +01:00
parent ca18a00feb
commit 6e0a99a31c
2 changed files with 91 additions and 70 deletions

View File

@ -1,6 +1,6 @@
#!/bin/bash
version=2.59.5
version=2.60.0
date="9/12/2017"
projet="simpledeb"
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues/"
@ -769,7 +769,7 @@ fi_cpu(){ # 6/12/2017
alert_microcode="$fg_ucode"
[ "$ENV_DEBIAN" ] && alert_microcode+="\n les installer: **apt install $ucode**"
fi
[ ${fg_cpu:0:1} -gt 1 ] && pluriel="s" || unset pluriel
[ $(( ${fg_cpu:0:1} )) -gt 1 ] && pluriel="s" || unset pluriel
###
f_pr titre2 "processeur"$pluriel
f_di cmd "$fg_cpu" "lscpu" # affichage proc
@ -1412,7 +1412,7 @@ fi_net(){ # 8/12/2017 ( matériel )
fi
###
f_pr titre2 "réseau"
f_pr l "$(sed -E 's/(.*)/**\1**/' <<< $fe_cards_reseau)" # mise en gras
f_pr l "$(sed -E 's/(.*)/**\1** /' <<< $fe_cards_reseau)" # mise en gras
f_pr
# lspci -nnv
f_di cmd "$cards" "$cmd_cards"
@ -1490,7 +1490,7 @@ fi_packagers(){ #v2 23/11/2017
fi
}
fi_pkg_apt(){ #v3 7/12/2017
fi_pkg_apt(){ #v3 9/12/2017
local dateMaj nb_packages ifile info_update text pluriel
local sources cmt_sources cmd_sources
local apt_v apt_version apt_prefs cmt_apt_prefs cmd_apt_prefs
@ -1583,7 +1583,7 @@ fi_pkg_apt(){ #v3 7/12/2017
qte_upgradable=($( gawk '/ newly installed/{print $1" "$10}' <<< $stck_upgd )) # tableau
[ "${qte_upgradable[0]}" ] || qte_upgradable=("-1" "-1") # si erreur
# upgrade
[ "${qte_upgradable[0]}" -gt 1 ] && pluriel="s" || unset pluriel
[ $(( "${qte_upgradable[0]}" )) -gt 1 ] && pluriel="s" || unset pluriel
cmt_upgrade="${qte_upgradable[0]} paquet"$pluriel" à mettre à jour"
[ "${qte_upgradable[0]}" -eq 0 ] && cmt_upgrade=${cmt_upgrade/0 /aucun }
cmd_upgrade="apt list --upgradable"
@ -1602,7 +1602,7 @@ fi_pkg_apt(){ #v3 7/12/2017
notUpgraded=${notUpgraded#*The following packages have been kept back:} # suppression début
notUpgraded=$( sed '/newly/d' <<< "$notUpgraded" | sort | tr '\n' ' ' )
notUpgraded=${notUpgraded// / } # suppression espace double
[ "${qte_upgradable[1]}" -gt 1 ] && pluriel="s" || unset pluriel
[ $(( "${qte_upgradable[1]}" )) -gt 1 ] && pluriel="s" || unset pluriel
cmt_notUpgraded="${qte_upgradable[1]} paquet"$pluriel" nécessitant une mise à jour profonde)"
alert_full_upgrade="ces paquets peuvent être mis à jour avec avec: **apt full-upgrade**"
fi
@ -1612,7 +1612,7 @@ fi_pkg_apt(){ #v3 7/12/2017
toRemove=$( sort <<< $toRemove )
qte_toRemove=$( gawk '/ newly installed/{ printf $6 }' <<< $toRemove )
toRemove=$( sed '/newly/d' <<< "$toRemove" ) # suppression ligne état
[ "$qte_toRemove" -gt 1 ] && pluriel="s" || unset pluriel
[ $(( "$qte_toRemove" )) -gt 1 ] && pluriel="s" || unset pluriel
cmt_toRemove="$qte_toRemove paquet"$pluriel" inutile"$pluriel
[ "$qte_toRemove" -eq 0 ] && cmt_toRemove=${cmt_toRemove/0 /aucun }
cmd_toRemove="apt autoremove --simulate"
@ -1655,7 +1655,7 @@ fi_pkg_apt(){ #v3 7/12/2017
fi
# paquet non ^ii
non_ii=$( LC_ALL=C dpkg -l | gawk 'FNR>5 && ! /^i/ {
printf "%-3s %-20s %-12s",$1,$2,$3; $1=$2=$3=$4=""; printf "%s \n",$0 }' )
printf "%-3s %-25s %-12s",$1,$2,$3; $1=$2=$3=$4=""; printf "%s \n",$0 }' )
qte_non_ii=$( f__wcv -l "$non_ii" )
[ "$qte_non_ii" -gt 1 ] && pluriel="s" || unset pluriel
cmt_non_ii="$qte_non_ii paquet"$pluriel" dans un état non standard (^ii)"
@ -1717,10 +1717,20 @@ fi_pkg_apt(){ #v3 7/12/2017
[ "$qte_holded" -eq 0 ] && cmt_holded=${cmt_holded/0 /aucun }
cmd_holded="apt-mark showhold"
# kernel
metaPkg=$( dpkg -l | grep -i -E 'linux-(image|headers)-([0-9]{3}|amd)' )
# metaPkg=$( dpkg -l | grep -i -E 'linux-(image|headers)-([0-9]{3}|amd)' )
metaPkg=$( gawk '
BEGIN{IGNORECASE=1}
/linux-(image|headers)-([0-9]{3}|amd)/ { printf "%-3s %-30s %s ",$1, $2, $3
$1=$2=$3=$4=""; print $0
}' <<< $( dpkg -l ) )
cmd_metaPkg="dpkg -l | grep -i -E 'linux-(image|headers)-([0-9]{3}|amd)'"
cmt_metaPkg="métapaquet noyau"
kernel=$( dpkg -l | grep -i -E "linux-(headers|image)-$(uname -r)" )
# kernel=$( dpkg -l | grep -i -E "linux-(headers|image)-$(uname -r)" )
kernel=$( gawk '
BEGIN{IGNORECASE=1}
/linux-(headers|image)-'$(uname -r)'/ { printf "%-3s %-30s %s ",$1, $2, $3
$1=$2=$3=$4=""; print $0
}' <<< $( dpkg -l ) )
cmd_kernel="dpkg -l | grep -i -E \"linux-(headers|image)-$(uname -r)\""
cmt_kernel="noyau"
###
@ -1971,7 +1981,7 @@ fi_system(){ # 9/12/2017
[ "$fg_de" ] || figet_de
[ "$fg_nb_disk" ] || figet_disk
[ "$fg_distrib" ] || figet_distrib
[ "$fg_dsp_mngr" ] || figet_dm
[ "$fg_dsp_mngr" ] || figet_dsp_mngr
[ "$fg_dmi" ] || figet_dmi
[ "$fg_resolution" ] || figet_screen
[ "$fg_shell" ] || figet_shell
@ -2038,11 +2048,11 @@ fi_system(){ # 9/12/2017
}' <<< $( LC_ALL=C uptime )
)
# server X
serverX="${XDG_SESSION_TYPE^}" # retourne wayland normalement si c'est la cas
serverX="${XDG_SESSION_TYPE^}" # retourne wayland normalement si c'est le cas
serverX+=" $fe_Xorg"
[[ -z "$serverX" && "$ENV_DISPLAY" ]] && serverX+=":no DISPLAY"
[[ -z "$serverX" && "$ENV_SSH" ]] && serverX+=":ssh"
[ -z "$serverX" ] && serverX="n/a"
[[ "$serverX" == " " && "$ENV_DISPLAY" ]] && serverX+=":no DISPLAY"
[[ "$serverX" == " " && "$ENV_SSH" ]] && serverX+=":ssh"
[ "$serverX" == " " ] && serverX="n/a"
# alimentation
if [ $( grep -c 'AC' <<< $(ls /sys/class/power_supply/ 2>/dev/null) ) -gt 0 ]; then
alim_total=$( grep -cs . <<< $(ls /sys/class/power_supply/AC*/online) )
@ -2078,7 +2088,7 @@ fi_system(){ # 9/12/2017
f_pr l2 "date d'installation: $date_install"
f_pr l2 "démon d'initialisation: $initDaemon"
f_pr l2 "shell actif: $fg_shell"
[ "$( f__wcv -w "$fg_shells" )" ] && pluriel="s" || unset pluriel
[ "$( f__wcv -w "$fg_shells" )" -gt 1 ] && pluriel="s" || unset pluriel
f_pr l2 "shell"$pluriel" installé"$pluriel": $fg_shells"
f_pr l2 "$bootImage"
f_pr
@ -2325,7 +2335,7 @@ figet_batt(){ #v2 9/12/2017
}
# assigne $fg_cpu (description cpu), fg_nb_threads, $fg_cpu_arch, $fg_uarch, $fg_vendor=AMD|Intel, $fg_nb_cpu
figet_cpu(){ #v2 1/12/2017
figet_cpu(){ #v 9/12/2017
local cpuinfo speedNom speedMax speedMin speedCpu descrCpu cpu1 cpu2 cpu3
cpuinfo="$(cat /proc/cpuinfo)"
# speed
@ -2357,6 +2367,7 @@ figet_cpu(){ #v2 1/12/2017
/^physical id/ { if ($2+1 != nbCpu) nbCpu=$2+1 }
END { printf nbCpu}
' <<< "$cpuinfo" )
fg_nb_cpu=$(( "$fg_nb_cpu" )) # force numérique, utile?
# traitement fg_cpu
cpu1=$(
gawk -v "speedCpu=$speedCpu" -F ':|@' '
@ -2388,7 +2399,7 @@ figet_cpu(){ #v2 1/12/2017
/bogomips/ { bogomips=sprintf("%d",$2) }
END { print add ", bogomips: " bogomips ", cache: " cache }' <<< "$cpuinfo"
)
fg_cpu=$( echo -e "$cpu1\n$cpu2\n$cpu3" )
fg_cpu=$( echo -e "${cpu1// / } \n${cpu2// / } \n${cpu3// / }" )
fg_nb_threads=$( grep -c '^processor' <<< $cpuinfo )
# arch processeur
[ "$( grep -cm1 'flags.* lm ' /proc/cpuinfo )" -ge 1 ] && fg_cpu_arch="64bits" || fg_cpu_arch="32bits"
@ -2400,6 +2411,7 @@ figet_cpu(){ #v2 1/12/2017
fg_vendor=${fg_vendor//GenuineIntel/Intel} # allègement
# traitement µarchitecture
[ "$fg_uarch" ] || figet_cpu_uarch
# protection numérique
}
# stockage des flags cpu extraits du kernel, assigna $CPU_FLAGS
@ -2790,7 +2802,7 @@ figet_cpu_uarch(){ # 24/11/2017
}
# assigne $fg_de, $fg_de_panel
figet_de(){ #v 7/12/2017 # thanks neofetch
figet_de(){ #v 9/12/2017 # thanks neofetch
local de="n/a"
fg_de="n/a"
[ "$ENV_DISPLAY" ] && fg_de+=":no Display"
@ -2803,16 +2815,16 @@ figet_de(){ #v 7/12/2017 # thanks neofetch
de="$DESKTOP_SESSION"
de=${DESKTOP_SESSION##*/} # suppression plus grande chaine au début jusqu'à /
fi
# fallback to using xprop
if [[ "$wayland" && "$EUID" -eq 0 && -z "$de" ]]; then
fg_de="n/a:wayland root"
return 0
# fallback to using xprop
elif [[ -z "$de" ]]; then
de=$( xprop -root | gawk 'IGNORECASE = 1;/KDE_SESSION_VERSION|^_MUFFIN/' )
de=$( xprop -root | gawk 'BEGIN{IGNORECASE = 1};/KDE_SESSION_VERSION|^_MUFFIN/' )
fi
# Format strings
if [[ "${de,,}" =~ kde_session_version ]]; then # test sur minuscules
de="kde"${de/* = }
if [[ "${de,,}" =~ kde ]]; then # test sur minuscules
de="$de$KDE_SESSION_VERSION"
elif [[ "${de,,}" =~ tde_full_session ]]; then
de="trinity" # fork kde 3.5
elif [[ "${de,,}" =~ muffin || "${de,,}" =~ cinnamon ]]; then
@ -2837,7 +2849,7 @@ figet_de(){ #v 7/12/2017 # thanks neofetch
# $fg_disk_part_fixe_m, $fg_disk_part_amov_m : liste partitions montées, fixes ou amovibles
# $fg_disk_part_swap : liste partitions swap
# $fg_disk_part_fixe_nm, $fg_disk_part_amov_nm : liste partitions non montées, fixes ou amovibles
figet_disk(){ #v2 2/12/2017
figet_disk(){ #v2 9/12/2017
local size type list_id idisk lsblk vendor model rev serial
unset fg_disk_fixe fg_disk_amov
# bug printf: caractères accentués diminuent 1 caractère sur arguments suivants, ajouter autant d'espaces
@ -2871,7 +2883,7 @@ figet_disk(){ #v2 2/12/2017
[ "$fg_disk_table" ] && fg_disk_table=${fg_disk_table::-1} # suppression dernier $'\n'
[ "$fg_disk_serial" ] && fg_disk_serial=${fg_disk_serial::-1} # suppression dernier $'\n'
# nb de disques (fixe+amovible), peut servir d'indicateur fonction déja appelée
fg_nb_disk="$(tr ' ' '\n' <<< "$fg_disk_fixe$fg_disk_amov" | grep -c .)"
fg_nb_disk=$( tr ' ' '\n' <<< "$fg_disk_fixe$fg_disk_amov" | grep -c . )
# séquences partitions fixes, montées (m) et non montées (nm)
lsblk="$(lsblk -no KNAME,MOUNTPOINT $(printf '/dev/%s ' $fg_disk_fixe) 2>/dev/null)"
fg_disk_part_fixe_m="$(echo "$lsblk" | gawk '/\// {print $1}' | tr '\n' ' ')"
@ -2942,44 +2954,6 @@ figet_distrib(){ #v 23/11/2017
[ "$fg_distrib" ] || fg_distrib="${OS^} (indéterminé)"
}
# display manager, assigne $fg_dsp_mngr (liste) ou 'n/a', $fg_dsp_mngr_actif
figet_dm(){ #v1 27/11/2017
local dm_list="cdm entranced gdm3 gdm qingy kdm ldm lightdm lxdm mdm nodm orthos sddm slim wdm xdm"
local idm ps systemctl x11
fg_dsp_mngr=""
ps=$(ps -ef) # plus joli pour cmde manuelle ps=$(ps -auxf)
ps=${ps,,} # tout en minuscules
for idm in $dm_list; do
if grep -iq "bin/$idm$" <<< "$ps"; then
# if [ "${ps/*"$idm"*/test}" == "test" ]; then # pb: doublon gdm/gdm3 fun & speed? grepless (remplacement $idm et alentours, si idm présent, valeur test)
fg_dsp_mngr+="${idm^} "
fg_dsp_mngr_actif="${idm^}"
elif [[ -e /var/run/$idm".pid" || -e /var/run/$idm".pid" || -e /run/$idm || -e /run/$idm || -d /run/$idm/ || -d /var/run/$idm/ ]]; then
fg_dsp_mngr+="${idm^} "
fg_dsp_mngr_actif="${idm^}"
fi
done
fg_dsp_mngr=${fg_dsp_mngr% } # supression espace final
if [[ -z "$fg_dsp_mngr" && -e "/etc/X11/default-display-manager" ]]; then
x11=$(cat /etc/X11/default-display-manager)
fg_dsp_mngr=${x11##*/} # conservation dernier champs ifs '/'
fi
if [[ -z "$fg_dsp_mngr" && "${ps/*startx*/test}" == "test" ]]; then
fg_dsp_mngr="(startx)"
fg_dsp_mngr_actif="(startx)"
fi
fg_dsp_mngr_actif=${fg_dsp_mngr_actif^}
if [[ -z "$fg_dsp_mngr_actif" && $( type -p systemctl 2>/dev/null ) ]]; then
fg_dsp_mngr_actif=$(grep 'Main PID' <<< $(systemctl status display-manager))
fg_dsp_mngr_actif=${fg_dsp_mngr_actif##* } # conservation dernier champs ifs ' '
fg_dsp_mngr_actif=${fg_dsp_mngr_actif/\(/} # suppression (
fg_dsp_mngr_actif=${fg_dsp_mngr_actif/\)/} # suppression )
[ ${fg_dsp_mngr// } ] || fg_dsp_mngr="$fg_dsp_mngr_actif"
fi
[ "$fg_dsp_mngr" ] || fg_dsp_mngr="n/a"
[ "$fg_dsp_mngr_actif" ] || fg_dsp_mngr_actif="n/a"
}
# informations DMI (firmware partie matériel), $1=[head], assigne $fg_dmi
figet_dmi(){ #v2 01/12/2017
local product board bios tempo idmi indic1="" indic2=""
@ -3059,6 +3033,44 @@ figet_dmi(){ #v2 01/12/2017
fg_dmi=${fg_dmi//COMPUTER }
}
# display manager, assigne $fg_dsp_mngr (liste) ou 'n/a', $fg_dsp_mngr_actif
figet_dsp_mngr(){ #v1 27/11/2017
local dm_list="cdm entranced gdm3 gdm qingy kdm ldm lightdm lxdm mdm nodm orthos sddm slim wdm xdm"
local idm ps systemctl x11
fg_dsp_mngr=""
ps=$(ps -ef) # plus joli pour cmde manuelle ps=$(ps -auxf)
ps=${ps,,} # tout en minuscules
for idm in $dm_list; do
if grep -iq "bin/$idm$" <<< "$ps"; then
# if [ "${ps/*"$idm"*/test}" == "test" ]; then # pb: doublon gdm/gdm3 fun & speed? grepless (remplacement $idm et alentours, si idm présent, valeur test)
fg_dsp_mngr+="${idm^} "
fg_dsp_mngr_actif="${idm^}"
elif [[ -e /var/run/$idm".pid" || -e /var/run/$idm".pid" || -e /run/$idm || -e /run/$idm || -d /run/$idm/ || -d /var/run/$idm/ ]]; then
fg_dsp_mngr+="${idm^} "
fg_dsp_mngr_actif="${idm^}"
fi
done
fg_dsp_mngr=${fg_dsp_mngr% } # supression espace final
if [[ -z "$fg_dsp_mngr" && -e "/etc/X11/default-display-manager" ]]; then
x11=$(cat /etc/X11/default-display-manager)
fg_dsp_mngr=${x11##*/} # conservation dernier champs ifs '/'
fi
if [[ -z "$fg_dsp_mngr" && "${ps/*startx*/test}" == "test" ]]; then
fg_dsp_mngr="(startx)"
fg_dsp_mngr_actif="(startx)"
fi
fg_dsp_mngr_actif=${fg_dsp_mngr_actif^}
if [[ -z "$fg_dsp_mngr_actif" && $( type -p systemctl 2>/dev/null ) ]]; then
fg_dsp_mngr_actif=$(grep 'Main PID' <<< $(systemctl status display-manager))
fg_dsp_mngr_actif=${fg_dsp_mngr_actif##* } # conservation dernier champs ifs ' '
fg_dsp_mngr_actif=${fg_dsp_mngr_actif/\(/} # suppression (
fg_dsp_mngr_actif=${fg_dsp_mngr_actif/\)/} # suppression )
[ ${fg_dsp_mngr// } ] || fg_dsp_mngr="$fg_dsp_mngr_actif"
fi
[ "$fg_dsp_mngr" ] || fg_dsp_mngr="n/a"
[ "$fg_dsp_mngr_actif" ] || fg_dsp_mngr_actif="n/a"
}
# infos température et fan via acpi, assigne $fg_hw
figet_hw(){ #v2 31/10/2017
local name labelF inputF labelT inputT critT hystT maxiT fan temp ihw
@ -3341,7 +3353,11 @@ figet_mem(){ # 9/12/2017
[ "$a" == "SwapFree:" ] && SwapFree="$b"
[ "$a" == "SwapCached:" ] && SwapCached="$b"
done <<< $(< /proc/meminfo)
MemLibre=$(( $MemFree + $Buffers + $Cached + $SReclaimable ))
if [ -z "$MemFree" ]; then
fg_mem="debug: pas de calcul mémoire, erreur implémentation bash"
return 1
fi
MemLibre=$(( $MemFree+$Buffers+$Cached+$SReclaimable ))
MemUsed=$(( $MemTotal - $MemLibre ))
SwapUsed=$(( $SwapTotal-$SwapFree ))
totalTotal=$(( $MemTotal+$SwapTotal ))
@ -3545,8 +3561,8 @@ figet_ucode(){ # 29/11/2017
fi
}
# assigne $fg_wm (compositor non publique, pas fiabilisé)
figet_wm(){ #v 6/12/2017 base départ neofetch
# assigne $fg_wm (compositor, pas en variable publique, pas fiabilisé)
figet_wm(){ #v 9/12/2017 base départ neofetch
local id wm_brut compositor
fg_wm="n/a"
@ -3612,6 +3628,7 @@ figet_wm(){ #v 6/12/2017 base départ neofetch
[[ "$wm_brut" =~ westford ]] && compositor+='westford'
[[ "$wm_brut" =~ weston ]] && compositor+='weston'
compositor=${compositor^} # caractère 1 en majuscule
[ "${compositor,,}" == "${fg_wm,,}" ] && unset compositor
[ "$compositor" ] && compositor="{$compositor}"
#final
fg_wm="$fg_wm $compositor"
@ -3642,7 +3659,7 @@ fipaste_curl_pastery(){ # 25/10/2017
f__info "merci contacter $projet, $contact pour aider à parfaire le script"
else
id="$(echo $curl | cut -d '"' -f 4)"
[ "$pasteDuration" -gt 1 ] && pluriel="s" || unset pluriel
[ $(( "$pasteDuration" )) -gt 1 ] && pluriel="s" || unset pluriel
f__info "votre paste:$GREEN https://www.pastery.net/$id/" \
"(valide pendant $RED$pasteDuration jour"$pluriel")"
echo -e "exporté sur https://www.pastery.net/$id/ \n\n" >> "$fileOutput"
@ -3996,7 +4013,7 @@ for j in $options; do
ORIGIN='test'
prg_1 "$*"
echo -n "•"
fi_mem
fi_packagers
echo; f_dspl_md "$fileOutput"
exit ;; # test
-c* | all )

View File

@ -1,11 +1,15 @@
# changelog getInfo
## getInfo 2.59.5 9/12/2017
## getInfo 2.60.0 9/12/2017
* révision: fi_system si plusieurs batteries
* révision: figet_batt, protection format numérique
* révision: général, force numérique si éventuel pb sur les $g_nb, et test pluriel
* révision: figet_de, Kde+version
* fi_pkg_apt: afichage
* fix: kde, figet_wm, figet_de,
* fix: gentoo, test sur répertoire /sys/class/power_supply
* fix: gentoo, non résolu erreur expression (()) sur figet_mem
* fix: gentoo, non résolu erreur expression ((+)) sur figet_mem
## getInfo 2.59.0 8/12/2017