#!/bin/sh # shellcheck disable=SC2016 version=1.0.0 # 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 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 " 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