use*_*104 4 linux vnc magic-sysrq
我可以通过 VNC 访问 KVM 来宾的系统控制台。我需要什么样的键码发送对有Magic SysRq序列(Ctrl+Alt在Linux下+“REISUB”)?
编辑:在 Linux 下qemu
,在 QEMU 监视器中运行showkey
和命令sendkey alt-sysrq-h
显示键码 99 ( SysRq?)、56 ( Alt) 和 35 ( H)。使用 UltraVNC 查看器的“发送自定义键”命令,在通过showkey
.
小智 7
其文档sysrq
位于 linux 源代码 ( https://github.com/torvalds/linux/blob/master/Documentation/sysrq.txt ) 中。
我强烈建议您阅读它。
首先,请确保SysRq启用了魔术键的使用:
$ cat /proc/sys/kernel/sysrq
1
Run Code Online (Sandbox Code Playgroud)
如果它说0
然后SysRq被禁用。您可以通过以下方式启用它:
$ echo 1 > /proc/sys/kernel/sysrq
Run Code Online (Sandbox Code Playgroud)
并且会立即生效。启用魔法密钥有安全隐患,TLDP 网站上有一些很好的文档。
基于在 wikipedia 上找到的一些键盘布局。您可以尝试包含PrtScr/的组合Print Screen。
在我的系统上:Alt+ PrtScr+“其他”。这与这篇维基百科文章中描述的顺序相同。
您可以运行showkey
扫描键码/获取扫描码:
$ showkey -s
0x38 - i'm pressing Alt
0xb8 - releasing Alt
0xe0 0x2a 0xe0 0x37 - print screen
0xe0 0xaa 0xe0 0xb7 - release print screen
0x38 - i'm pressing Alt
0x54 - i'm also pressing print screen
0x23 - letter H
0xa3 - bye bye letter H
0xd4 - releasing print screen
0xb8 - releasing Alt
Run Code Online (Sandbox Code Playgroud)
0x54
= 84 将变成Alt+ 。PrtScrSysRq
让我们确认一下:
$ getkeycodes
Plain scancodes xx (hex) versus keycodes (dec)
for 1-83 (0x01-0x53) scancode equals keycode
0x50: 80 81 82 83 99 0 86 87
0x58: 88 117 0 0 95 183 184 185
0x60: 0 0 0 0 0 0 0 0
0x68: 0 0 0 0 0 0 0 0
...
Run Code Online (Sandbox Code Playgroud)
我的系统将该扫描0x54
码映射到键码99
,即KEY_SYSRQ
. 双重检查:
# rpm -ql kernel-headers | grep input.h | xargs grep KEY_SYSRQ
/usr/include/linux/input.h:#define KEY_SYSRQ 99
Run Code Online (Sandbox Code Playgroud)
Alt+ PrtScr+ D- 这对我的系统来说是一个糟糕的组合并给了我帮助
SysRq : HELP : loglevel(0-9) reBoot Crash terminate-all-tasks(E)
memory-full-oom-kill(F) kill-all-tasks(I) thaw-filesystems(J) saK
show-backtrace-all-active-cpus(L) show-memory-usage(M) nice-all-RT-tasks(N)
powerOff show-registers(P) show-all-timers(Q) unRaw Sync show-task-states(T)
Unmount show-blocked-tasks(W) dump-ftrace-buffer(Z)
Run Code Online (Sandbox Code Playgroud)Alt+ PrtScr+ H- 实际帮助按键
SysRq : HELP : loglevel(0-9) reBoot Crash terminate-all-tasks(E)
memory-full-oom-kill(F) kill-all-tasks(I) thaw-filesystems(J) saK
show-backtrace-all-active-cpus(L) show-memory-usage(M) nice-all-RT-tasks(N)
powerOff show-registers(P) show-all-timers(Q) unRaw Sync show-task-states(T)
Unmount show-blocked-tasks(W) dump-ftrace-buffer(Z)
Run Code Online (Sandbox Code Playgroud)sync
所有挂载的文件系统