腾讯对 linux 还是太不上心了(
不过随着中国政府对 linux 的逐渐扶持,中国厂商对 linux 软件的支持应该会越来越好。
Step 0:安装腾讯会议
难绷的一点:Only deb
packages are supported.
让选两个架构,但是全是 deb 包;Arch 用户应该是能想办法的,rpm
系乃至于其他的就自求多福吧(
很明显是迎合中国推广deb
系发行版(例如中标麒麟、深度及其 UOS、ubuntu Kylin等),其他常用软件如钉钉也是这样做的。
呃呃。
但是它不支持 Wayland 啊喂!这好吗?这不好。Wayland 是逐渐流行的新技术,为什么不支持?
Step 1:切 x11
Google 出来的 solution 大多是说,别 Wayland 了,log out 后换 x11 吧。这也太笨了……
本篇参考的是找到的唯一靠谱一点的一篇博客。
编辑/opt/wemeet/wemeetapp.sh
找到包含有if [ "$XDG_SESSION_TYPE" = "wayland" ]
的一行,这是腾讯会议检测 session type 的地方,下面就是检测到 Wayland 直接报错退出的代码
在这个代码块上面,加入以下代码:
export XDG_SESSION_TYPE=x11
export QT_QPA_PLATFORM=xcb
unset WAYLAND_DISPLAY
这里就是修改腾讯会议这个 session 的环境变量,绕开腾讯会议的检测。然后就可以使用了。
原 post 不能直接使用,应该是因为:版本更新后export QT_PLUGIN_PATH="${HERE}/plugins"
在整个启动脚本的末尾,export
完就启动了;而窗口检测在上面,都检测完报错退出了,下面再export
自然没用。
More
绕开检测后腾讯会议可以启动,但是并不 flawless。
首先,最大的问题是,因为 Wayland 的限制,腾讯会议现在无法捕捉到你的屏幕,自然,“共享屏幕”也就失效了。实际效果是:当你尝试共享屏幕时,共享的是 pure black。
其次应该是 linux 版本的通病,就是没有录制的选项。
小问题就是,那些稍显 fancy 的 feature,比如摄像头背景虚化、虚拟背景等等自然也是没有的。
槽点太多不吐不快。Wayland 在保护隐私方面肯定是更先进的(坏处是,直接导致过去流行的一些软件如截图软件 shutter 直接失效),但是如果够上心的话,这并不是什么大问题。
Gnome 自带了支持 Wayland 的截图,OBS 在 Wayland 下也可以工作(不过不可以跨屏幕抓取内容),Intellij 家会开 XWayland 以保持兼容性……都什么年代,还在用传统 x window?
既然要支持 linux 发展,只给deb
包就算了,可是连 ubuntu 22.04 默认的 Wayland 都不支持,那实在是很令人无语。
让我想起了以前腾讯的QQ——Linux版
有一个比使用虚拟摄像头更好的方案,就是开一个 rootful Xwayland session,在这个 session 里开一个轻量级 DE,obs 虚拟摄像头的内容通过 ffplay 或者 vlc 播到这个 Xwayland 里,腾讯会议也在这个 Xwayland 桌面里,共享播出来的内容。
您已经成功试验过了吗,我也打算试试看这个方案了
是的,我用这个方案1年多了
我一般是 Xwayland :2 -auth
然后在一些 shell 里 export DISPLAY=:2; export XAUTHORITY= ,在这些 shell 里分别开 blackbox (一个极简桌面) wemeet 共享这个极简桌面,最后 ffplay /dev/video2 (即虚拟摄像头)
求助,我也碰到同样的同题了。我对linux不是很熟悉,照着你的思路,没搞定。有详细的教程吗?
正好在找腾讯会议怎么分享屏幕,看样子还是没法直接支持。wayland下有 xdg-desktop-portl 使用pipewire来进行屏幕共享的技术(obs-studio是支持的),然后我现在有一个临时的解决方案,就是obs先使用pipewire来捕获当前的屏幕,然后使用obs的虚拟摄像头功能创建一个摄像头,腾讯会议里面使用obs的虚拟摄像头就可以共享屏幕了。
所以现在我切回了xorg,wayland目前还有很长路要走(
https://github.com/xuwd1/wemeet-wayland-screenshare
Now supporting KDE, GNOME, etc.