Что такое начальный процесс для Ubuntu?

Я пытаюсь узнать о Linux и как Ubuntu с Gnome начинается с момента, когда я включаю свой компьютер.

Я понимаю, что сначала начинается ядро, и после того, как он закончил загрузку, он запускает программу init (Upstart?). Затем upstart смотрит на некоторые файлы конфигурации (где-то?) И работает x и gnome-shell ?

Так что такое последовательность и где все файлы конфигурации, которые говорят, когда и что начинаются?

4
задан 19 March 2021 в 21:14

2 ответа

Спасибо @rinzwind за то, что указываю на меня в правильном направлении. Я закончил преследовать начальный процесс SystemD и, наконец, получил весь путь к тому, как он начинает оболочку GNOME.

Для тех, кто ищет этого, вот как процесс идет (по крайней мере, пока в 2021 году и Ubuntu 20.04). Это может измениться в более поздних версиях, которые я полагаю.

- Kernel boots
-- Kernel launches /usr/sbin/init (symlink to SysVinit, upstart or systemd)
--- systemd executes /usr/lib/systemd/system/default.target
---- default.target executes /etc/systemd/system/display-manager.service
----- display-manager.service is a symlink to /lib/systemd/system/gdm3.service
------ gdm3.service us a symlink to /lib/systemd/system/gdm.service
------- gdm.service executes /usr/sbin/gdm3
-------- gdm3 starts the X server and after the user logs in executes /usr/share/xsessions/ubuntu.desktop
--------- ubuntu.desktop executes /usr/bin/gnome-shell
5
ответ дан 1 April 2021 в 23:02

Нет, мы используем Systemd и иметь некоторое время.

После того, как ядро ​​загружено в начальный диск RAM, он начинает инициализацию SystemD .

SystemD обрабатывает процесс управления службами с использованием «целей». «Целевые» файлы в SystemD используются для группировки разных единиц и запуска процессов синхронизации.

В первых целевом выполняется Systemd является default.target (символическая ссылка на graphical.target / USR / Библиотека / Systemd / System / Graphical.target )

more /usr/lib/systemd/system/graphical.target 
#  SPDX-License-Identifier: LGPL-2.1+
#
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

[Unit]
Description=Graphical Interface
Documentation=man:systemd.special(7)
Requires=multi-user.target
Wants=display-manager.service
Conflicts=rescue.service rescue.target
After=multi-user.target rescue.service rescue.target display-manager.service
AllowIsolate=yes

Это триггеры mult-user.target -> basic.target -> sysinit.target -> local-fs.target -> / и т.д. / Fstab , / и т.д. / inittab

Это упрощение, поскольку это гораздо сложнее, чем просто так: Graphical.target показывает пару вещей о подключении к другим целям. Каждый из этих целей имеет такую ​​же настройку в конечном итоге, ведущей к рабочему столу.

6
ответ дан 1 April 2021 в 23:02

Другие вопросы по тегам:

Похожие вопросы: