mirror of https://framagit.org/kyodev/kyopages.git
164 lines
4.5 KiB
Bash
Executable File
164 lines
4.5 KiB
Bash
Executable File
#!/bin/sh
|
|
# shellcheck disable=SC2016,SC2034
|
|
|
|
# SC2016 Expressions don't expand in single quotes
|
|
# SC2034 variable appears unused
|
|
|
|
version=1.1.1
|
|
date="08/04/2018"
|
|
script=$( basename "$0" )
|
|
output="$script.md"
|
|
ligneRapport="Rapport du $(date '+%d/%m/%Y %H:%M %z') ◇ $(uname -n) ◇ $0 $* ◇ $script $version"
|
|
|
|
echo
|
|
if [ "$1" = "--help" ] || [ "$1" = "-h" ] ; then
|
|
echo "$script [options]"
|
|
echo
|
|
echo " -h --help : cet affichage"
|
|
echo " -n --noexport : pas d'export sur un paste, juste rapport local ($script.md)"
|
|
echo
|
|
echo "curl requis"
|
|
echo
|
|
exit
|
|
fi
|
|
|
|
if ! command -v curl 1>/dev/null 2>&1 ; then
|
|
echo "Erreur critique: curl requis mais non installé"
|
|
if command -v "dpkg" 1>/dev/null 2>&1 ; then
|
|
echo "Installer avec: apt install curl"
|
|
fi
|
|
echo
|
|
noexport="yes"
|
|
fi
|
|
|
|
if [ "$1" = "--noexport" ] || [ "$1" = "-n" ] ; then
|
|
noexport="yes"
|
|
fi
|
|
|
|
exec 3>&1 # sauvegarde
|
|
exec 1>"$output" # redirection stdout dans fichier
|
|
printf "%s\n\n\n" "$ligneRapport"
|
|
echo '```'
|
|
|
|
# système, portabilité
|
|
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"
|
|
uptime --version 1>/dev/null 2>&1 && uptime --version || echo "uptime 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"
|
|
if lspci -nnv 1>/dev/null 2>&1 ; then echo "lspci -nnk ok"
|
|
else
|
|
echo "lspci -nnk KO"
|
|
flag_lspci="ko"
|
|
fi
|
|
journalctl --version 1>/dev/null 2>&1 && journalctl --version || echo "journalctl KO"
|
|
xargs --version 1>/dev/null 2>&1 && xargs --version | head -n1 || echo "xargs KO"
|
|
upower --version 1>/dev/null 2>&1 || echo "upower KO"
|
|
[ -e '/etc/shells' ] && echo "/etc/shells existe" || echo "/etc/shells KO"
|
|
|
|
# xorg, video
|
|
x-window-manager --version 1>/dev/null 2>&1 && 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 1>/dev/null 2>&1 && 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"
|
|
|
|
# hardware
|
|
command -v acpi 1>/dev/null 2>&1 && acpi --version | head -n1 || echo "acpi KO"
|
|
|
|
printf "%s\n\n" '```'
|
|
|
|
# upower
|
|
if upower --version 1>/dev/null 2>&1 ; then
|
|
echo "## upower"
|
|
printf "%s\n" '```'
|
|
upower --enumerate
|
|
upower --version || echo "upower KO"
|
|
printf "%s\n\n" '```'
|
|
fi
|
|
|
|
# xdriinfo Direct Rendering Interface?
|
|
if xdriinfo nscreens 1>/dev/null 2>&1 ; then
|
|
echo "## $( xdriinfo -version 2>/dev/null )"
|
|
echo '```'
|
|
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" '```'
|
|
fi
|
|
|
|
# xprop
|
|
if command -v xprop 1>/dev/null 2>&1; 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
|
|
xprop="$( xprop -root -notype -display "$DISPLAY" 2>/dev/null )"
|
|
echo "## xprop"
|
|
printf "%s\n" '```'
|
|
echo "### xprop -id :"
|
|
echo "$wm_brut"
|
|
echo
|
|
echo "### xprop -root -notype -display $DISPLAY :"
|
|
echo "$xprop"
|
|
printf "%s\n\n" '```'
|
|
fi
|
|
|
|
# /usr/share/xsessions
|
|
echo "## ls -l /usr/share/xsessions "
|
|
echo '```'
|
|
ls -l /usr/share/xsessions 2>/dev/null
|
|
printf "%s\n\n" '```'
|
|
# cpuinfo
|
|
echo "## vendor id cpuinfo "
|
|
echo '```'
|
|
grep -m1 -A3 'vendor_id' /proc/cpuinfo
|
|
printf "%s\n\n" '```'
|
|
|
|
# général, wm annexe
|
|
echo "## ps -ef"
|
|
echo '```'
|
|
ps -ef
|
|
printf "%s\n\n" '```'
|
|
# panel
|
|
echo "## ps -e"
|
|
echo '```'
|
|
ps -A
|
|
printf "%s\n\n" '```'
|
|
# env
|
|
echo "## env"
|
|
echo '```'
|
|
env | sort
|
|
printf "%s\n\n" '```'
|
|
|
|
if [ -z "$flag_lspci" ]; then
|
|
# lspci
|
|
echo "## lspci -nnk"
|
|
echo '```'
|
|
lspci -nnk
|
|
printf "%s\n\n" '```'
|
|
fi
|
|
|
|
exec 1>&3 # restauration
|
|
exec 3>&- # fermeture FD
|
|
|
|
if [ -z "$noexport" ]; then
|
|
printf "%s \n\n" "url du rapport:"
|
|
curl -s --upload-file "$output" "https://transfer.sh/$output"
|
|
echo
|
|
fi
|
|
|
|
echo "voir le rapport généré: pager $output" # output="$script.md"
|
|
echo "effacer le rapport généré: rm $output"
|
|
echo
|
|
|
|
exit 0
|
|
|
|
wget -nv -O debug_gi https://framagit.org/kyodev/kyopages/raw/master/scripts/tests/debug_gi
|
|
chmod +x debug_gi && ./debug_gi
|
|
|
|
curl -o debug_gi https://framagit.org/kyodev/kyopages/raw/master/scripts/tests/debug_gi
|