il peut arrivever que votre WM crashe, et souvent cela ferme votre X (ce qui est parfois interprété à tort comme un crash de X)
une solution est de modifier les fichiers .xinitrc et .xsession de votre répertoire ~
voilà les 2 lignes que vous pouvez mettre dans chacun de ces fichiers:
icewm
xterm
remplacez icewm par votre wm préféré (ou par kde ou gnome)
si icewm plante (ce qui n'arrive presque jamais...), alors la ligne suivante est exécuté: un xterm est lancé, vous pouvez l'utiliser pour relancer votre WM ou pour sauvegarder vos fichiers ouverts.
attention, la fermeture de ce xterm entrainera pour de bon la fermeture de votre session X !
# Re: .xinitrc pour éviter qu'un crash de windowmanager ferme X
Posté par blino . Évalué à 3.
Il serait préférable d'utiliser :
icewm || xterm
Le xterm est alors exécuté seulement quand icewm échoue.
Il est possible d'utiliser un WM de secours à la place d'un xterm, comme twm par exemple :)
icewm || twm
ou encore
icewm || fluxbox || blackbox || twm || xterm
Ce serait peut être aussi bien de relancer icewm tant qu'il crashe, ou alors proposer de lancer un autre gestionnaire de fenêtres, avec quelque chose du genre :
wm = icewm
resultat = faux
tant que resultat == faux
____resultat = `wm`
____si resultat == faux
________demander si on veut relancer le wm actuel ou modifier le wm utilisé
________si l'utilisateur veut abandonner
____________resultat = vrai
________fin si
________si le wm est changé
____________mettre à jour la variable wm
________fin si
____fin si
fin tant que
[^] # Re: .xinitrc pour éviter qu'un crash de windowmanager ferme X
Posté par Ph Husson (site web personnel) . Évalué à 1.
[^] # Re: .xinitrc pour éviter qu'un crash de windowmanager ferme X
Posté par blino . Évalué à 2.
#!/bin/sh
dialog="Xdialog"
wm="fluxbox"
continuer=0 # vrai
while (( ! $continuer ))
do
__$wm
__continuer=$[! $?] # negation du resultat du wm
__if (( ! $continuer ))
____then
____reponse=`$dialog --title 'Le gestionnaire de fenêtres a été interrompu !' --inputbox 'Quel gestionnaire de fenêtres voulez-vous relancer ?' 10 50 $wm 2>&1`
____if (( ! $? ))
______then
______wm=$reponse
______else
______continuer=1 # faux, l'utilisateur abandonne
____fi
__fi
done
PS: sed par exemple peut transformer ces __ de formatage en espaces: sed 's|__| |g'
# on peut aussi
Posté par acabiran . Évalué à 1.
avec "shutdown -h now" comme commande stop avec super
pas de délai pour shutdown parce que ce qu'on veut c'est arrêter la machine
un sleep de 2 à 5s pour laisser au biniou le temps de délogger proprement
malheureusement ça ne marche qu'en mode console.
une idée pour fermer automatiquement et proprement la session X avant de déloguer ? j'ai pas trouvé comment attacher le processus au shell de log...
Alain
[^] # Re: on peut aussi
Posté par acabiran . Évalué à 1.
désolé du dérangement
c'était pour l'arrêt de la machine et pas pour while true; do run-window-manager ; done (déjà vu)
.....
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.