![Alt+SysRq+T 不起作用/SysRq 命令打印到哪里?](https://linux22.com/image/59708/Alt%2BSysRq%2BT%20%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8%2FSysRq%20%E5%91%BD%E4%BB%A4%E6%89%93%E5%8D%B0%E5%88%B0%E5%93%AA%E9%87%8C%EF%BC%9F.png)
我的 REISUB 命令和 K 工作完美,但使用 T(它应该打印有关任务的信息)时,它什么也不打印。 H也不起作用。
Alt+SysRQ+H
Alt+SysRQ+T
我尝试了所有 tty(甚至 F10,它甚至没有登录提示),但没有任何结果。
像 K 这样的东西工作正常,它杀死了 xserver 和所有东西(很方便,因为它总是冻结)。
如何修复/它们真正打印到哪里?
我在阿奇。
答案1
默认的 Arch Kernel 应该在内核中启用 sysrq 功能(我使用的是自定义功能,但配置基于默认功能)。然而,在默认内核中,控制 sysrq 键的哪些功能可用的位掩码设置为0。我相信它被设置为16(10000)在 Arch 启动过程中的某个地方,但我不确定在哪里。
如果 sysrq 设置是在正在运行的内核中编译的,则可以通过以下方式轻松检查:
$ cat /proc/sys/kernel/sysrq
16
在此示例中,它设置为 16(= 仅启用紧急同步)。
人们可以轻松启用所有 sysrq 功能:
$ echo 1 > /proc/sys/kernel/sysrq
您需要以 root 身份执行此操作,因为 echo 不能与 sudo 一起使用。或者:
$ echo 1 | sudo tee /proc/sys/kernel/sysrq > /dev/null
(该> /dev/null
部分不是严格需要的)
sysrq 配置在中进行了更详细的解释内核文档,甚至在维基百科。
另外,如果问题确实是设置了位掩码以便禁用所需的组合,那么您应该在 syslog 中收到一条通知(至少我是这样做的):
kernel: SysRq : This sysrq operation is disabled.
答案2
来自 Arch Linux 的内核部分键盘快捷键维基页面
如果您希望在启动期间启用它,请编辑
/etc/sysctl.d/99-sysctl.conf
并插入文本kernel.sysrq = 1
。如果您想确保在挂载分区之前以及在 initrd 中启用它,请添加sysrq_always_enabled=1
到内核引导命令行选项。