O problema:
No seu teclado, a Tela de Impressão (PrtSc) e Solicitação do Sistema (SysRq) estão no mesmo botão físico, como na maioria dos layouts que eu conheço.
As combinações de teclas Alt + SysRq + [LETRA ESPECÍFICA] são geralmente conhecidas como Comandos Magic SysRq que diretamente enviar comandos para o kernel.
Eles são usados principalmente como uma alternativa mais segura para uma reinicialização a frio se o sistema estiver completamente quebrado, porque existem, e. comandos para sincronizar e desmontar o sistema de arquivos para evitar danos e corrupção de dados e para reiniciar / reinicializar (se você pressionar B como tecla 3) ou desligar (3a tecla O ) . Mais informações e uma lista completa de combinações, mesmo com relação a diferentes layouts de teclado, podem ser encontradas no artigo da Wikipédia correspondente Magic SysRq Key .
Então o que você está fazendo acidentalmente é enviar diretamente ao kernel o comando para reinicializar, e é isso que ele faz.
A solução:
Dependendo de como o seu kernel foi compilado , você pode especificar em quais comandos do SysRq o kernel deve escutar quando o sistema está rodando. Acabei de testar isso no 15.10 com o kernel 4.2.0-27-generic
e funcionou, mas seria bom aprender desde quando ou para quais kernels isso está habilitado. Por favor, comente se você souber.
-
Descobre o valor atual do filtro de comando SysRq :
Podemos aprender quais comandos do SysRq estão atualmente habilitados, verificando o conteúdo do arquivo virtual
/proc/sys/kernel/sysrq
:cat /proc/sys/kernel/sysrq
O resultado será um número que deve ser interpretado assim:
0 - disable SysRq 1 - enable SysRq completely >1 - bitmask of enabled SysRq functions: 2 - control of console logging level 4 - control of keyboard (SAK, unraw) 8 - debugging dumps of processes etc. 16 - sync command 32 - remount read-only 64 - signalling of processes (term, kill, oom-kill) 128 - reboot/poweroff 256 - nicing of all RT tasks
Meu valor padrão quando estou na área de trabalho é
176
, que é128+32+16
. Então, de acordo com a tabela acima, eu posso reiniciar, desligar, sincronizar e remontar sistemas de arquivos para somente leitura. -
Desativa todos os comandos SysRq :
Execute o comando abaixo e tente se os atalhos SysRq ainda funcionam depois (por exemplo, Alt + SysRq + B para reiniciar / reiniciar):
echo 0 | sudo tee /proc/sys/kernel/sysrq
Isto deve desabilitar todos os comandos SysRq para a sessão atual, até que você reinicie da próxima vez.
-
Habilita todos os comandos SysRq :
Para manualmente ativar todos os comandos SysRq , escrevemos o valor
1
para o mesmo arquivo virtual:echo 1 | sudo tee /proc/sys/kernel/sysrq
-
Ativar o filtro de comando padrão SysRq :
Você restaura a configuração padrão reiniciando ou, se marcar e lembrar o valor antes de ajustá-lo, pode definir esse valor novamente em vez de
0
/1
para ativar / desativar todos os comandos.Então, no meu caso, onde o valor original era
176
, eu executava:echo 176 | sudo tee /proc/sys/kernel/sysrq