我正在寻找一份良好的概述文档,以描述现代Linux会话中涉及的守护程序和服务堆栈。尽管已经阅读了有关dbus
和的各种文档systemd
,但我仍然不了解。
特别是,我正在寻找这些问题的答案(不要回答这些问题,它们只应澄清我正在寻找的文档类型):
登录后,用户会话的根是哪个进程?
应该启动哪些过程,为什么?无论正在启动Gnome,KDE,FVWM还是简单的shell,我都在寻找与桌面无关的答案。
所有这些守护程序起什么作用?他们中的哪一个将独自运行,而这取决于其他人?哪个人应该由谁开始,为什么以及要花多长时间?谁应该维护那个动物园?
我问,因为我发现我有开机后马上运行的守护进程的一个整体动物园:systemd-journald
,systemd-udevd
,dbus-daemon
,
systemd-logind
。但还不够:除了这些,运行超轻量级PDF查看器zathura
进一步填充我的会话dbus-launch
,
dbus-daemon
,at-spi2-registryd
,和at-spi-bus-launcher
,后者启动另一个dbus-daemon
。他们之前都没有去过那里,也没有被邀请过,但是他们会待在房子周围,给我一种令人毛骨悚然的感觉,直到我注销为止。我确定我在这里遗漏了一些东西...
另一个示例:登录后,我systemd
正在使用用户的UID运行,但是我不知道应该怎么做(因为版本206,我认为我不应该将其用作会话管理器,对吗?)。它有一个子进程(sd-pam)
,但我找不到相关的文档。
他们在做什么?这种设置背后的想法是什么?
为了阐明我的观点:在“过去”时代,足以知道
login
将启动我的登录shell(bash
执行~/.profile
),从那时起,我可以根据情况继续构建会话,也许是启动screen
或startx
。