ubuntu Gdk-Message: Error flushing display: Protocol error

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 桌面环境中:
  1. 注销当前会话
  2. 在登录界面,通常会有一个选项来选择会话类型。选择"GNOME on Xorg"或类似的选项。
  3. 登录到 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:
  1. 打开终端并运行以下命令:

    bash 复制代码
    gsettings set org.gnome.desktop.session session-name gnome-xorg
  2. 注销并重新登录。

KDE Plasma:
  1. 打开系统设置。
  2. 导航到"启动和关机" -> "桌面会话"。
  3. 选择"X11"作为默认会话。

总结

  • 切换到 X11 会话。
  • 确保应用程序使用 GDK_BACKEND=x11 环境变量。
  • 检查系统配置以确保支持 X11 会话。

通过这些步骤,你应该能够将应用程序从 Wayland 切换到 X11,并避免 Protocol error 错误。

相关推荐
器灵科技11 小时前
AI视频工具实测:Seedance/可灵/HappyHorse谁最能打?
java·运维·数据库·人工智能·github
用户39462353652411 小时前
Uboot - DM框架
linux
烁34711 小时前
Docker
运维·docker·容器
IT WorryFree12 小时前
AsciiDoc + Antora开局
运维
网络中的夜鹰12 小时前
轩辕镜像一键安装Docker和Docker Compose脚本
运维·docker·容器
鹤落晴春12 小时前
RH124问答5:管理本地用户和组
linux·运维·服务器
其实防守也摸鱼12 小时前
软件安全与漏洞--Windows底层原理与软件逆向工程基础
linux·网络·数据库·算法·安全·安全架构·软件安全与漏洞
云栖梦泽13 小时前
Linux内核与驱动:pinctl子系统和GPIO子系统
linux·单片机·嵌入式硬件
難釋懷13 小时前
Nginx对客户端的限制
运维·nginx
梦想的颜色13 小时前
从零入门:Docker在Ubuntu上的安装、使用与主流镜像仓库实战(Java/Go/MySQL/PostgreSQL/MongoDB/Nginx
java·ubuntu·docker