【问题标题】:Virtual consoles, shells and Xorg - how they interact?虚拟控制台、shell 和 Xorg——它们如何交互?
【发布时间】:2017-05-10 12:58:37
【问题描述】:

维基百科article 说:

通常前六个虚拟控制台会提供一个文本终端,该终端带有 Unix shell 的登录提示。图形 X 窗口系统在第七个虚拟控制台中启动。

这是否意味着 Xorg 只是终端/控制台/shell 命令的 GUI 封装?更准确地说,Xorg 是否将 GUI 命令(例如鼠标单击)转换为 shell 命令,然后作为系统调用传递给内核?

【问题讨论】:

    标签: linux console x11 xorg


    【解决方案1】:

    Xorg 是否将 GUI 命令 (...) 转换为 shell 命令?

    不,一点也不。这只是 Linux 内核支持的一个小技巧,可以在切换回文本控制台时将键盘和鼠标移交给 X11,反之亦然。

    我不知道细节,这可能是让这一切发生的黑客式代码。基本上,当您按下 Alt-F7(或任何正在运行的控制台 X)时,内核会运行:“哦,是的,这里有一个名为 'X' 的程序正在运行,继续做你的事情”。当您按下 Ctrl-Alt-F1..6 切换回文本时,X 会释放它对显卡的保留并回调内核:“哟,您应该切换回控制台 1..6!”

    【讨论】:

    • 谢谢,如果我可以要求添加更多上下文:那么 Xorg 如何与内核交互?它是否使用与 shell 相同的系统调用?
    • 严格来说,所有系统调用都可用于所有程序、shell 和 X11 等。 X 只是一个程序,一个复杂的程序,它一方面驱动显卡,另一方面接受图形命令(例如画线和框)。交互是通过 ioctl() 调用进行的,这里有更多信息:How vt switching works
    猜你喜欢
    • 2011-02-08
    • 1970-01-01
    • 2012-06-23
    • 1970-01-01
    • 2013-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多