システムからRq+rを復元する

システムからRq+rを復元する

私のXサーバーに深刻なロックが発生したため、次の作業を実行する必要がありました。システムRq+rXでキーボードを離し、コンソールに入ります。システムをロックしていたプロセスを終了し、まだ実行中のXサーバーで作業を続行できました。

Alt + F4を押してウィンドウを終了するたびに、システムはアクティブウィンドウを終了するのではなく4番目のコンソールに切り替えられます。だから私のキーボードはまだリリースモードにあるようです。

実行中のXサーバーで作業を続けるために、古いSys Rq + rコマンドを元に戻すにはどうすればよいですか?

答え1

この質問を投げた後、自分で解決策を見つけました。

X(通常tty7)を実行しているコンソールに戻すには、ASCIIモードからRAWモードに切り替えて、次のコマンドを実行します。

sudo kbd_mode -s -C /dev/tty7

今、すべてが期待どおりに動作します。 :)

質問でより多くの情報が提供されます。生/非生のキーボードモードとはどういう意味ですか?

答え2

この特定のコマンドをWeb上で複数回検索する場合(私のように)、次のシェルスクリプトを使用して、使用しているTTYでキーボードを再キャプチャできます。

#!/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(.+)$/\1/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

関連情報