Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Retourner aux forums || Retourner au forum Astuces.divers

Astuces.divers : [X-Window] .xinitrc pour éviter qu'un crash de windowmanager ferme X

Posté par free2.org (page perso, ) le 05 juin 2003
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 !

> Lire le message (5 commentaires, moyenne: 1,6).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Re: .xinitrc pour éviter qu'un crash de windowmanager ferme X

Posté par blino () le 05/06/2003 à 11:31. (lien). Évalué à 3.

Avec cette méthode, un xterm est lancé quand icewm est fermé, quel que soit le code de retour de icewm, donc même quand icewm se termine avec succès.
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 (page perso, ) le 09/06/2003 à 06:08. (lien). Évalué à 1.

    en bash ca donne quoi?? ou en C+une interface X

    • [^]Re: .xinitrc pour éviter qu'un crash de windowmanager ferme X

      Posté par blino () le 10/06/2003 à 20:00. (lien). Évalué à 2.

      Voila ce que ça donne en bash, en utilisant Xdialog pour demander des infos à l'utilisateur par une interface graphique. dialog pourrait aussi être utilsé, les réponses étant alors demandées via une interface texte.

      #!/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 () le 03/05/2004 à 17:24. (lien). Évalué à 1.

faire (sleep 3 ; super stop) & logout

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 () le 03/05/2004 à 17:27. (lien). Évalué à 1.

    grrrr l'astuce à changé entre le post !! grrrr

    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)
    .....

Revenir en haut de page || Retourner aux forums || Retourner au forum Astuces.divers