j'ai compilé le script rebbot-system, celui qui est fait par pabix (il me semble) c'est le script avec une interface graphique qui reset la selection windows apres chaque reboot et qui remet le systeme par defaut en boot... C'est pas tres claire désolé
Car en fait a part en le compilant je ne sais pas comment m'en servir
Voici le script que j'ai copié/collé :
#!/bin/bash
# coding: utf-8
# variables
grubMenu=/boot/grub/menu.lst
titleCorrect="Corriger le menu.lst"
textCorrect1="Votre fichier menu.lst est configuré avec"
textCorrect2="Avec cette option, vous ne pourrez utiliser les fonctionnalités de choix du système à redémarrer. Souhaitez-vous que ce script modifie votre fichier menu.lst afin d'activer cette fonctionnalité ? L’ancien fichier sera sauvegardé sous"
titleSelect="Choisir le système"
textSelect="Système a démarrer automatiquement"
widthSelect=400
heightSelect=300
titleReboot="Redémarrer maintenant ?"
textReboot1="Au prochain redémarrage, l’entrée"
textReboot2="sera l’option par défaut. Souhaitez-vous redémarrer immédiatement ?"
textCancel="Opération annulée"
textError="Opération annulée (erreur)"
optionQuiet=0
optionCorrect=0
sudoprog=""
leSudo="sudo"
function usage () {
cat << EOF
Usage : $0 [options] [numero]
Options :
-h Affiche cette aide et quitte
-q Ne demande pas avant de rebooter
-s prog Demande une authentification via le programme ’prog’ (sudo ou gksudo)
-a Ne demande pas avant de corriger menu.lst
Si 'numero' est défini, utilisera ce choix sans faire apparaître la
fenêtre de choix du systême
Note: si vous n'utilisez pas -s, il vous incombe de
lancer ce script avec les droits de superutilisateur
EOF
}
# traitement des options de la ligne de commande
while getopts "qas:h" options; do
case $options in
q)
optionQuiet=1
;;
a)
optionCorrect=1
;;
s)
case $OPTARG in
"sudo" | "gksudo")
sudoprog=$OPTARG
;;
*)
echo Non valide
exit 1
;;
esac
resultat=$($sudoprog echo 1)
if [ "$resultat" != "1" ]; then
echo "$textError : Identification échouée"
exit 1
fi
;;
"h" | *)
call usage
exit 0
;;
esac
done
# vérification
grubDefault=`grep '^default[[:space:]]\+' $grubMenu | sed 's/^default\s\+//'`
if [ "$grubDefault" != "saved" ]; then
# on n'a pas trouvé la présence de "default", on demande à corriger le fichier automatiquement
doCorrect=$optionCorrect
if [ $doCorrect -eq 0 ]; then
zenity --question --title "$titleCorrect" --text "$textCorrect1 'default $grubDefault'. $textCorrect2 '$grubMenu.bak'"
if [ $? -eq 0 ]; then
doCorrect=1
fi
fi
if [ $doCorrect -eq 1 ]; then
# copie de sauvegarde
cp $grubMenu $grubMenu.bak
if [ ! -e "$grubMenu.bak" ]; then
zenity --error --text "$textError : impossible de sauvegarder $grubMenu"
exit 1
fi
tmp1=`tempfile`
tmp2=`tempfile`
cp $grubMenu $tmp1
# modification de l'entrée "default X" en "default saved"
# permet de modifier le default dynamiquement
sed 's/^default\s\+.*$/# \0\ndefault\tsaved/' $tmp1 > $tmp2
cp $tmp2 $tmp1
# ajout d'une entrée "savedefault X" après chaque entrée "title" (les autres entrées "savedefault" arrivant après, il n'y a pas de conflit engendré par cette modif)
# permet de récupérer l'entrée par défaut habituelle après chaque reboot.
sed "s/^title.*\$/\\0\\nsavedefault\t$grubDefault/" $tmp1 > $tmp2
cp $tmp2 $grubMenu
else
zenity --info --text "$textCancel"
exit 1
fi
fi
# sélection de l'os à redémarrer
if [ "`echo \" $*\" | grep ' [0-9]$'`" ]; then
# l'option <numero> est spécifiée
numeroChoix=`echo "$*" | sed 's/^.*\([0-9]\+\)$/\1/'`
else
choixEntree=$(awk -v i=0 '/^title[\s\t]*(.*)$/ { print i++" "$2,$3,$4,$5,$6,$7,$8,$9 }' $grubMenu | zenity --list --title "$titleSelect" --text "$textSelect" --column "Boot" --width $widthSelect --height $heightSelect)
numeroChoix=`echo $choixEntree | sed 's/^\([0-9]\+\).*$/\1/'`
nomChoix=`echo $choixEntree | sed 's/^[0-9]\+ //'`
fi
# actions en fonction de la sélection
if [ "$numeroChoix" = "" ]; then
# aucun choix, ou annulation
zenity --info --text "$textCancel"
else
# application du choix
$sudoprog grub-set-default $numeroChoix
if [ $? -eq 0 ]; then
# application ok, affichage d'une question pour rebooter immédiatement ou non
doReboot=$optionQuiet
if [ $doReboot -eq 0 ]; then
zenity --question --title "$titleReboot" --text "$textReboot1 \"$nomChoix\" $textReboot2"
if [ $? -eq 0 ]; then
doReboot=1
fi
fi
if [ $doReboot -eq 1 ]; then
$leSudo reboot
fi
else
zenity --error --text "$textError"
exit 1
fi
fi
Peut etre que vous pourriez m'en dire plus ^^