我的 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