kyopages/scripts/tests/debug_gi

159 lines
4.1 KiB
Plaintext
Raw Normal View History

2018-04-07 16:16:29 +02:00
#!/bin/sh
2018-02-19 07:29:32 +01:00
2018-04-08 18:40:38 +02:00
version=0.9.0
date="08/04/2018"
2018-02-19 07:29:32 +01:00
script=$(basename $0)
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-02-23 17:21:29 +01: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
fi
if ! type -p curl &>/dev/null; then
echo "Erreur critique: curl requis mais non installé"
if type -p "dpkg" &>/dev/null ; then
echo " apt install curl"
fi
echo
noexport="yes"
2018-02-19 07:29:32 +01:00
fi
if [[ "$1" == "--noexport" || "$1" == "-n" ]] ; then
noexport="yes"
fi
exec 3>&1 # sauvegarde
2018-03-03 23:49:45 +01:00
exec 1>"$output" # redirection stdout dans fichier
echo -e "$ligneRapport\n"
2018-02-19 07:29:32 +01:00
echo '```'
2018-02-25 19:00:40 +01:00
# système, portabilité
2018-02-23 17:21:29 +01:00
bash --version &>/dev/null && bash --version | head -n1 || echo "bash KO"
free --version &>/dev/null && free --version || echo "free KO"
uptime --version &>/dev/null && uptime --version || echo "uptime KO"
lsblk --version &>/dev/null && lsblk --version || echo "lsblk KO"
2018-02-25 19:00:40 +01:00
lspci --version &>/dev/null && lspci --version || echo "lspci KO"
2018-04-08 18:40:38 +02:00
if lspci -nnv &>/dev/null ; then echo "lspci -nnk ok"
else
echo "lspci -nnk KO"
flag_lspci="ko"
fi
2018-02-23 17:21:29 +01:00
journalctl --version &>/dev/null && journalctl --version || echo "journalctl KO"
2018-02-25 19:00:40 +01:00
xargs --version &>/dev/null && xargs --version | head -n1 || echo "xargs KO"
upower --version &>/dev/null || echo "upower KO"
[ -e '/etc/shells' ] && echo "/etc/shells existe" || echo "/etc/shells KO"
# xorg, video
x-window-manager --version &>/dev/null && x-window-manager --version | head -n1 || echo "x-window-manager KO"
2018-02-23 17:21:29 +01:00
xset -version &>/dev/null && xset -version || echo "xset KO"
xdpyinfo -version &>/dev/null && xdpyinfo -version || echo "xdpyinfo KO"
2018-02-25 19:00:40 +01:00
type -p glxinfo &>/dev/null && echo "glxinfo ok" || echo "glxinfo KO"
xdriinfo nscreens &>/dev/null || echo "xdriinfo KO"
type -p xprop &>/dev/null || echo "xprop KO"
# hardware
type -p acpi &>/dev/null && acpi --version | head -n1 || echo "acpi KO"
echo -e '```\n\n'
# upower
if upower --version &>/dev/null ; then
echo "## upower"
echo -e '```'
upower --enumerate
upower --version || echo "upower KO"
echo -e '```\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?
if xdriinfo nscreens &>/dev/null ; then
echo "## "$( xdriinfo -version 2>/dev/null )
2018-02-20 20:25:48 +01:00
echo '```'
2018-02-25 19:00:40 +01: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 )
2018-02-20 20:25:48 +01:00
echo -e '```\n'
fi
2018-02-19 07:29:32 +01:00
2018-02-25 19:00:40 +01:00
# xprop
2018-02-19 07:29:32 +01:00
if type -p xprop &>/dev/null; then
# 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-02-25 19:00:40 +01:00
xprop=$( xprop -root -notype -display $DISPLAY 2>/dev/null )
echo "## xprop"
2018-02-19 07:29:32 +01:00
echo -e '```'
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"
echo -e '```\n'
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
echo -e '```\n'
# cpuinfo
echo "## vendor id cpuinfo "
echo '```'
grep -m1 -A3 'vendor_id' /proc/cpuinfo
echo -e '```\n'
2018-02-19 07:29:32 +01:00
# général, wm annexe
echo "## ps -ef"
echo '```'
ps -ef
echo -e '```\n'
# panel
2018-02-25 19:00:40 +01:00
echo "## ps -e"
2018-02-19 07:29:32 +01:00
echo '```'
ps -A
echo -e '```\n'
# env
echo "## env"
echo '```'
2018-03-03 23:49:45 +01:00
env | sort
2018-02-19 07:29:32 +01:00
echo -e '```\n'
2018-04-08 18:40:38 +02:00
if [[ -z flag_lspci ]]; then
# lspci
echo "## lspci -nnk"
echo '```'
lspci -nnk
echo -e '```\n'
fi
2018-02-19 07:29:32 +01:00
exec 1>&3 # restauration
exec 3>&- # fermeture FD
if [ -z "$noexport" ]; then
echo -e "url du rapport:\n"
echo $( curl -s --upload-file $output https://transfer.sh/$output )
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