<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 & 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> ./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>