任何人都可以从开发人员的角度告诉我GLI和CLI之间的区别是什么?
我也想知道linux系统在启动后如何设置GLI和CLI。
对于CLI,当新用户登录时,系统启动后,流程init
需要fork
,然后为用户调用exec
程序getty
登录。用户输入用户名和密码后,getty
将验证当前登录用户的身份。如果一切正常,getty
执行execle
加载login
程序,然后调用shell。
但是在启动图形桌面时内核会做什么。
非常感谢。
答案 0 :(得分:1)
根本不是关于内核的。它是关于如何配置init
以及启动哪个运行级别的。命令pstree -u
是你的朋友。
├─mdm───mdm─┬─Xorg
│ ├─x-session-manag(szg)─┬─applet.py───{applet.py}
│ │ ├─gpg-agent
│ │ ├─marco───2*[{marco}]
│ │ ├─mate-bluetooth-───2*[{mate-bluetooth-}]
│ │ ├─mate-panel───2*[{mate-panel}]
│ │ ├─mate-power-mana───2*[{mate-power-mana}]
│ │ ├─mate-screensave───2*[{mate-screensave}]
│ │ ├─mate-settings-d───4*[{mate-settings-d}]
│ │ ├─mate-volume-con───{mate-volume-con}
│ │ ├─mintupdate-laun───sh───mintUpdate───2*[{mintUpdate}]
│ │ ├─nm-applet───2*[{nm-applet}]
│ │ ├─notgmail───sleep
│ │ ├─polkit-mate-aut───{polkit-mate-aut}
│ │ ├─sh───caja───3*[{caja}]
│ │ ├─ssh-agent
│ │ ├─tapeta───sleep
│ │ ├─zeitgeist-datah───3*[{zeitgeist-datah}]
│ │ └─3*[{x-session-manag}]
│ └─{mdm}
您可以在上方看到MATE桌面会话。 init
以root身份启动mdm
,MATE桌面管理器,然后启动Xorg X服务器来处理硬件和您登录的会话管理器,然后它会删除权限并启动您的用户级桌面服务。
除了getty
之外,这不会发生。您仍然可以使用 ctrl - alt - F1 等登录CLI。