¿Cómo hacer que SysRq funcione en la computadora portátil?

12

Mi /proc/sys/kernel/sysrqcontiene el número 502, pero Alt + SysRq + ... parece no funcionar en mi computadora portátil HP Pavilion. ¿Cómo puedo arreglar eso?

Actualización 1: Por cierto: ni mi tecla de pantalla de impresión ni ninguna otra tecla tienen una etiqueta adicional como "SysRq".

Actualización 2:

  • Modelo de hardware: PC portátil HP Pavilion 17
  • Distribución del teclado: alemán, QWERTZ
Al Klimov
fuente
Parece no funcionar.
Al Klimov
¿Qué modelo de computadora portátil tiene y qué distribución de teclado tiene? ¿Qué llaves has probado?
Gilles 'SO- deja de ser malvado'
He probado la tecla de imprimir pantalla con y sin Fn y con y sin CapsLock.
Al Klimov

Respuestas:

15

La mayoría de las computadoras portátiles requieren presionar Fnpara obtener la SysRqclave. Presionar Fngeneralmente no afecta la Alttecla (al menos la izquierda) pero puede afectar la letra que presiona después SysRq. Afortunadamente, no necesita presionar SysRqy presionar la tercera tecla juntas, es suficiente para mantener Altpresionada. La siguiente secuencia funciona en todas las computadoras portátiles que he visto:

  1. Presione y sostenga Alt.
  2. Presione Fn, presione la SysRqtecla y suelte ambos.
  3. Brevemente la letra o la clave de puntuación, por ejemplo, Spara sincronizar.
  4. Liberar Alt.

La SysRqclave suele ser la misma clave que PrintScreen. Si su teclado no tiene una tecla etiquetada SysRqo PrintScreen, es posible que no tenga una tecla que envíe el código de escaneo que Linux espera. Para el propósito del SysRq mágico, la SysRqclave es la clave que envíe el código de escaneo 99.

Con un teclado PS / 2 (incluido el teclado interno de una computadora portátil), para averiguar qué código de escaneo envía una tecla, inicie sesión en una consola de texto (presione Ctrl+ Alt+ F1para cambiar a una consola de texto y, por lo general, Ctrl+ Alt+ F7para volver a la GUI ) y ejecuta el comando showkey -s. showkey -smuestra el código de escaneo de cada tecla a medida que la escribe. Eso suele ser un byte (dos dígitos hexadecimales) para presionar una tecla, luego otro byte para la liberación de la tecla. Para algunas claves, obtendrá una secuencia de bytes que consta de dos bytes que comienzan con e0. Presione la tecla que le interesa, luego espere 10 segundos y showkeysaldrá.

Ahora que ha identificado un código de escaneo, ejecútelo setkeycodes … 99como root para asignar ese código de escaneo al código de clave 99. Por ejemplo, si showkey -simprime 0xe0 0x6f 0xe0 0xefpara la clave que ha elegido, ejecute setkeycodes e06f 99.

Para hacer que este cambio sea permanente, agregue el setkeycodescomando /etc/rc.localo configure udev para cambiar las asignaciones de códigos de teclas . Configurar udev es la única solución para un teclado USB, setkeycodesno afecta a los teclados USB.

Gilles 'SO- deja de ser malvado'
fuente
Parece no funcionar.
Al Klimov
@AlKlimov Debe presionar la tecla SysRq. Si su teclado no tiene una tecla SysRq, obviamente eso es un problema. Ver mi respuesta editada.
Gilles 'SO- deja de ser malvado'
No podía girar mi tecla PrintScreen, pero podía girar, por ejemplo, mi tecla F12. Extraño, extraño ..
Al Klimov
¡Genio! Intenté con y sin las teclas fn tantas veces, pero nunca pensé en combinarlo con tu enfoque. ¡Gracias!
Adam Plocher
Me sale: setkeycodes: failed to set scancode 90 to keycode 99: ioctl KDSETKEYCODE: Invalid argument. Lamentablemente tengo un teclado Apple en mi computadora portátil.
Toothrot
1

He estado usando una nueva computadora portátil HP pavilion, el mismo problema. Lo que funcionó para mí fue presionar la tecla AltGr con la tecla de la pantalla de impresión

Oliver
fuente