Ubuntu Wayland启动腾讯会议并实现原生屏幕共享

Intro

众所周知,长期以来,由于腾讯会议项目组的尸位素餐与极度不作为,在Wayland成为Ubuntu 24.04 LTS的默认窗口环境下,仍然选择摆烂,甚至还“贴心”地在启动脚本下增加检测Wayland退出的代码;并且即使使用一些手段成功了,仍然无法共享屏幕,导致目前共享屏幕的手段大多采用OBS虚拟摄像头的方式,但此种方法造成清晰度较低,并且无法使用屏幕共享特有的一些功能。腾讯会议项目组的做法实在是道德沦丧、令人发指,并引起民愤。

今天博主将分享在Wayland下成功启动腾讯会议,并成功通过原生方法共享屏幕。本博客使用了wemeet-wayland-screenshare项目,支持Gnome和KDE桌面,其中KDE桌面下效果更佳,使用Xfce或其他桌面环境的朋友请自行测试,不保证可用性。

修改启动脚本

  1. 腾讯会议官网上下载Linux版腾讯会议并安装。安装后,可在左下角菜单栏中找到腾讯会议,发现其由/opt/wemeet/wemeetapp.sh启动。
  2. 编辑上述脚本:
    sudo vim /opt/wemeet/wemeetapp.sh
    
    并在该启动脚本开头加入如下命令:
    export XDG_SESSION_TYPE=x11
    export QT_QPA_PLATFORM=xcb
    unset WAYLAND_DISPLAY
    

修复共享屏幕

  1. 安装必要依赖:
    sudo apt install build-essential cmake ninja-build pkg-config wireplumber xdg-desktop-portal xdg-desktop-portal-gtk xdg-desktop-portal-wlr xwaylandvideobridge libopencv-dev libportal-dev libpipewire-0.3-dev -y
    
  2. 克隆Github项目:
    git clone --recursive https://github.com/xuwd1/wemeet-wayland-screenshare.git && cd wemeet-wayland-screenshare 
    mkdir build && cd build
    
  3. 编译该项目:
    cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release && ninja
    
  4. 编译完成后,在该目录下可以找到名为 libhook.so 的文件,将其安装到系统目录/usr/local/lib/wemeet中:
    sudo ninja install
    
  5. 使用如下命令启动腾讯会议,可将此命令编写为脚本以便启动:
    LD_PRELOAD=$(readlink -f /usr/local/lib/wemeet/libhook.so) /opt/wemeet/wemeetapp.sh
    
  6. 至此安装完毕。可将克隆的本项目源代码删除

Bonus

Flatpak版腾讯会议已集成该项目,也可以直接从 Flathub 安装。

腾讯会议目前的官方版本(V3.15.1(401))尚未完全支持 Wayland 显示服务器协议[^1]。当检测到当前会话类型为 `wayland` 时,启动脚本会尝试加载 X11 兼容层(通过 `/opt/x11-wayland/x11-ext.sh`),如果该兼容层不存在,则会提示用户退出程序。 ### 使用方法 #### 方法一:切换回 X11(Xorg)显示服务器 1. 在登录界面选择使用 **Xorg** 模式而非默认的 Wayland。 - 在 GNOME 登录界面,点击用户名后,在会话选项中选择 "GNOME on Xorg" 或类似选项。 2. 安装腾讯会议正常运行。 #### 方法二:手动安装 X11 兼容层(适用于坚持使用 Wayland 的用户) 可以尝试在系统中手动创建或安装 X11 兼容环境,使腾讯会议启动脚本能找到所需的文件路径和脚本: ```bash sudo mkdir -p /opt/x11-wayland sudo touch /opt/x11-wayland/x11-ext.sh ``` 编辑 `/opt/x11-wayland/x11-ext.sh` 文件,添加基本的 X11 环境设置命令,例如: ```bash #!/bin/bash export GDK_BACKEND=x11 export QT_DEBUG_PLUGINS=1 export QT_QPA_PLATFORM=xcb ``` 保存后赋予执行权限: ```bash sudo chmod +x /opt/x11-wayland/x11-ext.sh ``` 这样可以让腾讯会议跳过“Wayland 不支持”的提示尝试以 X11 后端运行。 #### 方法三:使用 Flatpak 安装腾讯会议(跨发行版推荐) Flatpak 提供了一种更统一的方式来运行腾讯会议且在某些情况下能更好地处理 Wayland/X11 切换问题。可以通过 Flathub 安装: ```bash flatpak install flathub com.tencent.WeMeet ``` 安装完成后,可在应用程序菜单中启动腾讯会议。Flatpak 应用通常自带运行时环境,能够更好地隔离和兼容不同桌面环境。 ### 注意事项 - 如果使用的是 Fedora 38 或更高版本,GNOME 默认启用 Wayland,因此需要特别注意上述配置。 - Ubuntu 用户也面临类似的兼容性问题,建议参考其社区提供的解决方案[^2]。 - 若希望避免频繁切换显示服务器,可考虑使用 KDE Plasma 等对 Wayland 支持较好的桌面环境,或者等待腾讯官方更新对 Wayland 的支持。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值