如何知道正在使用的是 Wayland 还是 X11

如何知道正在使用的是 Wayland 还是 X11

我刚刚在我的笔记本电脑上安装了最新的 Kali Linux,它基于 Debian 7(oldstable)。然后我将整个系统升级到 Debian 8。

我一直想要 Wayland 而不是 X11,所以我安装了必要的软件包。然后创建了最小~./config/weston.ini配置。现在,从 Gnome 登录屏幕:

登录屏幕

我可以启动到Gnome on WaylandLXDE(等等)。前者的成功非常有限,后者(LXDE)几乎完美,尽管面板需要设置(我必须查找 freedesktop)。

无论如何,在 LXDE 中,GUI 的响应速度比旧版本更快,并且在运行 Windows 7 时可能同样快。我很高兴。

但我想知道这是否是因为所有库/模块从 Debian 7 升级到 8 还是因为使用 Wayland(如果我真的使用 Wayland)。我浏览了一下 htop,发现一个/usr/bin/Xorg正在运行且没有名为“wayland”的进程。那么我目前正在运行哪一个?

答案1

通过发出以下命令获取要传入的会话 ID:

loginctl

这会向你展示类似的内容:

SESSION  UID USER          SEAT  TTY
     c2 1000 yourusername  seat0    

1 sessions listed.

在该示例中,c2是会话 ID。

然后:

loginctl show-session <SESSION_ID> -p Type

如果您希望通过一个命令执行所有这些操作:

loginctl show-session $(awk '/tty/ {print $1}' <(loginctl)) -p Type | awk -F= '{print $2}'

使用与您的用户名对应的用户名。

参考: https://fedoraproject.org/wiki/How_to_debug_Wayland_problems

所以,对我来说是:

$ loginctl show-session 2 -p Type                                                  
Type=wayland

答案2

如何知道正在使用的是Wayland还是X11?

在 X11 系统上:

$ echo $XDG_SESSION_TYPE
x11

在某些 Wayland 系统上:

$ echo $XDG_SESSION_TYPE
wayland

编辑:这在某些情况下似乎不起作用。查看评论和使用反地图的回答反而

答案3

这适用于 Fedora 和 Ubuntu 18.04.5 LTS:

loginctl show-session $(loginctl | grep $(whoami) | awk '{print $1}') -p Type

答案4

最简单的事情是检查WAYLAND_DISPLAY变量是否已设置。

相关内容