从系统恢复 Rq + r

从系统恢复 Rq + r

我的 X 服务器发生了非常严重的锁定,不得不执行系统 Rq + r从 X 释放我的键盘并进入控制台。我能够终止锁定系统的进程,并在仍在运行的 X 服务器上继续我的工作。

现在,每当我按下 Alt + F4 来终止窗口时,我的系统都会切换到第四个控制台,而不是终止活动窗口。所以看来我的键盘仍然处于释放模式。

如何撤消之前的 Sys Rq + r 命令,以便可以在正在运行的 X 服务器中继续工作?

答案1

我在问这个问题后就自己找到了解决方案。

要切换回运行 X 的控制台(通常是 tty7),请从 ASCII 模式切换到 RAW 模式,请执行以下命令:

sudo kbd_mode -s -C /dev/tty7

现在一切又按预期进行了。 :)

问题中提供了更多信息:原始/非原始键盘模式是什么意思?

答案2

如果您发现自己多次在网络上搜索此特定命令(就像我所做的那样),您可以使用以下 shell 脚本将键盘重新捕获到正在使用的 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

相关内容