Qwe*_*tie 2 x11 tty keyboard-layout
在我的 CentOS 系统上,Ctrl+Alt+F1
显示名为 的 X Windows 会话:0
,但在其他系统上Ctrl+Alt+F7
可能会执行相同的操作。是什么决定了 Fn 键如何映射到 X 会话和 TTY?
从您引用的问答中应该清楚地看出,实际键和弦的识别取决于编程到键盘映射中的内容。此外,还涉及两种不同的键盘映射,有两组不同的和弦这一事实证明了这一点。
至少在许多Linux操作系统上,后者的键盘映射是通过配置机制从前者派生的,并且系统管理员仅在单个位置配置一个映射。但有两张真实的地图。
哪个生效取决于哪个内核虚拟终端处于活动状态。这是因为 X11 服务器使用一种协议,通过该协议它可以有效地“拥有”一个内核虚拟终端。
这样X11服务器就可以与内核内置的终端仿真器共享各种I/O设备。(如果它使用的 I/O 设备根本没有附加内核的内置终端仿真器,则不需要此共享协议。)当它负责 I/O 设备时,它的键盘映射适用;当内核的内置终端仿真器负责时,将应用其键盘映射。
这让我们了解 X11 服务器如何决定它首先“拥有”哪个内核虚拟终端,因为这个决定取决于它。有以下三种方法:
getty
或类似),则 X11 服务器会发现 KVT 编号 5 作为下一个可用的虚拟终端,因此⎇ Alt+F5是键盘和弦。vt7
,那么⎇ Alt+F7就是键盘和弦。几十年前,一般惯例是将 X11 服务器分配给 KVT 编号 7。但此后,这种情况在多个操作系统上发生了变化。至少,这甚至不是Linux 操作系统世界最初的通用惯例。(当然,多内核虚拟终端的想法早于 Linux,并且实际的 Unices 还有其他约定。)
它在十多年前在 Fedora 系列操作系统上发生了变化,因为人们希望系统从操作系统引导的早期一直显示启动屏幕,直到 X11 服务器准备接管,没有屏幕清除+重绘或者在 X11 服务器在另一个 KVT 上启动并强制切换到它之前(正如它所做的那样),由于内核的内置终端仿真器在 KVT 号 1 上启动而导致闪烁进入和退出另一个显示模式。所做的更改只是为了不在 KVT 1 号上启动内核的内置终端模拟器,它已被启动屏幕禁用,并使其成为X11服务器随后使用的 KVT,从而实现从启动屏幕到 GUI 的无缝过渡登录屏幕。
(人们错误地将这一变化归因于 systemd。事实上,它比 systemd 早了很多年,并且发生在 Fedora 使用 upstart 的时期。事实上,考虑到人们的错误归因,有点讽刺的是,几年后 systemd 首次推出时systemd 的人不知道这个变化,也没有让 systemd 复制 upstart 所做的事情,导致 TUI 登录会话和 X11 服务器之间的 KVT 1 号冲突。)
因此,您会发现,在某些操作系统上,X11 服务器使用 KVT 编号 7,而在其他操作系统上,它使用 KVT 编号 1。
在其他系统上,例如 Debian 9,分配 KVT 编号 1 的东西现在是一个不同的图形子系统,而不是 X11 服务器,用于主 GUI 登录界面;还有一个辅助 X11 服务器,为每个 GUI 登录会话分配另一个KVT。( ⎈ Control+) ⎇ Alt+F1切换到主 GUI 登录界面,( ⎈ Control+) ⎇ Alt+F2切换到(第一个这样的,如果有的话)GUI 登录会话。
归档时间: |
|
查看次数: |
1905 次 |
最近记录: |