@XDwanj 你说的对,但是进入wayland世界以后有些问题:即Wayland建议软件使用wayland输入法协议(在系统设置中选择相应输入法的虚拟键盘),不要添加环境变量。参见:
这一建议主要是为了防止Wayland下输入时遇到输入窗口闪烁的问题,即添加了环境变量后有输入栏闪烁风险。然而这个上游建议的方案有一大堆问题:
- Wayland输入法协议v1, v2, v3的在不同UI库、DE的兼容情况
- 静态链接了Qt库的闭源x11程序一般不支持,例如WPS Office、Wechat Universal等(但是electron的QQ是支持的)
某些软件想要优雅而无代价地适配好几乎是不可能的😇😇😇。
补充:
@XDwanj 推荐的3个包是供x11使用的(相当于一键设置环境变量),Wayland下也不建议用😇😇😇。
Pinned Comments
shilka commented on 2025-02-13 11:08 (UTC)
@dazuixia @lyhokia @swimming03 你们是否也使用了非GNOME/KDE的其他wayland WM/DE? 又研究了一下这个问题,如果不使用bwrap沙盒直接执行wechat是可以的,排除了wechat本身的问题。我认为问题出在bwrap、xwayland的配合和调用上面,导致微信无法在xwayland中启动。我使用的WM是Hyprland,推测可能和各个WM/DE有一定的关系。目前我找到一个可行的缓解方式,安装:
xwayland-satellite
,并提前执行这一程序,之后正常启动wechat-universal。@7Ji 如果其他人也可以缓解,烦请置顶一下这个解决方案,或者如果您很熟悉bwrap,是否可以看看通过某些参数解决它和xwayland的交互问题。
7Ji commented on 2024-03-14 06:21 (UTC) (edited on 2024-12-26 09:08 (UTC) by 7Ji)
本软件包在Github上亦有仓库: https://github.com/7Ji-PKGBUILDs/wechat-universal-bwrap/ (仓库未启用issues,有问题请直接在此页面提出)
各位如有改进意见,欢迎在Github仓库页提交PR :)
抓取新版本的脚本和PKGBUILD在同一层。执行
python fetch_uos_wechat_release.py
获取UOS仓库内的重打包版本,执行./fetch_tencent_wechat_release.sh
获取腾讯官方的版本。如果发现软件过期,请善用本界面的标记过期功能。:)默认配置下,只有
~/Documents/WeChat_Data/home
作为容器内的~
,其他宿主文件和文件夹均不暴露在容器内可以编写
~/.config/wechat-universal/binds.list
来设置更多的被暴露到容器内的文件/文件夹,每行一个路径,绝对路径或相对于~
的相对路径要将微信文件的主要路径修改至
~/Documents/WeChat_Data
外的其他路径,请设置环境变量WECHAT_DATA_DIR
,同理为绝对路径或相对于~
的相对路径更多参数与环境变量,请在命令行输入
wechat-universal --help
查看