Recuperando do Sys Rq + r

23

Eu tive um bloqueio muito ruim do meu servidor X e tive que fazer um Sys Rq + r para liberar meu teclado de X e entrar em um console. Consegui eliminar o processo que estava bloqueando meu sistema e continuar meu trabalho no servidor X ainda em execução.

Agora, sempre que eu ex. Pressione Alt + F4 para matar uma janela, meu sistema muda para o 4º console ao invés de matar a janela ativa. Então parece que meu teclado ainda está no modo liberado.

Como faço para desfazer meu comando anterior do Sys Rq + r, de modo que eu possa continuar meu trabalho no servidor X em execução?

    
por Bjarke Freund-Hansen 24.08.2011 / 07:54

2 respostas

28

Encontrei a solução sozinho depois de fazer essa pergunta.

Para voltar o console no qual o X está rodando (geralmente tty7), do modo ASCII para o modo RAW, execute o seguinte comando:

sudo kbd_mode -s -C /dev/tty7

E agora tudo funciona como esperado novamente. :)

Mais informações disponíveis na pergunta: O que significa o modo de teclado raw / unraw?

    
por 24.08.2011 / 08:01
0

Se você estiver procurando na web por esse comando em particular mais de uma vez (como eu fiz), você pode usar o seguinte script de shell para recapturar o teclado para o TTY em uso:

#!/bin/bash

IFS=$'\n\t'
function ttys() {
    # find open files named '/dev/tty?' from commands named 'Xorg'
    lsof -Fn -c Xorg -a /dev/tty? | \
      egrep '^n' |                  \
      sed -r 's/^n(.+)$//g' |     \
      sort |                        \
      uniq
}

tty=$(ttys)
count_ttys=$(wc -l <<< $tty )

if [[ $count_ttys -gt 1 ]]; then
  echo 'more than one tty in use, exiting'
  exit 1
fi

echo binding keyboard to $tty
sudo kbd_mode -s -C $tty
    
por 23.06.2017 / 20:47