我一直想要Wayland而不是X11,所以我安装了必要的软件包。然后创建一个最小的
~./config/weston.ini
配置。现在,在Gnome登录屏幕上: 我可以启动到
Gnome on Wayland
或LXDE
(以及其他)。前者的成功非常有限,而后者(LXDE)几乎完美,尽管该面板需要设置(我必须查找freedesktop)。无论如何,在LXDE中,GUI的响应性比它好是在oldstable上,并且在运行Windows 7时速度可能很快。
但是我想知道这是否是由于从Debian 7到8或从Debian 7升级了所有库/模块使用Wayland(如果我真的真的在使用Wayland)。我浏览了htop,发现正在运行
/usr/bin/Xorg
,并且没有名为“ wayland”的进程。那么我当前正在运行哪一个?#1 楼
通过发出以下命令获取要传递的会话ID:loginctl
然后:
loginctl show-session <SESSION_ID> -p Type
如果要全部只需一个命令即可:
loginctl show-session $(awk '/tty/ {print }' <(loginctl)) -p Type | awk -F= '{print }'
使用与您的用户名相对应的那个。
参考:
https://fedoraproject.org/wiki/How_to_debug_Wayland_problems
对我来说是:
$ loginctl show-session 2 -p Type
Type=wayland
评论
感谢您的出色回答。请添加OP应该首先运行loginctl来查看会话。
–Ho1
16-11-25在10:33
loginctl show-session`loginctl | grep <您的用户名> | awk'{print $ 1}'`-p类型
–solsTiCe
17年12月7日在7:06
根据Fedora 28文档,您还可以使用echo $ WAYLAND_DISPLAY,如果不使用wayland,则不打印任何内容。
– Robsch
18年6月25日在9:14
@DSJustice您的反引号已被减价。可以复制以下内容:loginctl show-session $(loginctl | grep $(whoami)| awk'{print $ 1}')-p类型
–安德烈亚斯(Andreas)
18年11月6日在7:30
如果您不使用显示管理器,则无论您使用x11还是wayland,都会输出tty。
–德文
20 Mar 12 '13 at 13:19
#2 楼
如何知道是使用Wayland还是X11?
在X11系统上:
$ echo $XDG_SESSION_TYPE
x11
在某些系统上Wayland系统:
$ echo $XDG_SESSION_TYPE
wayland
编辑:在某些情况下,这似乎不起作用。查看评论并使用antismap的答案
评论
如果未设置此变量是什么意思?
–加文·扬西(Gavin S. Yancey)
17年5月26日在6:03
有没有办法显示正在运行的Wayland协议的版本?
–太阳战士
18年8月31日在8:31
我是没有显示管理器的Wayland用户。这将输出tty。
–德文
20-3-12在13:11
我是没有显示管理器的X11用户。这将输出tty。
– JoL
20年5月11日在19:25
有关检查此内容的正确方法,请参见stackoverflow.com/a/45537237/912144。
– Shahbaz
20年8月23日在5:08
#3 楼
这适用于fedoraloginctl show-session $(loginctl | grep $(whoami) | awk '{print }') -p Type
评论
管道的力量和Unix哲学。真好
– Talespin_Kit
18/09/10在13:07
/ me对grep含糊不清... | awk,但嘿,很好。
– rahmu
18年11月12日在14:58
它也适用于Kubuntu 19.10。
– Cees Timmerman
20-2-3在14:22
一个较小的变化:loginctl show-session $(loginctl show-user $(whoami)-p Display --value)-p Type --value我猜这假设每个用户的会话ID是单数:我不确定是否可以是多个ID。
– NickD
20年9月1日于14:50
#4 楼
我最喜欢Ayush的答案,但我想我可以说安德里亚斯的答案可以在一行中完成:loginctl show-session "$XDG_SESSION_ID" -p Type
您还可以传递
--value
来删除Type=
前缀。评论
对我而言,此操作失败并显示一条错误消息:无法获取会话路径:呼叫者不属于任何已知会话。显然,在我的Wayland会话中未设置$ XDG_SESSION_ID。
–卡利莫
20年8月29日在14:52
没有为我设置XDG_SESSION_ID,尽管设置了其他XDG_ var。 (我在Ubuntu gutsy 20.10上运行Wayland)
–乔纳森·哈特利
20-11-20在15:46
#5 楼
发出命令ps aux | grep gnome-shell
如果Wayland处于活动状态,它将给出输出
/usr/bin/gnome-shell --wayland --display-server
。
评论
如果Wayland是默认值,该怎么办?
–anatoly techtonik
16-09-21在11:34
我的“ gnome-shell”进程未使用--wayland选项运行,但是当我运行ps aux | grep wayland,我发现/ usr / bin / Xwayland正在运行。
–paulie4
16年11月5日,2:15
通常,您有两个gnome-shell进程:一个用于gdm,另一个用于用户会话。 gdm的gnome-shell通常使用Wayland,而用户会话的gnome-shell使用X11。
– Marius Gedminas
16年11月23日在8:38
gnome-shell仅在将gnome用作DM时有效。
–塞巴斯蒂安
17 Mar 27 '17 at 19:55
一个建议-我需要使用'wide'选项(w)运行ps aux,否则输出会被截断并且grep不会读取任何内容(ps aux w | grep gnome-shell)
–cbcoutinho
18年3月11日在21:07
#6 楼
(尝试)在Alt + F2菜单中运行命令“ r”。它将重新启动Xorg中的环境(不丢失窗口和进程),但在Wayland中,它将显示消息“ Wayland中不提供重新启动”。评论
通过Alt + F2,我的Kubuntu 19.10启动Robo3t,通过终端我得到“找不到命令'r',但可以使用以下命令安装:sudo apt install r-cran-littler”。
– Cees Timmerman
20-2-3在14:27
#7 楼
最简单的操作是检查是否设置了WAYLAND_DISPLAY
变量。评论
正确,然后,如果失败,请检查“显示”以查看是否正在使用X11。
– JoL
20年5月11日在19:28
#8 楼
如果您需要视觉提示,我写了一个简单的GNOME Shell扩展,其中显示了一个图标,告诉您运行的是Wayland还是Xorghttp://www.fepede.net/blog/2017/ 04 / gnome_shell_extension_xorwayland /
#9 楼
不,当我切换到Wayland傻笑时,我注意到htop中有一个名为Wayland的pid。除非更改,否则这是应该看到的。更新:这是显示Wayland流程的屏幕截图。评论
您的屏幕截图中没有显示航路过程;您突出显示的那一行是dbus启动过程,开始了一个称为gnome-wayland的会话。
–斯蒂芬·基特(Stephen Kitt)
15年5月16日在21:30
#10 楼
您可以运行xdpyinfo
命令。它提供有关当前X11服务器(和显示)的信息。如果您没有(例如在纯粹的Wayland设置中),它将失败。评论
在我的Wayland会议上似乎工作得很好...
–don_crissti
18年3月22日在12:05
恕我直言,这只是意味着您的Wayland会话不是纯粹的Wayland。
–Basile Starynkevitch
18 Mar 22 '18 at 12:06
当然,但问题是当前会话的“如何知道使用wayland还是xorg”……不知道如何运行X11服务器
–don_crissti
18-3-22在12:08
#11 楼
好吧,您也可以只检查应用程序是否以其wayland
本机格式运行:cd /usr/bin
ldd $application_name | grep wayland
此外,要检查哪些二进制文件具有
wayland
支持,您可以尝试:cd /usr/bin
find . | xargs ldd | grep wayland -B 55
上面的内容不是很干净,但是可以。您可以进一步将其管道传输到文件,然后使用
vim
进行导航。cd /usr/bin
find . | xargs ldd | grep wayland -B 55 >> candidates
vim candidates
# Use vi movement
-B
标志代表以前的名称,有助于打印二进制名称。您可以查看更多详细信息。这个答案是根据这个问题改编的。
评论
Cleaner用来列出所有程序及其X11或Wayland依赖项:find。 | xargs ldd | grep'^ [。] \ | x11 \ | wayland'
– Cees Timmerman
20-2-3在14:36
评论
运行xprop,此工具将在仿真下运行的x应用程序上运行,但不能在Wayland上运行Wayland或gnome-shell。我想我是唯一注意到的,虽然OP表示他正在使用debian进行操作,但他提供的屏幕截图显然是fedora ...
经典SE:错误/不完整,复杂的答案需要294票赞成票,而简单,正确和完整的答案只能得到2票赞成票。要想获得最佳答案,最上面的肯定是一个很难解决的问题。