如果您按下 Ctrl-Alt-Del(或任何通过 loadkeys 分配了 keysym Boot 的按键),那么机器会立即重启(不进行同步),或者向 init
发送 SIGINT 信号。前者是默认行为。默认行为可以由 root 用户使用系统调用 reboot() 更改,请参阅 ctrlaltdel(8)。一些 init
程序会更改默认行为。当 init
收到 SIGINT 时会发生什么取决于所使用的 init
版本 - 通常这将由 /etc/inittab
中的 pf 条目决定(这意味着在这种情况下您可以运行任意程序)。在当前内核中,Ctrl-AltGr-Del 默认不再分配给 Boot。
Name Default binding ------------------------------- Show_Memory Shift-Scrollock Show_Registers AltGr-ScrollLock Show_State Ctrl-ScrollLock Console_n Alt-Fn and Ctrl-Alt-Fn (1 <= n <= 12) Console_{n+12} AltGr-Fn (1 <= n <= 12) Incr_Console Alt-RightArrow Decr_Console Alt-LeftArrow Last_Console Alt[Gr]-PrintScreen Scroll_Backward Shift-PageUp Scroll_Forward Shift-PageDown Caps_On (CapsLock is a toggle; this key sets) Compose Ctrl-.
Ctrl-Alt-Fn Switch to VT n Ctrl-Alt-KP+ Next mode Ctrl-Alt-KP- Previous mode Ctrl-Alt-Backspace Kill X在某些主板上,Ctrl-Alt-KP- 和 Ctrl-Alt-KP+ 将等同于按下 Turbo 按钮。也就是说,两者都将产生扫描码 1d 38 4a ca b8 9d 和 1d 38 4e ce b8 9d,并且两者都将在 Turbo (>= 25MHz) 和非 Turbo (8 或 12 MHz) 之间切换。(通常,这些按键组合只有在主板上的跳线启用时才起作用。)
Perry F Nguyen (pfnguyen@netcom22.netcom.com
) 写道:AMI BIOS 具有一个功能,如果在启用 BIOS 密码的情况下按下 Ctrl-Alt-Backspace 组合键,则会锁定键盘并闪烁 LED 指示灯,直到输入 CMOS/BIOS 密码。
在某些基于 SiS 的主板上,Ctrl-Alt-Backspace 组合键将导致断电,或使机器进入省电模式。(已报告 SiS 630 和 SiS645DX。)
Ctrl-Alt-Fn Switch to VT n (from version 0.50; earlier Alt-Fn) Ctrl-Alt-PgDn Kill dosemu (when in RAW keyboard mode) (and many other combinations - see the dosemu documentation)
一个符号可以使用多个按键组合构成。
请注意,至少有四种这样的组合机制
/usr/X11R6/lib/X11/locale/iso8859-1/Compose
。另请参阅 Andrew D. Balsa 在 http://wauug.erols.com/~balsa/linux/deadkeys/index.html 的评论。
:digraphs
获取可能的组合列表。
如果您的内核在编译时启用了 CONFIG_MAGIC_SYSRQ(Linux 2.1.43 版本之后的功能),则有一个单独的键(在 <linux/keyboard.h>
中定义)附加了特殊的系统功能,而与当前的键盘模式无关。对于 PC 架构,这个特殊键自然是 Alt+SysRq 键,并且两个 Alt 键中的任何一个都可以工作。(请注意,如果未启用 CONFIG_MAGIC_SYSRQ,则此键的默认操作是返回到上一个控制台。)
如果您按下此键,不要松开,然后按下另一个键,则会执行相应的操作。无论是否有人登录,是否是 root 用户,都会执行该操作。有关详细信息,请参阅 drivers/char/sysrq.c
。由于此功能仅供内核黑客使用,因此这应该足够了。不过,让我补充几点说明。
对于键 r,键盘模式将重置为 K_XLATE。对于键 k,将执行 SAK 和控制台重置。对于键 b,机器将立即重启。(看到没,不希望在生产机器上启用此功能。)对于键 o,电源将被关闭(当机器有此功能时)。对于键 s,将安排紧急同步。对于键 u,将安排紧急只读重新挂载。对于键 p,t,m,将显示各种信息(即,与 RAlt、RCtrl、RShift+ScrollLock 显示的信息相同)。对于键 e,i,l,所有进程将分别收到 SIG_TERM 或 SIG_KILL;对于 l,甚至 init 进程也会被杀死。数字设置日志级别。任何其他键都会打印简短摘要:SysRq: unRaw saK Boot Off Sync Unmount showPc showTasks showMem loglevel0-8 tErm kIll killalL
。
注意:这些是非常危险的操作!并且它们不使用您的键盘映射 - 实际上,它们是为键盘映射甚至整个内核状态不确定的紧急情况而设计的。如果您使用 dvorak 键盘 - 真倒霉!大多数其他人都能幸存下来:在英语、法语和德语键盘上位置不同的危险字母 A、M、Q、W、Y、Z 不用于操作。(但是,如果您的手指滑了一下,按了 L 而不是 K - 那就跟您的系统说再见吧。)
在 Linux 2.3.13 中,添加了启用/禁用 SysRq 的功能。
echo 0 > /proc/sys/kernel/sysrq
将禁用它(如果内核在编译时启用了 CONFIG_MAGIC_SYSRQ)。
一个好的键盘能够准确报告多个按键按下。特别是对于使用键盘作为盲文输入设备的人来说,他们必须能够同时按下多达六个键,这一点非常重要。许多现代键盘在这方面表现不佳,原因是设计和测试马虎 - 当同时按下四个或更多键时,它们会误报或失效,有时甚至在同时按下两个非修饰键时也会出现这种情况。这在一定程度上影响了 Linux 用户:SysRq 键不是修饰键,并且有人报告了使用 Alt-SysRq-X 处理各种字母或数字 X 时出现问题。
很久以前,由于扫描矩阵的设计,也曾出现过类似的问题(“重影”):当按下三个键时,也会看到第四个键。这个问题通过使用二极管得到了解决。如今,缺陷在于接口逻辑。