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 错误。

相关推荐
nxb55611 小时前
haproxy算法,ip透传,自定义haproxy错误页面
运维·服务器
Nebula嵌入式11 小时前
【C语言】09-深入解析main函数
linux·c语言·开发语言·嵌入式
AKAMAI11 小时前
你的源服务器可能是你做出的最昂贵决定
运维·人工智能·云计算
Dxy123931021612 小时前
Linux 编译安装 Python 3.12.10(多版本共存,不破坏系统Python)
linux·运维·python
技术深耕者13 小时前
AI Agent从演示到生产:企业进入“自动化层”时代
运维·人工智能·自动化
xz驱动分享14 小时前
Linux DMA 子系统学习笔记
linux·dma·rk3588·嵌入式软件
w678200715 小时前
Prisma不能优雅的支持DTO,试试Vona ORM吧
linux·运维·ubuntu
APItesterCris15 小时前
Open Claw 实战教程:5 分钟搭建京东商品自动化监控与数据分析系统
大数据·运维·数据库·数据仓库·自动化
Darkwanderor15 小时前
Linux系统编程实战项目:模拟实现shell
linux·c++
杨某不才17 小时前
如何能让Linux服务器对shell 终端 + sftp 文件传输长期保活
linux·运维·服务器