kyopages/scripts/tests/debug_gi

173 lines
4.9 KiB
Plaintext
Raw Normal View History

2018-04-07 16:16:29 +02:00
#!/bin/sh
2018-04-08 23:54:34 +02:00
# shellcheck disable=SC2016,SC2034
2018-02-19 07:29:32 +01:00
2018-04-08 23:54:34 +02:00
# SC2016 Expressions don't expand in single quotes
# SC2034 variable appears unused
2018-04-19 20:10:57 +02:00
version=1.3.0
date="13/04/2018"
2018-04-08 23:49:31 +02:00
script=$( basename "$0" )
2018-02-19 07:29:32 +01:00
output="$script.md"
2018-03-03 23:49:45 +01:00
ligneRapport="Rapport du $(date '+%d/%m/%Y %H:%M %z') ◇ $(uname -n) ◇ $0 $* ◇ $script $version"
2018-02-19 07:29:32 +01:00
2018-02-20 20:25:48 +01:00
echo
2018-04-08 23:49:31 +02:00
if [ "$1" = "--help" ] || [ "$1" = "-h" ] ; then
2018-02-19 07:29:32 +01:00
echo "$script [options]"
echo
echo " -h --help : cet affichage"
echo " -n --noexport : pas d'export sur un paste, juste rapport local ($script.md)"
echo
2018-02-20 20:25:48 +01:00
echo "curl requis"
echo
2018-04-08 23:54:34 +02:00
exit
2018-02-20 20:25:48 +01:00
fi
2018-04-19 20:10:57 +02:00
if ! command -v curl >/dev/null ; then
2018-02-20 20:25:48 +01:00
echo "Erreur critique: curl requis mais non installé"
2018-04-19 20:10:57 +02:00
if command -v "dpkg" >/dev/null ; then
2018-04-08 23:54:34 +02:00
echo "Installer avec: apt install curl"
2018-02-20 20:25:48 +01:00
fi
echo
noexport="yes"
2018-02-19 07:29:32 +01:00
fi
2018-04-08 23:49:31 +02:00
if [ "$1" = "--noexport" ] || [ "$1" = "-n" ] ; then
2018-02-19 07:29:32 +01:00
noexport="yes"
fi
exec 3>&1 # sauvegarde
2018-03-03 23:49:45 +01:00
exec 1>"$output" # redirection stdout dans fichier
2018-04-08 23:49:31 +02:00
printf "%s\n\n\n" "$ligneRapport"
2018-02-19 07:29:32 +01:00
echo '```'
2018-04-08 23:49:31 +02:00
2018-02-25 19:00:40 +01:00
# système, portabilité
2018-04-19 20:10:57 +02:00
if command -v awk >/dev/null; then
awk --version 1>/dev/null 2>&1 && awk --version | head -n1 || echo "origin et version inconnue"
else
echo "**awk KO**"
fi
bash --version 1>/dev/null 2>&1 && bash --version | head -n1 || echo "**bash KO**"
free --version 1>/dev/null 2>&1 && free --version || echo "**free KO**"
lsblk --version 1>/dev/null 2>&1 && lsblk --version || echo "**lsblk KO**"
lspci --version 1>/dev/null 2>&1 && lspci --version || echo "**lspci KO**"
2018-04-08 23:49:31 +02:00
if lspci -nnv 1>/dev/null 2>&1 ; then echo "lspci -nnk ok"
2018-04-08 18:40:38 +02:00
else
2018-04-19 20:10:57 +02:00
echo "**lspci -nnk KO**"
2018-04-08 18:40:38 +02:00
flag_lspci="ko"
fi
2018-04-19 20:10:57 +02:00
journalctl --version 1>/dev/null 2>&1 && echo "journalctl: "$( journalctl --version | head -n1 ) || echo "**journalctl KO**"
[ -e '/etc/shells' ] && echo "/etc/shells existe" || echo "**/etc/shells KO**"
upower --version 1>/dev/null 2>&1 || echo "**upower KO**"
uptime --version 1>/dev/null 2>&1 && uptime --version || echo "**uptime KO**"
xargs --version 1>/dev/null 2>&1 && xargs --version | head -n1 || echo "**xargs KO**"
2018-02-25 19:00:40 +01:00
# xorg, video
2018-04-19 20:10:57 +02:00
x-window-manager --version 1>/dev/null 2>&1 && echo "x-window-manager: "$( x-window-manager --version | head -n1 ) || echo "**x-window-manager KO**"
xset -version 1>/dev/null 2>&1 && xset -version || echo "**xset KO**"
xdpyinfo -version 1>/dev/null 2>&1 && xdpyinfo -version || echo "**xdpyinfo KO**"
command -v glxinfo >/dev/null && echo "glxinfo ok" || echo "**glxinfo KO**"
xdriinfo nscreens 1>/dev/null 2>&1 || echo "**xdriinfo KO**"
command -v xprop 1>/dev/null 2>&1 || echo "**xprop KO**"
2018-02-25 19:00:40 +01:00
# hardware
2018-04-19 20:10:57 +02:00
command -v acpi >/dev/null && acpi --version | head -n1 || echo "**acpi KO**"
printf "%s\n\n" '```'
2018-02-25 19:00:40 +01:00
2018-04-19 20:10:57 +02:00
###############################################################################################################
# cpuinfo
echo '## cpuinfo'
printf "%s\n" '```'
awk '{if ( $0 ~ /^$/ ) {exit} else {print}}' /proc/cpuinfo 2>/dev/null || echo "/proc/cpuinfo inexistant"
2018-04-08 23:49:31 +02:00
printf "%s\n\n" '```'
2018-02-25 19:00:40 +01:00
# upower
2018-04-08 23:49:31 +02:00
if upower --version 1>/dev/null 2>&1 ; then
2018-02-25 19:00:40 +01:00
echo "## upower"
2018-04-08 23:49:31 +02:00
printf "%s\n" '```'
2018-02-25 19:00:40 +01:00
upower --enumerate
upower --version || echo "upower KO"
2018-04-08 23:49:31 +02:00
printf "%s\n\n" '```'
2018-02-19 07:29:32 +01:00
fi
2018-02-23 17:21:29 +01:00
2018-02-25 19:00:40 +01:00
# xdriinfo Direct Rendering Interface?
2018-04-08 23:49:31 +02:00
if xdriinfo nscreens 1>/dev/null 2>&1 ; then
echo "## $( xdriinfo -version 2>/dev/null )"
2018-02-20 20:25:48 +01:00
echo '```'
2018-04-08 23:49:31 +02:00
echo "xdriinfo: $( xdriinfo 2>/dev/null )"
echo "xdriinfo nscreens: $( xdriinfo nscreens 2>/dev/null )"
echo "xdriinfo driver 0: $( xdriinfo driver 0 2>/dev/null )"
echo "xdriinfo options $(xdriinfo options 0 2>/dev/null): $( xdriinfo options "$(xdriinfo options 0 2>/dev/null)" 2>/dev/null )"
printf "%s\n\n" '```'
2018-02-20 20:25:48 +01:00
fi
2018-02-19 07:29:32 +01:00
2018-02-25 19:00:40 +01:00
# xprop
2018-04-19 20:10:57 +02:00
if command -v xprop >/dev/null 2>&1; then
2018-02-19 07:29:32 +01:00
# wm / compositor
id=$( xprop -root -notype _NET_SUPPORTING_WM_CHECK 2>/dev/null )
id=${id##* }
wm_brut=$( xprop -id "$id" -notype -len 100 2>/dev/null )
# wm annexe
2018-04-08 23:49:31 +02:00
xprop="$( xprop -root -notype -display "$DISPLAY" 2>/dev/null )"
2018-02-25 19:00:40 +01:00
echo "## xprop"
2018-04-08 23:49:31 +02:00
printf "%s\n" '```'
2018-02-25 19:00:40 +01:00
echo "### xprop -id :"
2018-02-19 07:29:32 +01:00
echo "$wm_brut"
echo
2018-03-03 23:49:45 +01:00
echo "### xprop -root -notype -display $DISPLAY :"
2018-02-19 07:29:32 +01:00
echo "$xprop"
2018-04-08 23:49:31 +02:00
printf "%s\n\n" '```'
2018-02-19 07:29:32 +01:00
fi
2018-02-25 19:00:40 +01:00
# /usr/share/xsessions
echo "## ls -l /usr/share/xsessions "
echo '```'
ls -l /usr/share/xsessions 2>/dev/null
2018-04-08 23:49:31 +02:00
printf "%s\n\n" '```'
2018-02-19 07:29:32 +01:00
# général, wm annexe
echo "## ps -ef"
echo '```'
ps -ef
2018-04-08 23:49:31 +02:00
printf "%s\n\n" '```'
2018-02-19 07:29:32 +01:00
# panel
2018-02-25 19:00:40 +01:00
echo "## ps -e"
2018-02-19 07:29:32 +01:00
echo '```'
ps -A
2018-04-08 23:49:31 +02:00
printf "%s\n\n" '```'
2018-02-19 07:29:32 +01:00
# env
echo "## env"
echo '```'
2018-03-03 23:49:45 +01:00
env | sort
2018-04-08 23:49:31 +02:00
printf "%s\n\n" '```'
2018-02-19 07:29:32 +01:00
2018-04-08 23:49:31 +02:00
if [ -z "$flag_lspci" ]; then
2018-04-08 18:40:38 +02:00
# lspci
echo "## lspci -nnk"
echo '```'
lspci -nnk
2018-04-08 23:49:31 +02:00
printf "%s\n\n" '```'
2018-04-08 18:40:38 +02:00
fi
2018-02-19 07:29:32 +01:00
exec 1>&3 # restauration
exec 3>&- # fermeture FD
if [ -z "$noexport" ]; then
2018-04-08 23:49:31 +02:00
printf "%s \n\n" "url du rapport:"
curl -s --upload-file "$output" "https://transfer.sh/$output"
2018-02-19 07:29:32 +01:00
echo
fi
2018-04-08 18:40:38 +02:00
echo "voir le rapport généré: pager $output" # output="$script.md"
2018-02-19 07:29:32 +01:00
echo "effacer le rapport généré: rm $output"
2018-02-20 20:25:48 +01:00
echo
2018-02-19 07:29:32 +01:00
exit 0
2018-02-23 17:21:29 +01:00
wget -nv -O debug_gi https://framagit.org/kyodev/kyopages/raw/master/scripts/tests/debug_gi
2018-02-19 07:29:32 +01:00
chmod +x debug_gi && ./debug_gi
2018-02-23 17:21:29 +01:00
curl -o debug_gi https://framagit.org/kyodev/kyopages/raw/master/scripts/tests/debug_gi