mirror of https://framagit.org/kyodev/kyopages.git
getInfo 2.59.0
This commit is contained in:
parent
a05f1ffab4
commit
023d2b2c87
257
scripts/getInfo
257
scripts/getInfo
|
@ -1,7 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
version=2.58.1
|
||||
date="7/12/2017"
|
||||
version=2.59.0
|
||||
date="8/12/2017"
|
||||
projet="simpledeb"
|
||||
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues/"
|
||||
script="getInfo"
|
||||
|
@ -415,12 +415,12 @@ f_dspl_md(){ # 3/12/2017
|
|||
"$GREEN$script -l$BLUE ou afficher l'aide $GREEN$script -h"
|
||||
return 0
|
||||
fi
|
||||
if [ "$(stat -c %s $1)" -gt "100000" ]; then # si taille en octets > 100ko pager
|
||||
if [ "$(stat -c %s $1)" -gt 100000 ]; then # si taille en octets > 100ko pager
|
||||
pager "$1" || less "$1" || more "$1"
|
||||
return
|
||||
fi
|
||||
[ "$2" == "marge" ] && margin=" "
|
||||
display=$(< $1)
|
||||
display=$(cat $1)
|
||||
# code
|
||||
display=${display//\`\`\`/------------} # transforme ``` en ---, plus visibles
|
||||
# traitement par lignes, à là sed, obligatoire pour les titres #
|
||||
|
@ -477,7 +477,7 @@ f_dspl_md(){ # 3/12/2017
|
|||
# option 'sources' affiche les sources en "colonne" (3 premières col: largeur maxi)
|
||||
# ex. cumul option: "10 novide nofile lignevide" (espace obligatoire, pas d'autre séparateur)
|
||||
# cmd de base: grep -Ersv '^#|^$' file|dossier "options"
|
||||
f_grep_file(){ # 7/12/2017
|
||||
f_grep_file(){ # 8/12/2017
|
||||
local file content display='' motif col1=0 col2=0 col3=0 col4=0 un deux trois quatre
|
||||
# motif de base "^[[:blank:]]*#|^[[:blank:]]*$"
|
||||
motif="^[[:blank:]]*#"
|
||||
|
@ -512,15 +512,15 @@ f_grep_file(){ # 7/12/2017
|
|||
if [[ ! "$2" =~ notitre ]]; then # titre
|
||||
if [ -e "$file" ]; then
|
||||
if [[ "$2" =~ "date" ]]; then
|
||||
display+=" $file, date de modification: $( date -r $file '+%d/%m/%Y %H:%M %z' ) \n"
|
||||
display+=" => $file, date de modification: $( date -r $file '+%d/%m/%Y %H:%M %z' ) \n"
|
||||
else
|
||||
display+=" --- $file \n"
|
||||
display+=" => $file \n"
|
||||
fi
|
||||
elif [[ ! "$2" =~ "noinexist" ]]; then
|
||||
if touch -c $file 2>/dev/null ; then
|
||||
display+=" --- $file: inexistant"$'\n\n'
|
||||
display+=" => $file: inexistant"$'\n\n'
|
||||
else
|
||||
display+=" --- $file: Permission non accordée"$'\n\n'
|
||||
display+=" => $file: Permission non accordée"$'\n\n'
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
@ -616,9 +616,9 @@ f_pr(){ # 1/12/2017
|
|||
}
|
||||
|
||||
# [$1=silent], assigne fe_nb_audio, fe_cards_audio
|
||||
fi_audio(){ # 1/12/2017
|
||||
fi_audio(){ # 8/12/2017
|
||||
local cardsAudio cmd_cards version_alsa card_alsa cmd_card_alsa cmt_card_alsa pluriel text
|
||||
local mod cmd_mod cmt_mod modules cmd_modules cmt_modules motif imod
|
||||
local mod_alsa cmd_mod_alsa cmt_mod_alsa mod cmd_mod cmt_mod
|
||||
local alert_alsa
|
||||
|
||||
# devices
|
||||
|
@ -646,23 +646,17 @@ fi_audio(){ # 1/12/2017
|
|||
cmd_card_alsa="cat /proc/asound/cards"
|
||||
cmt_card_alsa="carte"$pluriel" enregistée"$pluriel""
|
||||
# modules alsa
|
||||
mod=$( gawk '{ print $2 }' /proc/asound/modules )
|
||||
mod=$( sort <<< $mod )
|
||||
[ "$( f__wcv -l "$mod" )" -gt 1 ] && pluriel="s" || unset pluriel
|
||||
cmd_mod="cat /proc/asound/modules"
|
||||
cmt_mod="module"$pluriel" alsa"
|
||||
mod_alsa=$( gawk '{ print $2 }' /proc/asound/modules )
|
||||
mod_alsa=$( sort <<< $mod_alsa )
|
||||
[ "$( f__wcv -l "$mod_alsa" )" -gt 1 ] && pluriel="s" || unset pluriel
|
||||
cmd_mod_alsa="cat /proc/asound/modules"
|
||||
cmt_mod_alsa="module"$pluriel" alsa"
|
||||
# modules kernel
|
||||
for imod in $( sort -u <<< $mod ); do
|
||||
modules+=$( gawk '
|
||||
/'$imod'/ { printf "%-25s %s %2s %s\n",$1, $2, $3, $4 }
|
||||
' <<< $( lsmod ) )$'\n'"------"$'\n'
|
||||
motif+="$imod|"
|
||||
done
|
||||
motif=${motif%|} # suppression | final
|
||||
modules=${modules%[[:cntrl:]]------[[:cntrl:]]} # suppression espacement
|
||||
[ "$( f__wcv -l "$modules" )" -gt 1 ] && pluriel="s" || unset pluriel
|
||||
cmd_modules="lsmod | grep '$motif'"
|
||||
cmt_modules="$( f__wcv -l "$modules" ) module"$pluriel" utilisé"$pluriel" *"
|
||||
figet_modules "audio" "$mod_alsa"
|
||||
mod="$fg_modules" # modules chargés
|
||||
cmd_mod="lsmod | grep -Ew '$fg_srch_mod'"
|
||||
[ "$( f__wcv -l "$mod" )" -gt 1 ] && pluriel="s" || unset pluriel
|
||||
cmt_mod="$( f__wcv -l "$mod" ) module"$pluriel" utilisé"$pluriel
|
||||
fi
|
||||
###
|
||||
f_pr titre2 "audio"
|
||||
|
@ -673,8 +667,8 @@ fi_audio(){ # 1/12/2017
|
|||
f_dspl_alrt "$alert_alsa" "alert"
|
||||
f_di cmd "$version_alsa" "/proc/asound/version" "driver alsa (Advanced Linux Sound Architecture)"
|
||||
f_di cmd "$card_alsa" "$cmd_card_alsa" "$cmt_card_alsa"
|
||||
f_di cmd "$mod_alsa" "$cmd_card_alsa" "$cmt_card_alsa"
|
||||
f_di cmd "$mod" "$cmd_mod" "$cmt_mod"
|
||||
f_di cmd "$modules" "$cmd_modules" "$cmt_modules"
|
||||
}
|
||||
|
||||
fi_batt(){ # 1/12/2017
|
||||
|
@ -689,21 +683,21 @@ fi_batt(){ # 1/12/2017
|
|||
}
|
||||
|
||||
# [$1=silent] (pas d'affichage), assigne $fe_nb_bluez, $fe_cards_bluez
|
||||
fi_bluez(){ # 6/12/2017
|
||||
local bluez cmd_bluez cmt_bluez mod cmd_mod cmt_mod srch_mod pluriel text
|
||||
fi_bluez(){ # 8/12/2017
|
||||
local bluez cmd_bluez cmt_bluez mod cmd_mod cmt_mod pluriel text
|
||||
local alert_na
|
||||
|
||||
if [ $( f__which hciconfig ) ]; then
|
||||
fe_nb_bluez=$( hciconfig name 2>/dev/null ) || alert_na="PB" # stck tempo du retour hciconfig
|
||||
fe_cards_bluez=$( grep -Eo '^hci[0-9]+' <<< $fe_nb_bluez )
|
||||
fe_cards_bluez=$( grep -Eo '^hci[0-9]+' <<< $fe_nb_bluez )
|
||||
fe_nb_bluez=$( grep -c '^hci[0-9].*$' <<< $fe_nb_bluez )
|
||||
fe_cards_bluez=${fe_cards_bluez//[[:cntrl:]]/ }
|
||||
fe_cards_bluez=${fe_cards_bluez//[[:cntrl:]]/ }
|
||||
else
|
||||
fe_nb_bluez=0
|
||||
fi
|
||||
[ "$1" == "silent" ] && return 0
|
||||
###
|
||||
[ "$alert_na" ] && alert_na="Bluetooth inaccessible, en erreur"
|
||||
[ "$alert_na" ] && alert_na="Bluetooth inaccessible"
|
||||
f_dspl_alrt "$alert_na" "alert"
|
||||
[ "$fe_nb_bluez" -eq 0 ] && return 0
|
||||
###
|
||||
|
@ -715,15 +709,15 @@ fi_bluez(){ # 6/12/2017
|
|||
# modules
|
||||
figet_modules "bluetooth"
|
||||
mod="$fg_modules" # modules chargés
|
||||
cmd_mod="lsmod | grep -Ew '$fg_modKernel'" # module driver
|
||||
cmd_mod="lsmod | grep -Ew '$fg_srch_mod'"
|
||||
[ "$( f__wcv -l "$mod" )" -gt 1 ] && pluriel="s" || unset pluriel
|
||||
cmt_mod="$( f__wcv -l "$mod" ) module"$pluriel" utilisé"$pluriel" *"
|
||||
srch_mod=${fg_modMotif//|/ } # fg_modMotif motif de recherche, avec |
|
||||
cmt_mod="$( f__wcv -l "$mod" ) module"$pluriel" utilisé"$pluriel
|
||||
fg_mod_motif=${fg_mod_motif//|/ } # fg_mod_motif motif de recherche, avec |
|
||||
###
|
||||
f_pr titre2 "Bluetooth"
|
||||
f_di cmd "$bluez" "$cmd_bluez" "$cmt_bluez"
|
||||
f_di cmd "$mod" "$cmd_mod" "$cmt_mod"
|
||||
f_di sans "$srch_mod" "" "* recherche parmi:"
|
||||
[ "$mod" ] || f_di sans "$fg_mod_motif" "" "pas de modules en mémoire parmi:"
|
||||
}
|
||||
|
||||
fi_conf(){ # 3/12/2017
|
||||
|
@ -960,12 +954,12 @@ fi_efi(){ # 6/12/2017
|
|||
}
|
||||
|
||||
# assigne $fe_gpu (liste des gpu), $fe_nb_gpu, fe_Xorg, si [$1=silent|xorgOnly], sortie après configs xorg complete
|
||||
fi_gpu(){ # 7/12/2017
|
||||
fi_gpu(){ # 8/12/2017
|
||||
local cards cmd_cards prefixCmd openGl pluriel text
|
||||
local stck_glxinfo glx_dvc cmd_glx_dvc stck_glxinfoOpt stck_glxinfoDri glx_dvc_temp
|
||||
local cmd_openGl resolutions cmd_resolutions cmt_resolutions providers cmd_providers
|
||||
local current_preferred cmd_current_preferred cmt_current_preferred
|
||||
local modGpu cmd_modGpu cmt_modGpu srch_modGpu modVid cmd_modVid cmt_modVid srch_modVid
|
||||
local modGpu cmd_modGpu cmt_modGpu
|
||||
local alert_hybrid alert_3D alert_Wayland
|
||||
local toScrut confs ifile fileConfs cmd_confs cmt_confs
|
||||
# cardsManuel="$(lspci -nnk | grep -EiA 3 'vga|display|3d')" # -nn: textual and numeric ID's, k kernel
|
||||
|
@ -1084,22 +1078,15 @@ fi_gpu(){ # 7/12/2017
|
|||
fi
|
||||
fi
|
||||
# modules
|
||||
figet_modules "gpu"
|
||||
modGpu="$fg_modules" # modules chargés
|
||||
cmd_modGpu="lsmod | grep -Ew '$fg_modKernel'" # module driver
|
||||
[ "$( f__wcv -l "$modGpu" )" -gt 1 ] && pluriel="s" || unset pluriel
|
||||
cmt_modGpu="**Gpu:** $( f__wcv -l "$modGpu" ) module"$pluriel" utilisé"$pluriel" *"
|
||||
srch_modGpu=${fg_modMotif//|/ } # fg_modMotif motif de recherche, avec |
|
||||
figet_modules "video"
|
||||
modVid="$fg_modules" # modules chargés
|
||||
cmd_modVid="lsmod | grep -Ew '$fg_modKernel'" # module driver
|
||||
[ "$( f__wcv -l "$modVid" )" -gt 1 ] && pluriel="s" || unset pluriel
|
||||
cmt_modVid="**Video:** $( f__wcv -l "$modVid" ) module"$pluriel" utilisé"$pluriel" *"
|
||||
srch_modVid=${fg_modMotif//|/ } # fg_modMotif motif de recherche, avec |
|
||||
figet_lspci "video" "module" &>/dev/null # obtention module utilisé
|
||||
modGpu="$fg_modules_lp"
|
||||
cmd_modGpu="lsmod | grep -Ew '$fg_srch_mod_lp'"
|
||||
[ "$( f__wcv -wv "$modGpu" "^[[:alnum:]]" )" -gt 1 ] && pluriel="s" || unset pluriel
|
||||
cmt_modGpu="**Gpu:** $( f__wcv -wv "$modGpu" "^[[:alnum:]]" ) module"$pluriel" utilisé"$pluriel
|
||||
# fonctions externes
|
||||
[ "$fg_resolution" ] || figet_screen
|
||||
###
|
||||
f_pr titre2 "graphisme"
|
||||
f_pr titre2 "vidéo"
|
||||
f_pr l "$( sed -E 's/(.*)/**\1** /' <<< $fe_gpu )" # mise en gras
|
||||
f_pr
|
||||
# nb écran & résolution(s) active(s)
|
||||
|
@ -1123,9 +1110,6 @@ fi_gpu(){ # 7/12/2017
|
|||
f_di cmd "$resolutions" "$cmd_resolutions" "$cmt_resolutions"
|
||||
# modules vidéo
|
||||
f_di cmd "$modGpu" "$cmd_modGpu" "$cmt_modGpu"
|
||||
f_di sans "$srch_modGpu" "" "* recherche parmi:"
|
||||
f_di cmd "$modVid" "$cmd_modVid" "$cmt_modVid"
|
||||
f_di sans "$srch_modVid" "" "* recherche parmi:"
|
||||
# Xorg config
|
||||
f_di cmd "$confs" "$cmd_confs" "$cmt_confs"
|
||||
f_dspl_alrt "$info_config" "info"
|
||||
|
@ -1389,9 +1373,8 @@ fi_mem(){ # 5/12/2017
|
|||
}
|
||||
|
||||
# [$1=silent], assigne fe_nb_reseau, fe_cards_reseau
|
||||
fi_net(){ # 6/12/2017 ( matériel )
|
||||
local cards cmd_cards modEth cmd_modEth cmt_modEth srch_modEth pluriel text
|
||||
local modWln cmd_modWln cmt_modWln srch_modWln
|
||||
fi_net(){ # 8/12/2017 ( matériel )
|
||||
local cards cmd_cards modEth cmd_modEth cmt_modEth modWln cmd_modWln cmt_modWln pluriel text
|
||||
local alert_wlx
|
||||
|
||||
# devices
|
||||
|
@ -1406,19 +1389,20 @@ fi_net(){ # 6/12/2017 ( matériel )
|
|||
# cardsManuel="$(lspci -nnk | grep -EiA 5 'network|ethernet')"
|
||||
# cardsManuel="$(lspci -nnv | grep -EiA 15 'network|ethernet')"
|
||||
# cardsManuel="lspci -nnv -s $( lspci | grep -Ei 'network|ethernet' | cut -d" " -f1 )" si devices plusieurs slots???
|
||||
#modules
|
||||
figet_modules "ethernet"
|
||||
modEth="$fg_modules" # modules chargés
|
||||
cmd_modEth="lsmod | grep -Ew '$fg_modKernel'" # module driver
|
||||
[ "$( f__wcv -l "$modEth" )" -gt 1 ] && pluriel="s" || unset pluriel
|
||||
cmt_modEth="**Ethernet:** $( f__wcv -l "$modEth" -gt 1 ) module"$pluriel" utilisé"$pluriel" *"
|
||||
srch_modEth=${fg_modMotif//|/ } # fg_modMotif motif de recherche, avec |
|
||||
figet_modules "wireless"
|
||||
modWln="$fg_modules" # modules chargés
|
||||
cmd_modWln="lsmod | grep -Ew '$fg_modKernel'" # module driver
|
||||
[ "$( f__wcv -l "$modWln" )" -gt 1 ] && pluriel="s" || unset pluriel
|
||||
cmt_modWln="**Wifi:** $( f__wcv -l "$modWln" -gt 1 ) module"$pluriel" utilisé"$pluriel" *"
|
||||
srch_modWln=${fg_modMotif//|/ } # fg_modMotif motif de recherche, avec |
|
||||
|
||||
#modules ethernet
|
||||
figet_lspci "ethernet" "module" &>/dev/null # obtention module utilisé
|
||||
modEth="$fg_modules_lp"
|
||||
cmd_modEth="lsmod | grep -Ew '$fg_srch_mod_lp'"
|
||||
[ "$( f__wcv -wv "$modEth" "^[[:alnum:]]" )" -gt 1 ] && pluriel="s" || unset pluriel
|
||||
cmt_modEth="**Ethernet:** $( f__wcv -wv "$modEth" "^[[:alnum:]]" ) module"$pluriel" utilisé"$pluriel
|
||||
|
||||
# modules wifi
|
||||
figet_lspci "wireless" "module" &>/dev/null # obtention module utilisé
|
||||
modWln="$fg_modules_lp"
|
||||
cmd_modWln="lsmod | grep -Ew '$fg_srch_mod_lp'"
|
||||
[ "$( f__wcv -wv "$modWln" "^[[:alnum:]]" )" -gt 1 ] && pluriel="s" || unset pluriel
|
||||
cmt_modWln="**Wifi:** $( f__wcv -wv "$modWln" "^[[:alnum:]]" ) module"$pluriel" utilisé"$pluriel
|
||||
[ "$fg_ip" ] || figet_ip
|
||||
if grep -iq 'wlx' <<< "$fg_ifn"; then
|
||||
alert_wlx="Une interface wifi est en erreur: $(grep -o 'wlx' <<< $fg_ifn) \n"
|
||||
|
@ -1428,15 +1412,13 @@ fi_net(){ # 6/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"
|
||||
# modules réseau
|
||||
f_di cmd "$modWln" "$cmd_modWln" "$cmt_modWln"
|
||||
f_di sans "$srch_modWln" "" "* recherche parmi:"
|
||||
f_di cmd "$modEth" "$cmd_modEth" "$cmt_modEth"
|
||||
f_di sans "$srch_modEth" "" "* recherche parmi:"
|
||||
f_di cmd "$modWln" "$cmd_modWln" "$cmt_modWln"
|
||||
f_dspl_alrt "$alert_wlx" "alert"
|
||||
}
|
||||
|
||||
|
@ -1978,7 +1960,7 @@ fi_ssid(){ #v2 1/12/2017
|
|||
rm "$fileOutput"
|
||||
}
|
||||
|
||||
fi_system(){ # 6/12/2017
|
||||
fi_system(){ # 8/12/2017
|
||||
local mbr uname bootImage initDaemon date_install ligne lastboot uptime uptimePure loadAverage serverX pluriel text
|
||||
local alimentation alim_total
|
||||
|
||||
|
@ -2006,7 +1988,7 @@ fi_system(){ # 6/12/2017
|
|||
mbr="Legacy (mbr)"
|
||||
fi
|
||||
uname=$( uname -rmo )
|
||||
bootImage=$( gawk '{print $1}{i=2; while (i <= NF-1) { print " ",$i; i++}}' /proc/cmdline )
|
||||
bootImage=$( gawk '{print $1}{i=2; while (i <= NF) { print " ",$i; i++}}' /proc/cmdline )
|
||||
initDaemon=$( ps -p1 | gawk 'FNR==2 {print $4}' ) #? ps -ax | gawk '$1==1' ou ps -p1 | gawk '$1==1'
|
||||
if [[ "$initDaemon" == "systemd" && $( f__which systemd ) ]]; then
|
||||
initDaemon=$( systemd --version )
|
||||
|
@ -3247,9 +3229,11 @@ figet_ip_pub(){ # 20/11/2017
|
|||
fi
|
||||
}
|
||||
|
||||
# $1=audio|video|net, $2 objet raw|name, $3=[graph] (optirun, DRI)
|
||||
figet_lspci(){ # 6/12/2017
|
||||
local motif slots lspci display='' prefixCmd
|
||||
# $1=audio|video|net & audio|ethernet|wireless, $2 objet raw|name|module, $3=[graph] (optirun, DRI),
|
||||
# affiche device (name), lspci détail (raw)
|
||||
# pour module (module kernel), video|ethernet|wireless, assigne $fg_modules_lp $fg_srch_mod_lp
|
||||
figet_lspci(){ # 8/12/2017
|
||||
local motif slots lspci display='' prefixCmd modLspci dir modules mod_emplac imod mod_ko
|
||||
|
||||
if [ "$1" = "audio" ]; then
|
||||
motif="Audio device|Audio controller|Multimedia audio controller"
|
||||
|
@ -3257,6 +3241,10 @@ figet_lspci(){ # 6/12/2017
|
|||
motif="VGA .* controller|Display controller|3D controller|Graphic|multimedia"
|
||||
elif [ "$1" = "net" ]; then
|
||||
motif="Ethernet controller|Network controller"
|
||||
elif [ "$1" = "ethernet" ]; then
|
||||
motif="Ethernet controller"
|
||||
elif [ "$1" = "wireless" ]; then
|
||||
motif="Network controller"
|
||||
fi
|
||||
# uniquement les devices
|
||||
if [ "$2" == "name" ]; then
|
||||
|
@ -3279,9 +3267,9 @@ figet_lspci(){ # 6/12/2017
|
|||
done <<< $( lspci | grep -Ei "$motif" )
|
||||
|
||||
# lspci détaillé
|
||||
elif [ "$2" == "raw" ]; then
|
||||
elif [[ "$2" == "raw" || "$2" == "module" ]]; then
|
||||
slots=$( lspci | grep -Ei "$motif" | cut -d" " -f1 )
|
||||
if ! lspci -nnv &>/dev/null ; then # commande/option indisponible
|
||||
if ! lspci -nnv &>/dev/null ; then # commande/option indisponible
|
||||
display="lspci -nnv -s <device> non disponible"
|
||||
else
|
||||
for lspci in $slots; do
|
||||
|
@ -3298,7 +3286,33 @@ figet_lspci(){ # 6/12/2017
|
|||
done
|
||||
fi
|
||||
fi
|
||||
|
||||
# module kernel
|
||||
if [ "$2" == "module" ]; then
|
||||
fg_modules_lp=''
|
||||
# module utilisé
|
||||
modLspci=$( gawk -F ': ' '
|
||||
/Kernel modules/ {print $2}
|
||||
' <<< $lspci )
|
||||
modLspci=${modLspci// /|} # si jamais plusieurs modules ??..
|
||||
modLspci=${modLspci%|} # si | final
|
||||
modLspci=${modLspci#|} # si | au début
|
||||
# modules et emplacement
|
||||
dir="/lib/modules/$(uname -r)"
|
||||
fg_modules_lp=$( lsmod | grep -Ew "$modLspci" )
|
||||
mod_emplac=$( du -a "$dir" | grep -Ew "$modLspci\.ko" ) # emplacement
|
||||
if [ "$mod_emplac" ]; then
|
||||
IFS=$'\n'
|
||||
for imod in $mod_emplac; do
|
||||
imod=${imod#*$dir}
|
||||
mod_ko+=" => $imod"$'\n'
|
||||
done
|
||||
IFS="$IFS_INI"
|
||||
mod_ko=${mod_ko%[[:cntrl:]]}
|
||||
fg_modules_lp="$fg_modules_lp\n\n$mod_ko"
|
||||
fi
|
||||
fg_srch_mod_lp="$modLspci"
|
||||
return
|
||||
fi
|
||||
display=${display%[[:cntrl:]]} # suppression \n final
|
||||
echo -en "$display\n"
|
||||
}
|
||||
|
@ -3371,41 +3385,54 @@ figet_mem(){ # 27/11/2017
|
|||
[ "$fg_mem" ] && fg_mem=${fg_mem::-1} # suppression dernier $'\n'
|
||||
}
|
||||
|
||||
# $1=gpu|video|ethernet|wireless|bluetooth [$2=list] séparateur espace si list
|
||||
# assigne $fg_modules, $fg_modMotif, fg_modKernel
|
||||
# affiche les modules chargés par type
|
||||
figet_modules(){ # 30/11/2017
|
||||
local modules dir separator
|
||||
[ "$1" ] || return 1
|
||||
# répertoire à scruter
|
||||
dir="/lib/modules/$(uname -r)/kernel/drivers"
|
||||
if [ "$1" == "gpu" ]; then
|
||||
dir="$dir/gpu/drm"
|
||||
elif [ "$1" == "ethernet" ]; then
|
||||
dir="$dir/net/ethernet"
|
||||
elif [ "$1" == "wireless" ]; then
|
||||
dir="$dir/net/wireless"
|
||||
else
|
||||
dir="$dir/$1"
|
||||
# $1=bluetooth|audio [$2=moduleAChercher(audio)], assigne $fg_modules, $fg_mod_motif, fg_srch_mod
|
||||
figet_modules(){ # 8/12/2017
|
||||
local modules dir separator mod_emplac imod mod_ko
|
||||
|
||||
if [ "$1" == "bluetooth" ]; then
|
||||
dir="/lib/modules/$(uname -r)/kernel/drivers/bluetooth" # répertoire à scruter
|
||||
# recherche modules/formation motif ou liste
|
||||
separator="|" # séparateur | par défaut
|
||||
modules=$( ls -1R "$dir/"* | gawk -v separator="$separator" '
|
||||
/\.ko/ {
|
||||
gsub(/^\/.*:$/,"") # supp ligne répertoire
|
||||
gsub(/\/.*\//,"") # supp /../
|
||||
gsub(/\.ko/,"") # supp extension .ko
|
||||
printf "%s%s",$0,separator }' ) # séparateur espace ou |
|
||||
modules=${modules%$separator} # suppression dernier séparateur
|
||||
modules=${modules//$separator/$'\n'}
|
||||
modules=$( sort <<< $modules )
|
||||
modules=${modules//$'\n'/$separator}
|
||||
# modules=$( echo $modules | tr "$separator" '\n' | sort | tr '\n' "$separator" )
|
||||
elif [ "$1" == "audio" ]; then
|
||||
dir="/lib/modules/$(uname -r)"
|
||||
modules=$( sort -u <<< "$2" )
|
||||
modules=${modules//$'\n'/$separator}
|
||||
fi
|
||||
# recherche modules/formation motif ou liste
|
||||
[ "$2" == list ] && separator=" " || separator="|" # séparateur | par défaut
|
||||
modules=$( ls -1R "$dir/"* | gawk -v separator="$separator" '
|
||||
/\.ko/ {
|
||||
gsub(/^\/.*:$/,"") # supp ligne répertoire
|
||||
gsub(/\/.*\//,"") # supp /../
|
||||
gsub(/\.ko/,"") # supp extension .ko
|
||||
printf "%s%s",$0,separator }' ) # séparateur espace ou |
|
||||
modules=${modules%$separator} # suppression dernier séparateur
|
||||
modules=$( echo $modules | tr "$separator" '\n' | sort | tr '\n' "$separator" )
|
||||
modules=${modules%$separator} # suppression dernier séparateur
|
||||
# affichage si list éventuel
|
||||
[ "$2" == list ] && echo -n $modules
|
||||
[ "$2" == list ] && return 0
|
||||
# recherche modules chargés
|
||||
fg_modules="$( lsmod | grep -Ew "$modules" )"
|
||||
[ "$fg_modules" ] && fg_modMotif="$modules" || unset fg_modMotif
|
||||
fg_modKernel=$( gawk '{ print $1; exit }' <<< $fg_modules )
|
||||
# motif de recherche des modules trouvés dans le kernel
|
||||
if [ "$modules" ]; then
|
||||
fg_mod_motif="$modules"
|
||||
else
|
||||
unset fg_mod_motif
|
||||
fi
|
||||
# extraction 1ère lignes modules chargés = module kernel
|
||||
fg_srch_mod=$( gawk '{ print $1; exit }' <<< $fg_modules )
|
||||
# recherche emplacement modules
|
||||
mod_emplac=$( du -a "$dir" | grep -Ew "$fg_srch_mod\.ko" ) # emplacement
|
||||
if [ "$mod_emplac" ]; then
|
||||
IFS=$'\n'
|
||||
dir="/lib/modules/$(uname -r)"
|
||||
for imod in $mod_emplac; do # si $mod_emplac sort plusieurs lignes
|
||||
imod=${imod#*$dir}
|
||||
mod_ko+=" => $imod"$'\n'
|
||||
done
|
||||
IFS="$IFS_INI"
|
||||
mod_ko=${mod_ko%[[:cntrl:]]}
|
||||
fg_modules="$fg_modules\n\n$mod_ko"
|
||||
fi
|
||||
}
|
||||
|
||||
# assigne $fg_nb_screen, $fg_resolution. return fg_resolution=n/a[ (ssh)] & fg_nb_screen=n/a ou valeurs
|
||||
|
@ -3964,7 +3991,7 @@ for j in $options; do
|
|||
ORIGIN='test'
|
||||
prg_1 "$*"
|
||||
echo -n "•"
|
||||
fi_packagers
|
||||
fi_bluez
|
||||
echo; f_dspl_md "$fileOutput"
|
||||
exit ;; # test
|
||||
-c* | all )
|
||||
|
|
|
@ -1,5 +1,11 @@
|
|||
# changelog getInfo
|
||||
|
||||
## getInfo 2.59.0 8/12/2017
|
||||
|
||||
* révision: module, nouvelle méthode pour vidéo et net, figet_lspci, recherche directe module lspci
|
||||
* révision: figet_modules
|
||||
* révision: fi_gpu, fi_net, fi_audio, fi_bluez (modules)
|
||||
* fix: fi_system, nombre d'options du boot
|
||||
|
||||
## getInfo 2.58.1 7/12/2017
|
||||
|
||||
|
|
Loading…
Reference in New Issue