Deh*_*bop 272 linux x11 wayland
所以我刚刚在我的笔记本电脑上安装了最新的 Kali Linux,它基于 Debian 7(oldstable)。然后我将整个东西升级到 Debian 8。
我一直想要 Wayland 而不是 X11,所以我安装了必要的软件包。然后创建了一个最小~./config/weston.ini配置。现在,从 Gnome 登录屏幕:
我可以启动到Gnome on Wayland或LXDE(除其他外)。前者的成功非常有限,后者 (LXDE) 几乎完美,尽管面板需要设置(我必须查找 freedesktop)。
无论如何,在 LXDE 中,GUI 的响应速度比在 oldstable 上更快,并且在运行 Windows 7 时可能也一样快。我很高兴。
但我想知道这是因为从 Debian 7 到 8 的所有库/模块升级还是因为使用 Wayland(如果我真的在使用 Wayland)。我浏览了 htop,发现了一个/usr/bin/Xorg正在运行且没有名为“wayland”的进程。那么我目前正在运行哪一个?
And*_*eas 351
通过发出以下命令获取要传入的会话 ID:
loginctl
Run Code Online (Sandbox Code Playgroud)
这将向您显示如下内容:
SESSION UID USER SEAT TTY
c2 1000 yourusername seat0
1 sessions listed.
Run Code Online (Sandbox Code Playgroud)
在该示例中,c2是会话 ID。
然后:
loginctl show-session <SESSION_ID> -p Type
Run Code Online (Sandbox Code Playgroud)
如果你想在一个命令上完成所有这些:
loginctl show-session $(awk '/tty/ {print $1}' <(loginctl)) -p Type | awk -F= '{print $2}'
Run Code Online (Sandbox Code Playgroud)
使用与您的用户名相对应的那个。
参考:https : //fedoraproject.org/wiki/How_to_debug_Wayland_problems
所以,对我来说是:
$ loginctl show-session 2 -p Type
Type=wayland
Run Code Online (Sandbox Code Playgroud)
Ayu*_*ush 287
如何知道使用的是 Wayland 还是 X11?
在 X11 系统上:
$ echo $XDG_SESSION_TYPE
x11
Run Code Online (Sandbox Code Playgroud)
在一些 Wayland 系统上:
$ echo $XDG_SESSION_TYPE
wayland
Run Code Online (Sandbox Code Playgroud)
编辑:这在某些情况下似乎不起作用。看评论和使用antismap的答案,而不是
小智 63
这适用于 Fedora 和 Ubuntu 18.04.5 LTS:
loginctl show-session $(loginctl | grep $(whoami) | awk '{print $1}') -p Type
Run Code Online (Sandbox Code Playgroud)
Ale*_*ins 25
我最喜欢Ayush 的回答,但我想我会说Andreas 的回答可以在一行中完成:
loginctl show-session "$XDG_SESSION_ID" -p Type
Run Code Online (Sandbox Code Playgroud)
您还可以通过--value删除Type=前缀。
Léa*_*ris 11
使用 POSIX-shell 语法判断哪种会话类型且没有子 shell:
printf 'Session is: %s\n' "${DISPLAY:+X11}${WAYLAND_DISPLAY:+WAYLAND}"
Run Code Online (Sandbox Code Playgroud)
替代处理所有 4 种状态:
case $((0${DISPLAY:+1} | 0${WAYLAND_DISPLAY:+2})) in
1) session=X11 ;;
2) session=WAYLAND ;;
3) session='both X11 and WAYLAND' ;;
*) session='neither X11 nor WAYLAND' ;;
esac
printf 'Session is: %s\n' "$session"
Run Code Online (Sandbox Code Playgroud)
小智 8
发出指令
ps aux | grep gnome-shell
Run Code Online (Sandbox Code Playgroud)
它会给输出
/usr/bin/gnome-shell --wayland --display-server
Run Code Online (Sandbox Code Playgroud)
如果 Wayland 处于活动状态。
不,当我切换到 Wayland 来咯咯笑时,我在 htop 中注意到了一个名为 Wayland 的 pid。除非它被改变,否则这就是人们应该看到的。更新:这是显示 Wayland 流程的屏幕截图。
