引言
从 X11 切换到 Wayland,表面上只是更换登录界面中的会话类型,实际上却涉及整个 Linux 桌面输入、显示和窗口管理机制的变化。
在 X11 环境中,应用程序可以直接获取窗口、键盘、鼠标和屏幕信息;而在 Wayland 环境中,这些能力大多由桌面合成器统一控制。对于 KDE Plasma 来说,这个合成器就是 KWin。
因此,完成登录并看到桌面,并不代表迁移已经结束。鼠标、输入法、显示缩放、窗口规则、绘图板、截图、录屏和旧自动化脚本,都可能需要重新检查。
本文整理一套较完整的 KDE Plasma Wayland 迁移检查思路。
一、先确认当前会话确实是 Wayland
最基本的检查是:
echo "$XDG_SESSION_TYPE"
正常结果应为:
wayland
也可以检查 KWin 进程:
pgrep -a 'kwin_wayland|kwin_x11|Xwayland'
通常会看到:
kwin_waylandXwayland
其中,kwin_wayland 表示 Plasma 当前运行在 Wayland 模式;Xwayland 是兼容旧 X11 应用的服务,并不代表系统仍然运行在完整的 X11 桌面会话中。
二、重新检查输入设备
Wayland 下,鼠标和触控板不再由 xinput 直接管理,而是由 KWin 调用 libinput 处理。
迁移后应检查:
- 鼠标速度和加速度
- 自然滚动
- 左右键切换
- 触控板轻触点击
- 双指滚动
- 禁用输入设备
- 多个无线接收器产生的逻辑设备
常见问题是:同一个无线接收器会生成多个输入节点,例如:
- Mouse
- Consumer Control
- Keyboard
- System Control
KDE 可能把设置保存到了其中一个节点,而实际滚轮事件来自另一个节点。
正确排查链路应是:
物理设备
→ /dev/input/event*
→ KWin InputDevice对象
→ KWin运行时属性
→ kcminputrc配置段
不能仅凭系统设置界面中的设备名称判断。
三、重新检查显示缩放
Wayland 使用逻辑坐标管理窗口。
例如,一块物理分辨率为:
3840×2160
并设置:
缩放 150%
那么桌面的逻辑尺寸约为:
2560×1440
这并不表示显示器被降到了 2560×1440,而是窗口和界面使用逻辑像素布局。
迁移时应区分:
- 物理输出模式
- 逻辑桌面尺寸
- 缩放比例
- 窗口规则中的位置和大小
检查输出可以使用:
kscreen-doctor -o
该命令应在本地图形终端中运行。普通 SSH 终端如果没有连接当前图形会话,可能无法正确读取 KScreen 状态。
四、重新审计窗口规则
KDE 的窗口规则在 X11 下通常依赖:
WM_CLASS- 窗口标题
- 窗口角色
- 固定坐标
- 固定尺寸
原生 Wayland 应用的窗口身份可能与 X11 版本不同。一个应用从 XWayland 切换到原生 Wayland 后,旧规则可能完全无法匹配。
高风险规则包括:
- 精确匹配 Window Class
- 固定物理像素坐标
- 固定窗口尺寸
- 固定屏幕编号
- 依赖动态标题的规则
迁移后应重新使用 KDE 的“检测窗口属性”功能采集应用身份,并根据当前缩放重新计算逻辑坐标。
五、检查输入法
Wayland 下的输入法路径与 X11 不同。
在 KDE Plasma 中,Fcitx5通常应由:
系统设置
→ 键盘
→ 虚拟键盘
→ Fcitx 5
交给 KWin 管理。
同时,为兼容 XWayland 应用,可以通过:
~/.config/environment.d/
设置:
XMODIFIERS=@im=fcitx
不应简单沿用旧 .xprofile 中所有 X11 输入法变量,更不应仅因为 GTK_IM_MODULE 和 QT_IM_MODULE 没有出现在 systemd 用户环境中,就断定输入法配置失败。
六、检查旧 X11 脚本
以下命令在 Wayland 原生环境中通常不能继续按原方式工作:
xrandr
xinput
xsetwacom
xdotool
wmctrl
xprop
xwininfo
需要搜索:
~/.xprofile
~/.profile
~/.config/autostart/
~/.config/plasma-workspace/env/
~/.local/share/applications/
~/.local/bin/
~/bin/
判断这些脚本:
- 是否仍在自动启动
- 是否只影响 XWayland
- 是否已经完全失效
- 是否需要为 X11 和 Wayland 分别设置分支
不要仅因为文件中存在 X11 命令就立即删除。历史脚本如果没有进入当前启动链,可以暂时保留作为回退工具。
七、检查截图、录屏和屏幕共享
Wayland 不允许普通应用直接抓取整个屏幕,因此截图和屏幕共享通常依赖:
- xdg-desktop-portal
- xdg-desktop-portal-kde
- PipeWire
- 会话管理器
应实际测试:
- Spectacle截图
- 区域截图
- 浏览器共享屏幕
- 共享单个窗口
- 录屏工具
- 文件选择器
日志中存在 Portal 警告,不等于功能一定损坏。只有在功能实际失败时,才应该结合故障发生时间分析日志。
八、检查绘图板与特殊输入设备
Wacom等绘图板在 X11 下经常使用:
xsetwacom
但 Wayland 下设备通常由 KWin 管理。
需要重新测试:
- 映射显示器
- 旋转方向
- 有效区域
- 按键映射
- USB和蓝牙连接
- 不同连接方式下的设备身份
旧 xsetwacom 脚本可以暂时保留,但不应继续被视为 Wayland 下的正式配置方式。
九、不要把正常现象误判为故障
迁移审计中经常出现以下误判:
- XWayland进程存在,所以系统仍在使用X11
libinput list-devices显示自然滚动关闭,所以KDE设置没有生效- SSH中
kscreen-doctor失败,所以显示配置损坏 - Portal日志有错误,所以截图一定失效
- 没有全局
GTK_IM_MODULE,所以Fcitx5配置错误 - KWin没有使用Vulkan渲染,所以Wayland异常
这些现象都需要结合运行时状态和实际功能测试判断。
结语
从 X11 迁移到 Wayland,不应被理解为单纯更换显示协议,而应被视为一次桌面配置体系迁移。
最可靠的方法是同时检查:
配置文件
+运行时状态
+实际交互测试
只有三者一致,才能确认问题真正解决。Wayland带来了更严格的安全边界和更现代的显示模型,但也要求过去依赖X11全局控制能力的工作流重新设计。