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_SYSRQ
habilitado na configuração do seu kernel. - Você deve ter o
kernel.sysrq
sysctl 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 sysctl
ferramenta:
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.conf
emitindo 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:
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
ouCtrl+Alt+Fn+SysRq+b
, etc (aviso, o sistema será reinicializado com sucesso). Em teclados que possuem aFn
tecla, você geralmente precisa pressioná-la para alcançar aSysRq
tecla real, portanto, provavelmente sua combinação envolverá aFn
tecla.
Na verdade, você pode saber quando acertar a combinação. Execute
xev
a partir de um terminal, foque axev
janela 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