【发布时间】:2017-05-10 12:58:37
【问题描述】:
维基百科article 说:
通常前六个虚拟控制台会提供一个文本终端,该终端带有 Unix shell 的登录提示。图形 X 窗口系统在第七个虚拟控制台中启动。
这是否意味着 Xorg 只是终端/控制台/shell 命令的 GUI 封装?更准确地说,Xorg 是否将 GUI 命令(例如鼠标单击)转换为 shell 命令,然后作为系统调用传递给内核?
【问题讨论】:
维基百科article 说:
通常前六个虚拟控制台会提供一个文本终端,该终端带有 Unix shell 的登录提示。图形 X 窗口系统在第七个虚拟控制台中启动。
这是否意味着 Xorg 只是终端/控制台/shell 命令的 GUI 封装?更准确地说,Xorg 是否将 GUI 命令(例如鼠标单击)转换为 shell 命令,然后作为系统调用传递给内核?
【问题讨论】:
Xorg 是否将 GUI 命令 (...) 转换为 shell 命令?
不,一点也不。这只是 Linux 内核支持的一个小技巧,可以在切换回文本控制台时将键盘和鼠标移交给 X11,反之亦然。
我不知道细节,这可能是让这一切发生的黑客式代码。基本上,当您按下 Alt-F7(或任何正在运行的控制台 X)时,内核会运行:“哦,是的,这里有一个名为 'X' 的程序正在运行,继续做你的事情”。当您按下 Ctrl-Alt-F1..6 切换回文本时,X 会释放它对显卡的保留并回调内核:“哟,您应该切换回控制台 1..6!”
【讨论】: