Sophie

Sophie

distrib > * > 2010.0 > * > by-pkgid > a412ceb851151854794ced2a242192bb > files > 2069

howto-html-fr-20080722-1mdv2010.0.noarch.rpm

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>6. Quand de mauvaises choses arrivent à de bonnes gens</title>
<link rel="stylesheet" href="style.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.64.1">
<link rel="home" href="index.html" title="Guide pratique du jeu sous Linux">
<link rel="up" href="index.html" title="Guide pratique du jeu sous Linux">
<link rel="previous" href="ar01s05.html" title="5. Divers">
<link rel="next" href="ar01s07.html" title="7. Cartes vidéo">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="navheader">
<table width="100%" summary="Navigation header">
<tr><th colspan="3" align="center">6. Quand de mauvaises choses arrivent à de bonnes gens</th></tr>
<tr>
<td width="20%" align="left">
<a accesskey="p" href="ar01s05.html">Précédent</a> </td>
<th width="60%" align="center"> </th>
<td width="20%" align="right"> <a accesskey="n" href="ar01s07.html">Suivant</a>
</td>
</tr>
</table>
<hr>
</div>
<div class="sect1" lang="fr">
<div class="titlepage">
<div><div><h2 class="title" style="clear: both">
<a name="id2515618"></a>6. Quand de mauvaises choses arrivent à de bonnes gens</h2></div></div>
<div></div>
</div>
<p>Bien sûr, il n'est pas possible de recouvrir tous les types de
    problèmes, mais je vais souligner certains points de bon sens.</p>
<p>Il y a deux types de problèmes : les aléatoires et les
    reproductibles. Il est difficile de diagnostiquer ou de corriger des
    problèmes aléatoires sur lesquels vous n'avez par définition aucun
    contrôle. Néanmoins, si le problème est reproductible (ex :
    « <span class="quote">cela se produit quand j'appuie deux fois sur la flèche
    gauche</span> »), alors vous pouvez agir.</p>
<div class="sect2" lang="fr">
<div class="titlepage">
<div><div><h3 class="title">
<a name="id2515646"></a>6.1. RTFM !</h3></div></div>
<div></div>
</div>
<p>Relis ton fameux manuel. Le
      « <span class="quote">manuel</span> » peut revêtir plusieurs formes.
      Pour les jeux <span class="foreignphrase"><i class="foreignphrase">open source</i></span>, on
      peut trouver les fichiers <tt class="filename">readme</tt>
      (« <span class="quote">lisez-moi</span> »). Les jeux commerciaux sont
      accompagnés d'un manuel imprimé et éventuellement de quelques
      fichiers <tt class="filename">readme</tt> sur le CD. N'oubliez pas
      d'explorer le CD de votre jeu pour obtenir des astuces et des
      conseils utiles.</p>
<p>N'oubliez pas le site web du jeu. Son auteur a
      probablement déjà eu affaire à maintes reprises à des personnes
      ayant exactement le même problème que vous, et il pourrait avoir
      placé des informations spécifiques à ce jeu sur son site web. Un
      bon exemple : les FAQ en ligne de Loki Software situées sur
      <a href="http://faqs.lokigames.com" target="_top">http://faqs.lokigames.com</a>.</p>
</div>
<div class="sect2" lang="fr">
<div class="titlepage">
<div><div><h3 class="title">
<a name="id2515693"></a>6.2. Recherchez des mises à jour et des correctifs</h3></div></div>
<div></div>
</div>
<p>Si vous jouez à un jeu <span class="foreignphrase"><i class="foreignphrase">open
      source</i></span> que vous avez compilé, assurez-vous de
      disposer de la version la plus récente en visitant le site web du
      jeu. Si votre jeu fait partie d'une distribution, assurez-vous qu'il
      n'y ait pas de paquet rpm/deb plus à jour pour le jeu.</p>
<p>Les sociétés produisant des jeux commerciaux comme Loki
      publient des correctifs pour leurs jeux (souvent nombreux, p.ex.
      pour
      <span class="productname"><span class="foreignphrase"><i class="foreignphrase">Myth2</i></span></span>™),
      et certains sont même injouables en leur absence
      (<span class="productname"><span class="foreignphrase"><i class="foreignphrase">Heretic2</i></span></span>™).
      Recherchez des correctifs sur le site web du jeu que vous ayez
      un problème avec le jeu ou pas ; il peut y avoir une mise à
      jour pour un problème de sécurité dont vous pourriez ne pas
      avoir eu connaissance.</p>
<p>À propos, Loki propose maintenant un utilitaire qui recherche
      les logiciels Loki sur votre disque dur et les met à jour
      automatiquement. Consultez <a href="http://updates.lokigames.com" target="_top">http://updates.lokigames.com</a>.</p>
</div>
<div class="sect2" lang="fr">
<div class="titlepage">
<div><div><h3 class="title">
<a name="id2515773"></a>6.3. Groupes de discussion</h3></div></div>
<div></div>
</div>
<p>Si vous ne savez pas ce que sont les News (Usenet), alors ça
      vaut la peine de prendre 30 minutes pour vous y frotter. Installez un
      lecteur de News. Je préfère les outils en console, et j'utilise donc
      <span class="application">tin</span>, mais <span class="application">slrn</span>
      est également populaire. Netscape propose également un chouette
      lecteur de News graphique piloté à la souris.</p>
<p>Par exemple, je peux me promener sur le serveur de News de Loki
      Software avec <b class="userinput"><tt>tin -g news.lokigames.com</tt></b>. Vous
      pouvez également spécifier quel serveur de News utiliser grâce à la
      variable d'environnement <tt class="envar">$NNTP</tt> ou le fichier
      <tt class="filename">/etc/nntpserver</tt>.</p>
</div>
<div class="sect2" lang="fr">
<div class="titlepage">
<div><div><h3 class="title">
<a name="id2515830"></a>6.4. Recherche sur Google Groupes</h3></div></div>
<div></div>
</div>
<p>Chaque soumission faite sur Usenet est archivée dans la base de
      données de Google sur <a href="http://groups.google.fr" target="_top">http://groups.google.fr</a>.
      Cette archive était située sur <a href="http://www.deja.com" target="_top">http://www.deja.com</a>, mais a été rachetée par Google.
      Beaucoup de personnes parlent toujours de
      « <span class="quote">deja</span> ».</p>
<p>Il est presque sûr que quel que soit le problème que vous
      avez avec Linux, qu'il ait ou pas un rapport avec le jeu, il a
      déjà été reporté et solutionné sur Usenet, pas une, pas deux,
      mais de nombreuses fois. Si vous ne comprenez pas la première
      réponse que vous voyez (ou si elle ne fonctionne pas), essayez
      l'une des suivantes. Si la page n'est pas dans une langue que
      vous comprenez, il existe des tas de sites de traduction qui
      convertiront le texte dans la langue que vous préférez, comme
      <a href="http://www.freetranslation.com" target="_top">http://www.freetranslation.com</a> et <a href="http://translation.lycos.com" target="_top">http://translation.lycos.com</a>. Mon navigateur web
      préféré,
      <span class="productname"><span class="foreignphrase"><i class="foreignphrase">Opera</i></span></span>™
      (disponible sur <a href="http://www.opera.com" target="_top">http://www.opera.com</a>) vous
      permet d'utiliser le bouton droit de la souris pour sélectionner
      un extrait de texte, et de cliquer avec le bouton gauche sur la
      sélection pour le traduire. Très utile quand une recherche sur
      Google Groupes renvoie une page en allemand qui semble utile et
      que ma petite amie (qui lit bien l'allemand) n'est pas
      disponible.</p>
<p>La recherche sur Google Groupes propose une page de recherche
      élémentaire et avancée. Ne perdez pas de temps avec la recherche
      simple. La recherche avancée est située sur <a href="http://groups.google.com/advanced_group_search" target="_top">http://groups.google.com/advanced_group_search</a>.</p>
<p>C'est facile à utiliser. Par exemple, si mon problème est que
      <span class="productname"><span class="foreignphrase"><i class="foreignphrase">Quake III</i></span></span>™
      plante à chaque fois que Lucy saute, j'entre « <span class="quote">linux
      quake3 crash lucy saute</span> » dans la boîte de texte
      « <span class="quote">Retrouver les messages avec tous les mots
      suivants</span> ».</p>
<p>Certains champs permettent de limiter la portée de votre
      recherche à un groupe de discussion. Prenez le temps de lire et de
      comprendre la signification de chaque champ. Je vous le
      promets : ce service ne vous décevra pas. Utilisez-le, et vous
      serez quelqu'un de beaucoup plus heureux. Notez bien que les groupes
      de discussion privés ne sont pas archivés, comme le serveur de News
      de Loki Software. Néanmoins, vu que beaucoup de personnes utilisent
      Usenet, cela n'a généralement que peu d'importance.</p>
</div>
<div class="sect2" lang="fr">
<div class="titlepage">
<div><div><h3 class="title">
<a name="id2515950"></a>6.5. Débogage : traces d'appel et fichiers core</h3></div></div>
<div></div>
</div>
<p>Ce n'est généralement pas quelque chose que vous ferez pour les
      jeux commerciaux. Pour les jeux <span class="foreignphrase"><i class="foreignphrase">open
      source</i></span>, vous pouvez aider l'auteur en lui fournissant
      un fichier core ou une trace de la pile. En bref, un fichier core
      (dit « <span class="quote">core dump</span> ») est un fichier qui conserve
      l'état du programme au moment où il s'est crashé. Il contient des
      indices précieux pour le programmeur relatifs à la nature du
      crash : ce qui l'a causé et ce que le programme faisait quand il
      s'est produit. Si vous voulez en savoir plus sur les fichiers core,
      j'ai un super tutoriel <span class="application">gdb</span> disponible sur
      <a href="http://www.dirac.org/linux" target="_top">http://www.dirac.org/linux</a>.</p>
<p>En <span class="emphasis"><em>dernier</em></span> recours, l'auteur sera
      intéressé par la pile d'appels au moment du plantage du jeu. Voici
      comment procéder :</p>
<p>Il arrive que les distributions configurent leur système
      d'exploitation en sorte que les fichiers core (qui sont
      principalement utiles aux programmeurs) ne sont pas générés. La
      première étape est d'autoriser votre système à générer des fichiers
      core de taille illimitée :</p>
<pre class="screen">
    ulimit -c unlimited
      </pre>
<p>Vous devrez maintenant recompiler le programme et passer
      l'option <tt class="option">-g</tt> à <span class="application">gcc</span>
      (l'explication dépasse la portée de ce document). À présent,
      exécutez le jeu et répétez ce qui a fait planter le programme pour
      générer à nouveau un fichier core. Exécutez le débogueur avec le
      fichier core comme second argument :</p>
<pre class="screen">
    $ gdb ExécutableJeuChouette core
      </pre>
<p>À l'invite, tapez <b class="userinput"><tt>backtrace</tt></b>. Vous verrez
      quelque chose comme : </p>
<pre class="screen">
    #0 printf (format=0x80484a4 "z is %d.\n") at printf.c:30
    #1 0x8048431 in display (z=5) at try1.c:11
    #2 0x8048406 in main () at try1.c:6
      </pre>
<p>Cela peut être assez long, mais utilisez votre souris pour
      copier et coller ces informations dans un fichier. Envoyez-le par
      courriel à l'auteur et indiquez-lui :</p>
<div class="orderedlist"><ol type="1">
<li><p>le nom du jeu</p></li>
<li><p>le message d'erreur qui est apparu à l'écran quand
        le jeu a planté.</p></li>
<li><p>ce qui a provoqué le plantage et s'il est
        reproductible ou non.</p></li>
<li><p>la pile d'appels</p></li>
</ol></div>
<p>Si vous avez une bonne bande passante, demandez à l'auteur s'il
      souhaite le fichier core généré par son programme. S'il est d'accord,
      envoyez-le lui. N'oubliez pas de lui demander au préalable, car les
      fichiers core peuvent être très, très gros.</p>
</div>
<div class="sect2" lang="fr">
<div class="titlepage">
<div><div><h3 class="title">
<a name="savedgames"></a>6.6. Parties sauvegardées</h3></div></div>
<div></div>
</div>
<p>Si votre jeu permet de sauvegarder des parties, alors
      l'envoi à l'auteur d'une copie de la partie sauvegardée est
      utile car cela lui permet de reproduire le dysfonctionnement.
      Pour les jeux commerciaux, cette possibilité est plus fructueuse
      que d'envoyer un fichier core ou une pile d'appels car les jeux
      commerciaux ne peuvent être recompilés de sorte à inclure des
      informations de débogage. Vous devriez impérativement demander
      avant d'envoyer une partie sauvegardée car ils ont tendance à
      être gros, mais une société comme Loki Software dispose de
      beaucoup de bande passante. <span class="firstname">Mike</span> <span class="surname">
      Phillips</span> (un ancien de Loki Software)
      indique que l'envoi de sauvegardes de jeux à Loki est
      définitivement une bonne chose.</p>
<p>Évidemment, cela ne s'applique que si votre jeu plante de façon
      reproductible dans certaines circonstances. Si le jeu vous donne une
      erreur de segmentation (<span class="foreignphrase"><i class="foreignphrase">segmentation
      fault</i></span>) à chaque fois que vous l'exécutez, ou est
      incroyablement lent, une sauvegarde de jeu n'aura que peu
      d'utilité.</p>
</div>
<div class="sect2" lang="fr">
<div class="titlepage">
<div><div><h3 class="title">
<a name="id2516187"></a>6.7. Que faire quand on ne trouve pas un fichier ou une
    bibliothèque (ou se faciliter la vie avec
    <span><b class="command">strace</b></span>)</h3></div></div>
<div></div>
</div>
<p>Parfois, vous verrez des messages d'erreur indiquant qu'un
      fichier n'a pu être trouvé. Le fichier pourrait être une
      bibliothèque :</p>
<pre class="screen">
    % ./exult 
    ./exult: error while loading shared libraries: libSDL-1.2.so.0: cannot load shared object
    file: No such file or directory
      </pre>
<p>ou un fichier de données, comme un fichier <tt class="filename">wad</tt> ou <tt class="filename">map</tt> :</p>
<pre class="screen">
    % qf-client-sdl  
    IP address 192.168.0.2:27001 UDP Initialized Error: W_LoadWadFile: couldn't load gfx.wad
      </pre>
<p>Supposez que <tt class="filename">gfx.wad</tt> est déjà sur mon
      système, mais qu'il ne peut être trouvé étant donné qu'il n'est pas
      dans le bon répertoire. Mais alors, où est le bon répertoire ?
      Ne serait-il pas utile de savoir où ces programmes recherchent les
      fichiers manquants ?</p>
<p>C'est ici que <span><b class="command">strace</b></span> brille. Il vous indique
      quels appels système sont effectués, avec quels arguments, et quelles
      sont les valeurs de retour. Dans mon « <span class="quote">Guide de
      programmation de modules noyau</span> » (à paraître bientôt sur
      le LDP), je souligne tout ce que vous devez savoir sur
      <span><b class="command">strace</b></span>. Mais voici les grandes lignes :
      saisissez la commande</p>
<pre class="screen">
    strace -o ./LS_LOG /bin/ls
      </pre>
<p>L'option <tt class="option">-o</tt> envoie la sortie de
      <span><b class="command">strace</b></span> dans un fichier, ici LS_LOG. Le dernier
      argument de <span><b class="command">strace</b></span> est le programme à surveiller,
      ici <span><b class="command">ls</b></span>. Regardez le contenu de
      <tt class="filename">LS_LOG</tt>. Assez impressionnant, n'est-ce
      pas ? Voici une ligne typique :</p>
<pre class="screen">
    open(".", O_RDONLY|O_NONBLOCK|0x18000)  = 4
      </pre>
<p>Nous avons utilisé l'appel système <tt class="function">open()</tt>
      pour ouvrir « <span class="quote"><tt class="filename">.</tt></span> » avec divers arguments, et
      la valeur de retour de l'appel est <span class="returnvalue">4</span>. Quel
      est le rapport avec les fichiers non trouvés ?</p>
<p>Supposez que je veuille regarder la démo de
      <span class="productname"><span class="foreignphrase"><i class="foreignphrase">StateOfMind</i></span></span>™
      car je ne m'en lasse pas. Un jour, j'essaie de l'exécuter et quelque
      chose se passe mal :</p>
<pre class="screen">
% ./mind.i86_linux.glibc2.1 
Loading &amp; massaging...
Error:Can't open data file 'mind.dat'.
</pre>
<p>Utilisons <span><b class="command">strace</b></span> pour détecter l'endroit où
      le programme recherchait le fichier de données.</p>
<pre class="screen">
    strace ./mind.i86_linux.glibc2.1 2&gt; ./StateOfMind_LOG
      </pre>
<p>Lançant <span class="application">vim</span> et recherchant toutes
      les occurrences de <tt class="filename">mind.dat</tt>, je trouve les
      lignes suivantes :</p>
<pre class="screen">
    open("/usr/share/mind.dat",O_RDONLY) = -1 ENOENT (No such file)
    write(2, "Error:", 6Error:)   = 6
    write(2, "Can\'t open data file \'mind.dat\'."..., ) = 33
      </pre>
<p>Je ne recherchais <tt class="filename">mind.dat</tt> que dans
      un seul répertoire. Il apparaît clairement que
      <tt class="filename">mind.dat</tt> n'est pas dans <tt class="filename">/usr/share</tt>. Nous pouvons maintenant
      essayer de localiser <tt class="filename">mind.dat</tt> et de le
      déplacer dans <tt class="filename">/usr/share</tt>
      ou, mieux, créer un lien symbolique.</p>
<p>Cette méthode fonctionne également pour les bibliothèques.
      Supposez que la bibliothèque <tt class="filename">libmp3.so.2</tt> est située dans <tt class="filename">/usr/local/include</tt> mais que votre
      nouveau jeu
      <span class="productname"><span class="foreignphrase"><i class="foreignphrase">Kill-Metallica</i></span></span>™
      ne le trouve pas. Vous pouvez utiliser <span><b class="command">strace</b></span> pour
      déterminer où
      <span class="productname"><span class="foreignphrase"><i class="foreignphrase">Kill-Metallica</i></span></span>™
      doit rechercher la bibliothèque et créer un lien symbolique de
      <tt class="filename">/usr/local/include/libmp3.so.2</tt>
      vers l'endroit où
      <span class="productname"><span class="foreignphrase"><i class="foreignphrase">Kill-Metallica</i></span></span>™
      recherchait le fichier de bibliothèque.</p>
<p><span><b class="command">strace</b></span> est un utilitaire très puissant.
      Quand vous essayez de savoir pourquoi quelque chose n'est pas trouvé,
      il est votre meilleur allié, et est même plus rapide que la
      consultation du code source. De plus, vous ne pouvez pas rechercher
      d'informations dans le code source des jeux commerciaux de Lokisoft
      ou Tribsoft. Mais vous pouvez toujours utiliser
      <span><b class="command">strace</b></span> !</p>
</div>
<div class="sect2" lang="fr">
<div class="titlepage">
<div><div><h3 class="title">
<a name="hosedconsoles"></a>6.8. Consoles corrompues</h3></div></div>
<div></div>
</div>
<p>Parfois, un jeu se termine anormalement et votre console
      se retrouve alors dans un état bizarroïde : le texte à
      l'écran est du charabia, votre bel écran noir habituel ressemble
      à un écran semi-graphique, et cætera. Quand vous tapez sur
      <span><b class="keycap">Entrée</b></span>, un retour à la ligne n'est pas
      reproduit à l'écran. Parfois, certaines touches du clavier ne
      répondent pas. La déconnexion suivie d'une reconnexion ne marche
      pas toujours, mais il y a d'autres possibilités :</p>
<div class="itemizedlist"><ul type="disc">
<li><p>Si aucun des caractères que vous tapez
        n'apparaît à l'écran, les réglages de votre terminal peuvent
        être incorrects. Essayez
        « <span class="quote">stty echo</span> ». Cela devrait
        rétablir l'écho des caractères.</p></li>
<li><p>À l'invite, tapez <b class="userinput"><tt>reset</tt></b>.
        Cela devrait éliminer beaucoup de problèmes, y compris les consoles
        corrompues par un jeu basé sur SVGAlib ou
        ncurses.</p></li>
<li><p>Essayez de ré-exécuter le même jeu normalement. Une
        fois, j'ai dû tuer <span class="productname"><span class="foreignphrase"><i class="foreignphrase">Quake
        III</i></span></span>™ en toute hâte, et j'ai donc
        effectué un <span><b class="keycap">ctrl</b></span>+<span><b class="keycap">alt</b></span>+<span><b class="keycap">backspace</b></span>. La
        console était corrompue et présentait un écran quasi-graphique.
        Exécuter <span class="productname"><span class="foreignphrase"><i class="foreignphrase">Quake
        III</i></span></span>™ et le quitter normalement a
        corrigé le problème.</p></li>
<li><p>Les commandes <span><b class="command">deallocvt</b></span> et
        <span><b class="command">openvt</b></span> fonctionneront pour la plupart des autres
        problèmes. <span><b class="command">deallocvt <i class="parameter"><tt>N</tt></i></b></span>
        tue entièrement le terminal <tt class="literal">N</tt>, de sorte que
        <tt class="literal">Alt-FN</tt> ne fonctionne plus du tout.
        <span><b class="command">openvt <tt class="option">-c
        <i class="parameter"><tt>N</tt></i></tt></b></span> ou <b class="userinput"><tt>openvt
        <tt class="option">-c <i class="parameter"><tt>N</tt></i></tt></tt></b> le
        redémarre.</p></li>
<li><p>Si certaines touches de votre clavier ne
        fonctionnent pas, faites preuve de créativité. Si vous voulez
        redémarrer mais que la touche <span><b class="keycap">o</b></span> ne fonctionne
        pas, essayez d'employer <span><b class="command">halt</b></span>. Une méthode
        que j'ai expérimentée est de taper une commande à l'invite et
        d'utiliser des caractères à l'écran en utilisant le
        copier-coller avec la souris. Par exemple, vous pouvez taper
        <b class="userinput"><tt>ps ax</tt></b>, et vous êtes sûr(e) d'avoir un
        <span><b class="keycap">h</b></span>, <span><b class="keycap">a</b></span>, <span><b class="keycap">l</b></span> et
        un <span><b class="keycap">t</b></span> quelque part à l'écran. Vous pouvez
        utiliser la souris pour copier et coller le mot
        « <span class="quote">halt</span> ».</p></li>
<li><p>L'option la plus regrettable est le
        redémarrage. Si c'est possible, un arrêt ordonné est
        préférable ; utilisez <span><b class="command">halt</b></span> ou
        <span><b class="command">shutdown</b></span>. Sinon, utilisez
        <span><b class="command">ssh</b></span> depuis une autre machine. Cela
        fonctionne parfois quand votre console présente d'importants
        dysfonctionnements. Dans le pire des cas, appuyez sur le
        bouton Reset ou Power (réinitialisation ou arrêt de
        l'alimentation).</p></li>
</ul></div>
<p>Notez que si vous utilisez un système de fichiers
      journalisé comme ext3, reiserfs ou xfs, l'appui sur le bouton
      Power n'est pas aussi néfaste que cela. Vous êtes toujours
      supposé arrêter la machine d'une façon ordonnée, mais
      l'intégrité du système de fichiers sera préservée. Vous ne
      verrez normalement pas de <span><b class="command">fsck</b></span> pour les
      partitions qui utilisent le système de fichiers
      journalisé.</p>
</div>
<div class="sect2" lang="fr">
<div class="titlepage">
<div><div><h3 class="title">
<a name="id2516876"></a>6.9. Système bloqué</h3></div></div>
<div></div>
</div>
<p>Quand un ordinateur se bloque, le clavier et la souris ne
      répondent plus du tout. C'est une conséquence directe d'un bogue
      dans le noyau Linux. Bien que Linux soit réputé pour sa
      stabilité, de telles choses peuvent arriver, en particulier avec
      les jeux qui occasionnent des événements matériels extrêmement
      synchronisés se produisant très rapidement, même pour un
      ordinateur. Quand un ordinateur se bloque, cela peut être un
      « <span class="quote">blocage total</span> », signifiant que le noyau
      a complètement cessé de fonctionner. Cela indique souvent que le
      matériel est en cause. Le seul remède à ce type de blocage est
      d'appuyer sur le bouton Reset ou Power. Le blocage peut
      également être « <span class="quote">léger</span> », à savoir que le
      noyau fonctionne toujours dans une certaine mesure. Il est
      possible de se remettre gracieusement de cette situation.</p>
<div class="itemizedlist"><ul type="disc">
<li><p>La première chose à essayer est de taper
        <span><b class="keycap">control</b></span>+<span><b class="keycap">alt</b></span>+<span><b class="keycap">backspace</b></span>
        qui tue X. Si vous récupérez le contrôle sur votre système, le
        noyau n'était pas réellement bloqué. Si cela ne fonctionne pas
        après quelques secondes, il faut alors redémarrer le système en
        suivant les recommandations suivantes :</p></li>
<li><p>Utilisez <span><b class="keycap">control</b></span>+<span><b class="keycap">alt</b></span>+<span><b class="keycap">delete</b></span> pour redémarrer le système.
   Vous savez que cela a fonctionné si l'ordinateur émet un bip après
   quelques secondes (c'est le BIOS qui dit « <span class="quote">Tout est
   OK</span> » au cours du cycle de démarrage).</p></li>
<li><p>Connectez-vous à partir d'un autre système via ssh.
        Si vous y parvenez, redémarrez ou arrêtez le
        système.</p></li>
<li>
<p>Si cela n'est pas possible, vous devrez utiliser la
        « <span class="quote">touche magique <span><b class="keycap">SysRq</b></span></span> » qui
        est documentée dans
        <tt class="filename">/usr/src/linux/Documentation/sysrq.txt</tt>. Voici
        un résumé pour l'architecture x86 (consultez la documentation pour
        les autres architectures). Notez que si votre clavier n'a pas de
        touche <span><b class="keycap">SysRq</b></span>, il vous faudra utiliser la touche
        <span><b class="keycap">PrintScreen</b></span> :

          </p>
<div class="orderedlist"><ol type="1">
<li><p>Tapez <span><b class="keycap">Alt</b></span>+<span><b class="keycap">SysRq</b></span>+<span><b class="keycap">s</b></span> pour tenter de synchroniser vos
              systèmes de fichiers montés afin que les changements apportés
              aux fichiers soient effectués sur disque. Vous pouvez
              entendre de l'activité du disque dur. Si vous regardez sur
              une console, le système devrait afficher le nom des
              périphériques pour lesquels cette opération a eu
              lieu.</p></li>
<li><p>Quelques secondes plus tard, tapez <span><b class="keycap">Alt</b></span>+<span><b class="keycap">SysRq</b></span>+<span><b class="keycap">u</b></span> pour essayer de remonter les
              systèmes de fichiers montés en mode lecture seule. Vous
              devriez entendre de l'activité disque. Si vous examinez une
              console, le système affichera les périphériques qui ont été
              remontés.</p></li>
<li><p>Après un bref moment, utilisez <span><b class="keycap">Alt</b></span>+<span><b class="keycap">SysRq</b></span>+<span><b class="keycap">b</b></span> pour redémarrer le
              système.</p></li>
<li><p>Vous pouvez aussi taper <span><b class="keycap">Alt</b></span>+<span><b class="keycap">SysRq</b></span>+<span><b class="keycap">h</b></span> pour obtenir un écran d'aide
         ultra-concis.</p></li>
</ol></div>
</li>
</ul></div>
<p>Pour prendre en charge la touche magique
      <span><b class="keycap">SysRq</b></span>, votre noyau doit avoir été compilé à cet
      effet. Vous trouverez cette option sous
      « <span class="quote"><tt class="literal">Kernel Hacking | Kernel Debugging | Magic
      SysRq key</tt></span> ». Si la séquence magique
      <span><b class="keycap">SysRq</b></span> n'éteint pas correctement votre système,
      votre noyau s'est réellement bien planté et le seul remède est
      d'utiliser le bouton Reset ou Power.</p>
</div>
</div>
<div class="navfooter">
<hr>
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left">
<a accesskey="p" href="ar01s05.html">Précédent</a> </td>
<td width="20%" align="center"><a accesskey="u" href="index.html">Niveau supérieur</a></td>
<td width="40%" align="right"> <a accesskey="n" href="ar01s07.html">Suivant</a>
</td>
</tr>
<tr>
<td width="40%" align="left" valign="top">5. Divers </td>
<td width="20%" align="center"><a accesskey="h" href="index.html">Sommaire</a></td>
<td width="40%" align="right" valign="top"> 7. Cartes vidéo</td>
</tr>
</table>
</div>
</body>
</html>