{{tag>système diagnostic_outil}} ---- ====== Appels système au clavier : les Touches Magiques ====== ===== Qu'est-ce que c'est ? ===== Les touches magiques sont des combinaisons de touches qui permettent d'envoyer des appels directement au noyau. Il s'agit de combinaisons du type : **Alt+SysRq+Touche**. La touche **SysRq** (pour //System Request//), ou **Syst**, correspond souvent à la touche **Imprim Écran** (juste au-dessus de la touche **Inser** ou **Del**). ===== Pré-requis ===== Pour pouvoir accéder aux touches magiques, il faut que cette fonctionnalité ait été activée dans le noyau. **C'est le cas par défaut pour Ubuntu**, mais ça peut ne pas l'être pour d'autres distributions (pour le savoir, vérifiez l'existence du fichier ///proc/sys/kernel/sysrq//). Si vous compilez vous-même votre noyau, il vous faut mettre l'option //Magic SysRq key// du menu //Kernel Hacking// à //oui//. Sachez cependant que certaines personnes((Cf. le [[http://casteyde.christian.free.fr/system/linux/guide/online/x15797.html|YALIG]] (//Yet Another Linux Installation Guide//) de Christian Casteyde.)) considèrent ces touches magiques comme un trou de sécurité.\\ A ce titre, les touches magiques ont été **désactivée entièrement** dans [[:precise|Ubuntu 12.04 LTS Precise]] (cf. [[https://bugs.launchpad.net/ubuntu/+source/linux/+bug/194676|LP #194676]]) et **réactivée partiellement** depuis [[:trusty|Ubuntu 14.04 LTS Trusty]] (cf. [[https://bugs.launchpad.net/ubuntu/+source/procps/+bug/1025467|LP #1025467]]). Voir [[#Activer ou désactiver les touches magiques]]. Vous pouvez également bloquer cette fonctionnalité en mettant **kernel.sysrq=0** dans le fichier **/etc/sysctl.conf**, à créer si besoin (ou la débloquer en mettant **1**). ===== Les combinaisons de touches ===== Les touches magiques sont documentées en détail dans le fichier **/usr/share/doc/linux-doc-`uname -r`/Documentation/sysrq.txt.gz** fourni par le paquet **linux-doc-`uname -r`** (dépend de votre version du noyau, donnée par la commande **uname -r**). NB : les touches ne tiennent pas compte de la disposition de votre clavier et sont basées sur le layout qwerty [[ http://en.wikipedia.org/wiki/Magic_SysRq_key | source ]]\\ Pour connaître les touches correspondantes en AZERTY ou DVORAK voir la page [[wp>Magic_SysRq_key]]. Depuis Ubuntu 14.04 LTS Trusty, seules les combinaison avec S, U et B sont activées par défaut. Les combinaisons disponibles sont : ^ Combinaison ^ Effet ^ Signification ^ Valeur ^ | **Alt SysRq 0-9** | Détermine le niveau de log de la console | | 2 | | **Alt SysRq b** | Redémarre l'ordinateur | re**B**oot | 128 | | **Alt SysRq c** | Redémarre //via// **kexec** pour faire un crashdump | **C**rashdump | 8 | | **Alt SysRq e** | Envoie un signal de terminaison (SIGTERM) à tous les processus (sauf //init//) | t**E**rm | 64 | | **Alt SysRq f** | Tue le processus qui consomme le plus de mémoire (//via// **oom-killer**) | | 64 | | **Alt SysRq i** | Envoie un signal de fin (SIGKILL, plus ferme que SIGTERM) à tous les processus (sauf //init//) | k**I**ll | 64 | | **Alt SysRq k** | Tue tous les processus de la console virtuelle courante. | **K**ey | 64 | | **Alt SysRq l (L minuscule)** | Envoie un signal de fin (SIGKILL, plus ferme que SIGTERM) à tous les processus (même //init//) | kil**L** | 64 | | **Alt SysRq m** | Affiche le contenu actuel de la mémoire | **M**emory | 8 | | **Alt SysRq o** | Éteint le systeme via APM | **O**ut | 128 | | **Alt SysRq p** | Affiche sur la console les registres et drapeaux actuels | **P**rint | 8 | | **Alt SysRq r** | Bascule la gestion du clavier de mode brute (raw) à XLATE | **R**aw | 4 | | **Alt SysRq s** | Synchronise les disques (tente d'écrire toutes les données non sauvegardées) | **s**ync | 16 | | **Alt SysRq t** | Affiche une liste des taches et autres informations dans la console | **T**ask | 8 | | **Alt SysRq u** | Remonte les disques en lecture seule | **U**mount | 32 | ===== Procédure pour redémarrer votre machine ===== Depuis le [[:xorg|serveur X]] (l'interface graphique), il peut être nécessaire de commencer par se réapproprier le clavier, par la combinaison **Alt SysRq r**. Effectuez les combinaisons de touches suivantes, dans l'ordre : - **Alt SysRq s** - Synchronise les disques - **Alt SysRq e** - Essaie de fermer les processus en envoyant SIGTERM [facultatif] - **Alt SysRq i** - Tue tous les processus restant en envoyant SIGKILL [facultatif] - **Alt SysRq u** - Démonte les disques - **Alt SysRq b** - Redémarre **Il est important d'attendre plusieurs secondes entre les différentes étapes**, car en cas de plantage sévère vous ne verrez pas les messages de progression s'afficher... Un moyen mnémotechnique parmi d'autres pour se souvenir de la séquence : //**S**topper **U**buntu **B**rusquement// (pour la séquence longue : //**S**avoir **E**teindre **I**ntégralement **U**buntu **B**rusquement// ou //**S**o **E**verything **I**s **U**nusual, **B**oot).// Certains utilisent la séquence : REISUB ( //**R**etourner **E**n **I**slande **S**ur **U**n **B**ateau//). ===== Activer ou désactiver les touches magiques ===== À partir d'Ubuntu 12.10, le contrôle des touches magiques se paramètre dans le fichier ''/etc/sysctl.d/10-magic-sysrq.conf''. Y ajouter la ligne « ''kernel.sysrq=1'' » réactive toutes les touches magiques, les experts en sécurité informatiques n'aiment pas beaucoup mais c'est bien pratique. Pour activer certaines touches seulement, il faut indiquer la somme des touches (cf. [[#Les combinaisons de touches]]).\\ La valeur par défaut depuis Ubuntu 14.04 LTS Trusty est **176**, c'est à dire **16** (S = sync) + **32** (U = remount read-only) + **128** (B = reboot). ===== Voir aussi===== * [[dontzap]] ---- //Contributeurs : [[utilisateurs:nknico]], [[utilisateurs:naoli|naoli]]//