关于双击打开文件和右键在文件夹中打开没反应的问题找到了解决方案:
- 将目前使用的 /usr/lib/snapd-xdg-open/xdg-open 替换为 /usr/lib/flatpak-xdg-utils/xdg-open。这是因为 snapd-xdg-open 只支持 http, https 和 mailto 协议:https://github.com/snapcore/snapd-xdg-open/blob/master/src/snapd-xdg-open.c#L67。由于 flatpak-xdg-utils 是官方打包的,所以不存在引入 aur 依赖的问题
- 容器内外数据文件夹路径需要相同。目前是直接把
~/文档/WeChat_Data
作为容器内的 HOME,导致容器内存放文件的路径~/xwechat_files/
与容器外~/文档/WeChat_Data/xwechat_files/
不一致,flatpak-xdg-open 似乎并不能处理这种映射关系。wechat-linux-bwrap 使用了一个比较 trivial 的 workaround:https://aur.archlinux.org/cgit/aur.git/tree/wechat.sh?h=wechat-linux-bwrap#n75,直接在容器外面创建~/xwechat_files -> ~/文档/WeChat_Data/xwechat_files/
的软链接。不过我觉得如果有办法在 bwrap 里面处理会更好一些
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
查看