diff --git a/scripts/getInfo b/scripts/getInfo index a1f08fe..7969ad9 100755 --- a/scripts/getInfo +++ b/scripts/getInfo @@ -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 ) diff --git a/scripts/getInfo_changelog.md b/scripts/getInfo_changelog.md index 82b5620..1c99eb3 100644 --- a/scripts/getInfo_changelog.md +++ b/scripts/getInfo_changelog.md @@ -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