当我登录 Fedora 31 工作站并运行 ps 命令时,我看到以下输出;
对于 X 会话:
PID TT CMD
...
1 ? /usr/lib/systemd/systemd --switched-root --system --deserialize 29
...
820 ? /usr/sbin/gdm
1305 ? gdm-session-worker [pam/gdm-password]
1346 tty2 /usr/libexec/gdm-x-session --run-script /usr/bin/gnome-session
1348 tty2 /usr/libexec/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -background none -noreset -keeptty -verbose 3
1444 tty2 /usr/libexec/gnome-session-binary
1465 ? /usr/bin/ssh-agent /bin/sh -c exec -l /bin/bash -c "/usr/bin/gnome-session"
...
1316 ? /usr/lib/systemd/systemd --user
1322 ? (sd-pam)
...
1531 ? /usr/bin/gnome-shell
...
对于 Wayland 会话:
PID TT CMD
...
1 ? /usr/lib/systemd/systemd --switched-root --system --deserialize 29
...
825 ? /usr/sbin/gdm
1309 ? gdm-session-worker [pam/gdm-password]
1351 tty2 /usr/libexec/gdm-wayland-session /usr/bin/gnome-session
1356 tty2 /usr/libexec/gnome-session-binary
...
1321 ? /usr/lib/systemd/systemd --user
1327 ? (sd-pam)
...
1492 ? /usr/bin/gnome-shell
...
据我了解,通过 gdm 等显示管理器进行图形登录会在验证用户身份后直接执行 X/Wayland 会话,而不是执行登录 shell。我看到 X 和 Wayland 会话都是在虚拟终端 (tty2) 上启动的,Xorg(1) 关于 vt 选项的说法是:“此选项仅适用于具有虚拟终端支持的平台,例如 Linux、BSD 、OpenSolaris、SVR3 和 SVR4。使用控制 tty 启动 X/Wayland 会话仅仅是为了提供在其中运行图形 shell 时切换到其他虚拟终端的能力,还是 X/Wayland 的限制?是否可以在 Linux 上启动 X/Wayland 会话而无需控制 tty,这取决于 gdm、X/Wayland 还是 systemd?与 Xorg(1) 中列出的系统不同,运行 Xorg 并且完全没有虚拟终端的系统的示例是什么?