# 银河麒麟桌面 V11 wayland 切换为 X11

现在已经确认了：你当前图形会话确实是 **Wayland**。

```bash
echo $XDG_SESSION_TYPE
wayland

```

并且你的环境是：

- 银河麒麟桌面 V11
- UKUI
- LightDM
- NVIDIA 驱动已安装（截图里有 `xserver-xorg-video-nvidia-570`）

这类环境可以直接强制切换到 X11。

先创建 LightDM 配置：

```bash
sudo mkdir -p /etc/lightdm/lightdm.conf.d
sudo nano /etc/lightdm/lightdm.conf.d/99-force-x11.conf

```

写入：

```ini
[Seat:*]
type=xlocal
xserver-command=X

```

保存后，再创建 UKUI 会话默认配置：

```bash
sudo nano /usr/share/xsessions/ukui.desktop

```

检查是否存在以下内容（没有就添加）：

```ini
[Desktop Entry]
Name=UKUI
Comment=UKUI Desktop Environment
Exec=ukui-session
Type=Application
DesktopNames=UKUI

```

然后重启 LightDM：

```bash
sudo systemctl restart lightdm

```

如果当前在图形界面里操作，执行上面命令会直接退出桌面，所以更稳妥的是：

```bash
sudo reboot

```

重启后登录，再验证：

```bash
echo $XDG_SESSION_TYPE

```

应变成：

```bash
x11

```

如果重启后仍显示 `wayland`，说明 UKUI V11 的 Wayland 会话被单独指定了。继续执行下面命令查看系统有哪些会话：

```bash
ls /usr/share/wayland-sessions/
ls /usr/share/xsessions/

```

把输出发来，我再告诉你如何把默认会话从 `ukui-wayland` 改成 `ukui-x11`。

从结果看，LightDM 配置里没有指定 `user-session`，所以不是这里覆盖的。现在几乎可以确定是 **银河麒麟的 `kylin-wlcom`（Wayland 组件）在启动链里强制接管了会话**。

执行下面这个定位命令：

```bash
grep -R "kylin-wlcom" /etc /usr /var 2>/dev/null

```

重点找类似下面内容：

```ini
user-session=kylin-wlcom

```

或：

```ini
Exec=kylin-wlcom

```

不过根据你当前环境，更快的办法是直接把默认 Wayland 会话移走，让 LightDM 只能看到 X11 会话。

先备份：

```bash
sudo mv /usr/share/wayland-sessions/kylin-wlcom.desktop \
/usr/share/wayland-sessions/kylin-wlcom.desktop.bak

```

然后重启：

```bash
sudo reboot

```

登录后验证：

```bash
echo $XDG_SESSION_TYPE

```

预期：

```bash
x11

```

如果以后要恢复 Wayland：

```bash
sudo mv /usr/share/wayland-sessions/kylin-wlcom.desktop.bak \
/usr/share/wayland-sessions/kylin-wlcom.desktop
sudo reboot

```

这一步的原理是：你已经确认系统里存在唯一的 X11 会话：

```bash
/usr/share/xsessions/ukui.desktop

```

而 Wayland 会话只有：

```bash
/usr/share/wayland-sessions/kylin-wlcom.desktop

```

移走 `kylin-wlcom.desktop` 后，登录管理器就只能启动 UKUI 的 X11 会话。

做完后把：

```bash
echo $XDG_SESSION_TYPE

```

的结果发一下。