对于 X11,我可以看到显示管理器 gdm3(间接)启动一个名为 Xorg 的进程,它是显示服务器。
然而,当在 Wayland 上使用 gnome 时,我没有看到 gdm3 进程的任何子进程(或孙进程)可以作为显示服务器。我在这里错过了什么吗?该过程的名称是什么?
答案1
该进程的名称是gnome-shell
.
# find /proc/*/map_files/ -ilname '*libmutter*'
/proc/866/map_files/7f44ef718000-7f44ef71a000
/proc/866/map_files/7f44ef71a000-7f44ef724000
...
# cat /proc/866/comm
gnome-shell
# ls -l /proc/866/exe
lrwxrwxrwx 1 dummy dummy 0 Sep 2 03:50 /proc/866/exe -> /usr/bin/gnome-shell
在 gnome 中,“Wayland”不是一个单独的程序/进程/应用程序,而只是 gnome-shell(窗口/会话/应用程序管理器组合)功能的一部分。
答案2
是的,Wayland 合成器是用户空间进程。有多种实现方式;参考实现是 Weston,GNOME 使用 Mutter,还有 sway 或许还有其他实现。
该协议本身可作为库使用,一个用于服务器端,另一个用于客户端。许多 Wayland 服务器也可以是客户端,因此您经常会发现它们使用这两个库。