Package Details: wechat-universal-bwrap 4.0.1.11-1

Git Clone URL: https://aur.archlinux.org/wechat-universal-bwrap.git (read-only, click to copy)
Package Base: wechat-universal-bwrap
Description: WeChat (Universal) with bwrap sandbox
Upstream URL: https://linux.weixin.qq.com/
Licenses: GPLv3, proprietary
Conflicts: wechat-universal
Provides: wechat-universal
Replaces: wechat-beta, wechat-beta-bwrap
Submitter: 7Ji
Maintainer: 7Ji (leaeasy)
Last Packager: 7Ji
Votes: 130
Popularity: 3.69
First Submitted: 2024-03-14 03:09 (UTC)
Last Updated: 2024-12-24 07:50 (UTC)

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 查看

Latest Comments

« First ‹ Previous 1 .. 28 29 30 31 32 33 34 35 36 37 38 39 Next › Last »

zac commented on 2024-03-12 11:26 (UTC)

有人知道怎么调整 HiDPI 缩放吗?

XDwanj commented on 2024-03-12 11:00 (UTC) (edited on 2024-03-12 11:02 (UTC) by XDwanj)

@acd407

wechat-beta 估计是调用了 UOS 或 DDE 的状态栏 api,Gnome是没有右键菜单,右键点击无效。

兴许 UOS 或者 DDE 才有右键菜单。

XDwanj commented on 2024-03-12 10:40 (UTC) (edited on 2024-03-12 11:53 (UTC) by XDwanj)

@7Ji

您有尝试过用 flatpak-xdg-utils/xdg-open

或者这么说,xdg-open 是可以正常工作的,但 flatpak-xdg-utils/xdg-open 是穿透沙箱的,所以找寻的地址不存在。

例如:

  1. 沙箱内:聊天文件在 /home/xdwanj/WeChat_Data/xwechat_files/wxid_xxx/msg/file
  2. 沙箱外:聊天文件在 /home/xdwanj/Documents/WeChat_Data/xwechat_files/wxid_xxx/msg/file

flatpak-xdg-utils/xdg-open 是在沙箱外找 /home/xdwanj/Documents/WeChat_Data/xwechat_files/wxid_xxx/msg/file 目录,自然是不存在的

要么可以这样考虑,如果检测到 snapd-xdg-openflatpak-xdg-utils/xdg-open 的存在,就设置软链接。

否则就直接打开。

------------分割线------------

使用 flatpak-xdg-utils 暂时还是无法使用,一定得配合软链接使用,抱歉,我试了很多遍,还是不行 ;)

acd407 commented on 2024-03-12 10:37 (UTC)

我的图形环境是xwayland+Hyprland+waybar,发现微信的通知栏图标右键没有文字,只有一个白色小提示框。有人遇到过这个问题吗? <img alt="image" src="https://img2.imgtp.com/2024/03/12/CHpXRYfV.png" />

7Ji commented on 2024-03-12 10:34 (UTC)

@XDwanj

不是的,这个软链接在容器内传给xdg-open的时候就已经展开了,传递前后都是完整路径,我是测试过后才推上来的

XDwanj commented on 2024-03-12 10:15 (UTC) (edited on 2024-03-12 10:21 (UTC) by XDwanj)

感谢 @7Ji 的及时更新,但思路貌似反了。

由于是沙盒,所以在微信眼里,他要打开的是 $HOME/xwechat_files/xxxx.png 文件,于是调用 flatpak-xdg-utils/xdg-open 并传入该路径,但是 flatpak-xdg-utils/xdg-open 是在沙箱外打开文件,于是在 $HOME 下找 xwechat_files 文件夹,由于在 $HOMExwechat_files 并不存在,于是我们提议用软链接,但这里貌似并没有解决这个问题 ;)

我想普通的 xdg-open 并没有穿过沙箱,直接调用,所以才能打开,但是 flatpak-xdg-utils/xdg-open 原本就是为 flatpak 程序调用沙箱外的程序用的,所以会脱离沙箱环境。

在这里脱离沙箱并不是坏事,如果调用程序没法读取沙箱外的应用配置,会在样式和功能上大打折扣。

7Ji commented on 2024-03-12 10:02 (UTC) (edited on 2024-03-14 03:26 (UTC) by 7Ji)

本软件包在Github上亦有仓库: https://github.com/7Ji-PKGBUILDs/wechat-universal-bwrap/ (仓库未启用issues,有问题请直接在此页面提出)

各位如有改进意见,欢迎在Github仓库页提交PR :)

7Ji commented on 2024-03-12 09:59 (UTC)

谢谢诸位使用软链接解决在宿主打开文件的建议,考虑到bwrap是为了避免污染宿主环境,链接到~/xwechat_files的方式我觉得有些不雅。

我提交的方案是,在Wechat_Data下额外创建了home来bind到容器home,再把Wechat_Data/xwechat_files bind到它本身,然后创建Wechat_Data/home/xwechat_files链接指向前者,这样的话就能把所有的文件、链接等限制在Wechat_Data下。

经过测试,flatpak-xdg-utils/xdg-open打开外部文件和链接的体验更好,已经加到了optdepends

chestNut_Lsj commented on 2024-03-12 09:53 (UTC)

@XDwanj 感谢🙏我忙完最近的事情就去折腾一下试试。

不过我最近只是轻度使用,能够接收消息就行,发送单个文件就复制到wechat data目录下,等待进一步完善吧

XDwanj commented on 2024-03-12 09:13 (UTC) (edited on 2024-03-12 09:17 (UTC) by XDwanj)

@chestNut_Lsj

我尝试把 /usr/share/fonts 目录引入沙盒,但是 emoji 一如既往无法显示,理论上这是字体问题。但 wechat 貌似不读取 /usr/share/fonts 里的字体文件,暂时无解。

至于发送文件不方便,当前沙盒只暴露了 $HOME/Documents/WeChat_Data 目录,如果能够暴露 $HOME/Downloads 并设置 $HOME 的软链接。

ln -s $(xdg-user-dir DOCUMENTS)/WeChat_Data/xwechat_files $HOME/xwechat_files

就可以做到下载文件夹的拖拽发送文件。