Comment faire fonctionner SysRq sur un ordinateur portable?

12

Mon /proc/sys/kernel/sysrqcontient le numéro 502, mais Alt + SysRq + ... semble ne pas fonctionner sur mon ordinateur portable HP Pavilion. Comment puis-je résoudre ce problème?

Mise à jour 1: Soit dit en passant: ni ma clé d'écran d'impression ni aucune autre clé n'a d'étiquette supplémentaire comme "SysRq".

Mise à jour 2:

  • Modèle matériel: ordinateur portable HP Pavilion 17
  • Disposition du clavier: allemand, QWERTZ
Al Klimov
la source
Semble ne pas fonctionner.
Al Klimov
Quel modèle d'ordinateur portable avez-vous et quelle disposition de clavier? Quelles touches avez-vous essayées?
Gilles 'SO- arrête d'être méchant'
J'ai essayé la touche écran d'impression avec et sans Fn et avec et sans CapsLock.
Al Klimov

Réponses:

15

La plupart des ordinateurs portables nécessitent une pression Fnpour obtenir la SysRqclé. Appuyez Fngénéralement sur la Alttouche (au moins celle de gauche), mais elle peut affecter la lettre sur laquelle vous appuyez après SysRq. Heureusement, vous n'avez pas besoin d'appuyer simultanément sur SysRqla troisième touche, il suffit de la maintenir Altenfoncée. La séquence suivante fonctionne sur tous les ordinateurs portables que j'ai vus:

  1. Appuyez et maintenez Alt.
  2. Appuyez sur Fn, appuyez sur la SysRqtouche et relâchez les deux.
  3. Brièvement la lettre ou la touche de ponctuation, par exemple Spour synchroniser.
  4. Relâchez Alt.

La SysRqclé est généralement la même que PrintScreen. Si votre clavier n'a pas de clé étiquetée SysRqou PrintScreen, il ne peut pas avoir de clé qui envoie le code de numérisation attendu par Linux. Aux fins de Magic SysRq, la SysRqclé est celle qui envoie le code de balayage 99.

Avec un clavier PS / 2 (y compris le clavier interne d'un ordinateur portable), pour savoir quel code de numérisation une touche envoie, connectez-vous à une console texte (appuyez sur Ctrl+ Alt+ F1pour basculer vers une console texte, et généralement Ctrl+ Alt+ F7pour revenir à l'interface graphique) ) et exécutez la commande showkey -s. showkey -saffiche le code de numérisation de chaque touche lorsque vous la tapez. C'est généralement un octet (deux chiffres hexadécimaux) pour une pression de touche, puis un autre octet pour la libération de la touche. Pour quelques clés, vous obtiendrez une séquence d'octets composée de deux octets commençant par e0. Appuyez sur la touche qui vous intéresse, puis attendez 10 secondes et showkeyquittez.

Maintenant que vous avez identifié un code de numérisation, exécutez-le en setkeycodes … 99tant que root pour attribuer ce code de numérisation au code de clé 99. Par exemple, si showkey -simprime 0xe0 0x6f 0xe0 0xefpour la clé que vous avez choisie, exécutez setkeycodes e06f 99.

Pour rendre cette modification permanente, ajoutez la setkeycodescommande à /etc/rc.localou configurez udev pour modifier les mappages de codes clés . La configuration d'udev est la seule solution pour un clavier USB, setkeycodesn'affecte pas les claviers USB.

Gilles 'SO- arrête d'être méchant'
la source
Semble ne pas fonctionner.
Al Klimov
@AlKlimov Vous devez appuyer sur la touche SysRq. Si votre clavier n'a pas de touche SysRq, c'est évidemment un problème. Voir ma réponse modifiée.
Gilles 'SO- arrête d'être méchant'
Je ne pouvais pas tourner ma touche PrintScreen, mais je pouvais par exemple activer ma touche F12. Étrange, étrange ..
Al Klimov
Génie! J'ai essayé tant de fois avec et sans les touches fn, mais je n'ai jamais pensé à l'hybrider avec votre approche. Merci!
Adam Plocher
Je reçois: setkeycodes: failed to set scancode 90 to keycode 99: ioctl KDSETKEYCODE: Invalid argument. Malheureusement, j'ai un clavier Apple sur mon ordinateur portable.
Toothrot
1

J'utilise un ordinateur portable HP pavilion plus récent, même problème. Ce qui a fonctionné pour moi, c'est d'appuyer sur la touche AltGr avec la touche écran d'impression

oliver
la source