[Wayland] Gdk-Message: Error flushing display: Protocol error
解决方法
1、临时解决:主要是软件对当前桌面显示系统不兼容,需要x11
GDK_BACKEND=x11 ./Hiddify-Linux-x64.AppImage
2、永久解决
sudo vi /etc/gdm3/custom.conf
将以下代码:
#WaylandEnable=false
修改为:
WaylandEnable=false
然后重启reboot
具体介绍:
要将应用程序从 Wayland 切换到 X11,你需要确保系统在 X11 会话下运行,并且应用程序使用 X11 后端。以下是详细的步骤:
1. 切换到 X11 会话
在 GNOME 桌面环境中:
- 注销当前会话。
- 在登录界面,通常会有一个选项来选择会话类型。选择"GNOME on Xorg"或类似的选项。
- 登录到 X11 会话。
在其他桌面环境中:
- 不同的桌面环境可能有不同的方法来切换到 X11 会话。通常在登录界面会有一个选项来选择会话类型。
2. 设置环境变量
确保应用程序使用 X11 后端,可以通过设置 GDK_BACKEND
环境变量:
bash
GDK_BACKEND=x11 your_application
3. 检查系统配置
确保系统配置支持 X11 会话。你可以通过以下命令检查当前会话类型:
bash
echo $XDG_SESSION_TYPE
如果输出是 x11
,则表示当前会话是 X11 会话。
4. 示例
假设你有一个名为 my_app
的应用程序,你可以通过以下命令运行它:
bash
GDK_BACKEND=x11 my_app
5. 永久设置 X11 会话
如果你希望永久切换到 X11 会话,可以在系统配置中进行设置。以下是一些常见桌面环境的设置方法:
GNOME:
-
打开终端并运行以下命令:
bashgsettings set org.gnome.desktop.session session-name gnome-xorg
-
注销并重新登录。
KDE Plasma:
- 打开系统设置。
- 导航到"启动和关机" -> "桌面会话"。
- 选择"X11"作为默认会话。
总结
- 切换到 X11 会话。
- 确保应用程序使用
GDK_BACKEND=x11
环境变量。 - 检查系统配置以确保支持 X11 会话。
通过这些步骤,你应该能够将应用程序从 Wayland 切换到 X11,并避免 Protocol error
错误。