Alt+SysRq+T 不工作/SysRq 命令打印到哪里?

Mig*_*ork 7 arch-linux magic-sysrq

我的 REISUB 命令和 K 完美地工作,但是使用 T(它应该打印有关任务的信息),它什么也不打印。H 也不起作用。

Alt+SysRQ+H
Alt+SysRQ+T
Run Code Online (Sandbox Code Playgroud)

我尝试了所有 tty(甚至 F10,它甚至没有登录提示),但什么也没有。

像 K 这样的东西工作正常,它会杀死 xserver 和所有东西(很方便,因为它一直冻结)。

如何修复/它们真正打印到哪里?

我在拱门。

Wil*_*uin 8

默认的 Arch 内核应该在内核中启用 sysrq 功能(我使用的是自定义的,但基于默认的配置)。但是,在默认内核中,用于控制 sysrq 键的哪些功能可用的位掩码设置为0。我相信它在 Arch 启动期间的某个地方设置为16 ( 10000 ),但我不确定在哪里。

如果 sysrq 设置是在运行的内核中编译的,则可以通过以下方式轻松检查:

$ cat /proc/sys/kernel/sysrq 
16
Run Code Online (Sandbox Code Playgroud)

在此示例中,它设置为 16(= 仅启用紧急同步)。

可以轻松启用所有 sysrq 功能:

$ echo 1 > /proc/sys/kernel/sysrq
Run Code Online (Sandbox Code Playgroud)

您需要以 root 身份执行此操作,因为 echo 不适用于 sudo。或者:

$ echo 1 | sudo tee /proc/sys/kernel/sysrq > /dev/null 
Run Code Online (Sandbox Code Playgroud)

(该> /dev/null部分不是严格需要的)

sysrq 配置在内核文档甚至维基百科中有更详细的解释。

此外,如果问题确实是位掩码设置为禁用所需的组合,您应该收到通知是 syslog(至少我这样做):

kernel: SysRq : This sysrq operation is disabled.
Run Code Online (Sandbox Code Playgroud)