Por que essa sequência de chaves, usando SyRq, não funciona

Por que essa sequência de chaves, usando SyRq, não funciona

Eu tenho o Fedora 20, com zshell e desktop Mate. Acabei de me deparar com issoartigo sobre como usar chaves SysRq, mas eles não fornecem os resultados mostrados lá. Estou usando Alt com a chave marcada como "Home" com "Print Scr" acima dela como a combinação de teclas SysRq.

Também tentei segurar a tecla amarela "FN", mas isso não fez diferença.

Como a sequência "Reinicializar mesmo se o sistema estiver totalmente quebrado" parece muito útil, gostaria de saber o que estou fazendo de errado.

Responder1

Você provavelmente tem as combinações SysRq desativadas. Existem algumas coisas que devem ser verdadeiras para que isso funcione:

  • Você deve ter CONFIG_MAGIC_SYSRQhabilitado na configuração do seu kernel.
  • Você deve ter o kernel.sysrqsysctl configurado com um valor que permita a interpretação de combinações SysRq.

kernel.sysrqé uma máscara de bits para ativar/desativar funções:

  • 0 - Completamente desativado
  • 1 - Completamente habilitado
  • 2 - Permitir controlar o nível de log do console
  • 4 – Permitir controlar o teclado
  • 8 – Permitir controlar dumps de processos
  • 16 – Permitir controle de sync()chamadas
  • 32 – Permitir remontagem somente leitura
  • 64 - Permitir sinalização de processo
  • 128 - Permitir alterar o estado de energia do sistema (reinicializar/desligar/etc)
  • 256 - Permitir renúncia de tarefas executadas em tempo real

Supondo que você queira habilitar todos os recursos do SysRq, você pode definir o valor temporariamente usando a sysctlferramenta:

sysctl -w kernel.sysrq=1

Para fazer isso permanentemente, adicione a seguinte linha a /etc/sysctl.conf:

kernel.sysrq = 1

Você pode então fazer com que o sistema recarregue as configurações /etc/sysctl.confemitindo sysctl -p.

Responder2

Normalmente, quando você pressiona um botão, o teclado gera um único código de acesso. O sistema operacional recebe códigos-chave, aplica algum mapeamento de teclas e tenta lidar com combinações de teclas independentemente do hardware subjacente.

O mecanismo SysRq é um pouco diferente: o teclado captura a combinação e envia um código-chave especial para o sistema operacional como se um único botão fosse pressionado. O kernel do Linux captura o código-chave especial e o processa internamente sem encaminhar a entrada para aplicativos de nível superior, como o servidor X. Isso implica as duas consequências:

  1. A combinação de teclas realmente depende do teclado. O teclado deve capturar a tecla por conta própria e apenas o teclado "sabe" onde a tecla SysRq real está localizada e qual combinação aciona o envio do código de tecla especial. Então:

    • O SysRq não está necessariamente localizado no mesmo botão de “Home” ou “Print Screen”, tente pesquisá-lo, geralmente ele está marcado explicitamente como “SysRq”.
    • Experimente combinações diferentes: Ctrl+Alt+SysRq+b ou Ctrl+Alt+Fn+SysRq+b, etc (aviso, o sistema será reinicializado com sucesso). Em teclados que possuem a Fntecla, você geralmente precisa pressioná-la para alcançar a SysRqtecla real, portanto, provavelmente sua combinação envolverá a Fntecla.
  2. Na verdade, você pode saber quando acertar a combinação. Execute xeva partir de um terminal, foque a xevjanela do e aperte alguns botões do teclado, você deverá ver eventos aparecendo no terminal. Quando você obtém a combinação certa, NÃO deve receber um evento porque ele é capturado pelo kernel e não entregue ao servidor X.

Consulte também a documentação:https://www.kernel.org/doc/Documentation/sysrq.txt

informação relacionada