ste*_*fan 20 documentation d-bus systemd session
我正在寻找一个很好的概述文档,描述现代 Linux 会话中涉及的守护进程和服务堆栈。尽管阅读了有关dbus, 和 的各种文档systemd,但我仍然没有了解大局。
特别是,我正在寻找这些问题的答案(不要回答问题,他们应该只说明我在寻找什么样的文档):
登录后,哪个进程是用户会话的root?
应该启动哪些进程,为什么?我正在寻找一个与桌面无关的答案,无论是启动 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.
我对你的问题非常着迷,所以我在 linuxintro 上回答了它。以下是为您的问题量身定制的答案:
当典型的 Linux 系统如 Fedora、SUSE 或 Ubuntu 启动时,步骤如下:
init 执行,取决于你的发行版、版本和配置
所有这些程序的意义是启动服务,如
10) 由 systemd 处理的登录过程将在虚拟终端上等待登录,通常可以通过按 CTRL_ALT_F1 访问
11) 通常和默认情况下,init 进程现在将启动显示管理器,例如 kdm(KDE 显示管理器)或 xdm
12) 显示管理器现在将启动图形系统。实际上除了 Xorg 之外没有图形系统(hildon 用于嵌入式设备)。
13) 显示管理器将建议 Xorg 服务器显示登录屏幕
现在启动完成,计算机等待用户登录。
14) 在用户登录时,显示管理器将启动一个桌面环境,如 KDE、GNOME 或 XFCE4。用户 KDE 会话的根进程将被称为 startkde,GNOME 的根进程将被称为 gnome-session,XFCE4 的根进程将被称为 xfce4-session
15) KDE 通常从 ~/.kde/Autostart 启动所有可执行文件,从 /etc/xdg/autostart 启动 .desktop 文件(请参阅调度任务)。
16) 当用户以图形方式登录并单击图标以打开控制台时,通常会执行 bash。Bash 将首先执行 .bashrc 然后
17) 当用户打开登录外壳时,这意味着他需要通过密码或授权密钥登录。他可以在 CTRL_ALT_F1 控制台上或通过 ssh 连接到计算机(例如 localhost)来执行此操作。然后将执行 /etc/profile.d 和 .bashrc 中的 .sh 脚本。
小智 0
答案是 42。Thorsten Staerk 已经在评论中解释了主要问题。
为了帮助您了解全局,您需要知道 Linux 和开源软件是由数百万志愿者和公司编写和维护的。因此,要跟上增长的步伐并不容易。
另一方面,有大量文档:每个软件的手册页、D-Bus的详细解释、开发人员邮件列表、 Google等等。因此,花几年的时间阅读您感兴趣的软件包的所有文档。如果您需要更快,只需在Unix & Linux上提出一些好问题即可。
祝你好运。