UOS图形启动备忘

之前理过一遍,但貌似忘记做笔记了,再理一遍做个记录

BIOS-kernel-systemd-lightdm 经历这几个过程,系统就启动到登录界面了,lightdm会自动带起来Xorg,并提供登录界面。远程上去pstree查看一下

UOS图形启动备忘_第1张图片

可以看到lightdm不但拉了个Xorg起来,还拉了个自己同名子进程,子进程再拉了登录界面起来(这里是deepin-greeter),这个登录界面是在Lightdm的配置文件里面定义好了的,想折腾的可以自己修改自己的登录界面也是可以的。

uos@uos-PC:~$ grep -v \# /etc/lightdm/lightdm.conf 
[LightDM]

[Seat:*]
greeter-session=lightdm-deepin-greeter
user-session=deepin

[XDMCPServer]

[VNCServer]

除了greeter-session=lightdm-deepin-greeter 以外,还定义了user-session用户输入密码后登录,lightdm会带起来2个进程,Xorg以及用户桌面环境(uos里就是startdde)

UOS图形启动备忘_第2张图片

登录后再查看,lightdm主进程还是1199,Xorg的进程号也还是1249,但另外一个lightdm进程2161会戴起来startedde,startdde会带起来整个桌面环境的子进程(包括kwin窗口管理器WM和整个桌面环境DE)。

这个startdde定义是通过user-session=deepin 这里定义的,登录管理器Lightdm会去几个地方查找用户session的配置文件

/usr/share/xsessions

/usr/share/wayland-session/

这些目录里面定义了一些desktop文件,deepin.desktop里面的exec就是startdde,喜欢玩的可以直接把这个exec换成自己想要执行的程序,可以达到不加载桌面只启动你自己程序的目的。

某些系统支持用户自己定义自己要启动的WM和DE,可以写 ~/.xsession文件,这样不必由lightdm启动桌面环境(据说如果用了gdm3是不生效的)。

对/etc/X11/目录下的一堆文件,应用于用户登录前还是登录后,有空再研究。

2022.06.16 更新

xsession的一堆脚本其实是会尝试加载桌面的启动命令的(startdde),参考

Xsession - Debian Wikihttps://wiki.debian.org/Xsession

If the user has a ~/.xsessionrc file, read it.

If a specific session was selected in the DM (GDM, KDM, WDM, LightDM, ...) , run it.
Otherwise, if the user has a ~/.xsession or ~/.Xsession file, run it.

Otherwise, if the /usr/bin/x-session-manager command exists, run it.

Otherwise, if the /usr/bin/x-window-manager command exists, run it.

Otherwise, if the /usr/bin/x-terminal-emulator command exists, run it.

描述了默认启动顺序,测试过程中,最终会去寻找/usr/bin/x-session-manager

grep 了一下/etc/X11,

uos@uos-PC:/etc/X11/Xsession.d$ cat 99x11-common_start 
# $Id: 99x11-common_start 305 2005-07-03 18:51:43Z dnusinow $

# This file is sourced by Xsession(5), not executed.

exec $STARTUP

# vim:set ai et sts=2 sw=2 tw=80:

最后会去执行STARTUP这个变量的程序的,grep STARTUP可以看到排序号前面一点的脚本在做上面列出的几个顺序的搜索,uos商搜索到/usr/bin/x-session-manager,系统里面默认配置就是链接到startdde.

你可能感兴趣的:(Linux学习记录,linux,运维,服务器)