因为微信的原生Linux客户端现在已经作为“微信(Universal)”正式发布(见统信社区博客),不再为Beta版,本包将改名wechat-universal-bwrap。我已经将完整的git历史提交到了universal。
因AUR的限制,软件包不能直接改名,只能作为新软件包提交后,再提交合并请求。在合并前这两个PKGBUILD会共存。评论等内容在合并后也会转移到universal上。为了避免混乱(这个包名为beta却提供了universal的打包),新commit不会再往这边推送。
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 (devome, leaeasy) |
Last Packager: | 7Ji |
Votes: | 107 |
Popularity: | 7.46 |
First Submitted: | 2024-03-14 03:09 (UTC) |
Last Updated: | 2024-12-15 06:49 (UTC) |
« First ‹ Previous 1 .. 19 20 21 22 23 24 25 26 27 28 29 .. 35 Next › Last »
因为微信的原生Linux客户端现在已经作为“微信(Universal)”正式发布(见统信社区博客),不再为Beta版,本包将改名wechat-universal-bwrap。我已经将完整的git历史提交到了universal。
因AUR的限制,软件包不能直接改名,只能作为新软件包提交后,再提交合并请求。在合并前这两个PKGBUILD会共存。评论等内容在合并后也会转移到universal上。为了避免混乱(这个包名为beta却提供了universal的打包),新commit不会再往这边推送。
@sfchen-cs6589043 这里保留了wechat-beta-bwrap
的所有提交历史。我已经提交了将wechat-beta-bwrap
merge到这个PKGBUILD的请求,通过的话,原来的评论等都会合并到这里。新更新就不推到-beta
了,因为原生Linux客户端现在已经不是Beta了。
请问下 以后就到这里 wechat-beta-bwrap 后面会放弃维护吗
@XDwan 可能是因为这个作者封装的路径不一致
在另一个类似的bwrap wechat的aur包里面我测试过是好的。记得修改完毕重启UOS微信。
要解决也很简单的,如果内外真的不一样,调用dbus之前做一下路径转换就行。
具体作者进行一下适配就很简单。实际上传递给dbus的参数不需要真的存在于沙箱或者在沙箱内可以访问。 外部文件浏览器在外部能访问就行了。
核心逻辑是:底层还是应该进行dbus调用org.freedesktop.FileManager1
而不是文件系统调用。
当然,DBUS通信的权限肯定是要给的。
@wcz 我计划将本包改名为wechat-universal-bwrap
,因为这个包的上游com.tencent.wechat
是独立于原来的com.tencent.wexin
的新包,uos的报导也是以微信Universal为名的。
@ihipop 谢谢提醒,我会照此测试更新下,没问题我会创建wechat-universal-bwrap
并推到那边
@ihipop
我尝试直接修改 /usr/share/wechat-beta/usr/bin/dde-file-manager
的内容为 该脚本,又出现无法打开文件,nautilus 报错是找不到 $HOME/xwechat-files
文件夹
使用 org.freedesktop.FileManager1 API, 标准的dbus调用,Linux上知名的几个文件管理器都支持,而且不会受到文件系统沙盒的影响,只有这个失败了才应该进行hardcode的文件系统调用
我认为在文件路径上还是受到了沙箱的影响,毕竟沙箱内和沙箱外目录结构不一致。
dde-file-manager
#!/bin/bash
echo "$@" #>/tmp/fake-dde-call.log
dbus-send --print-reply --dest=org.freedesktop.FileManager1 \
/org/freedesktop/FileManager1 \
org.freedesktop.FileManager1.ShowItems \
array:string:"file://${2}" \
string:fake-dde-show-items && \
exit 0
dolphin --select "$2" && exit 0
xdg-open $(dirname "$2")
日志
...
/sandbox/dde-file-manager
--show-item /home/xxx/xwechat_files/wxid_xxx/msg/file/2024-03/xxx.docx
method return time=1710384158.930300 sender=:1.165 -> destination=:1.193 serial=204 reply_serial=2
...
1.0.0.236版本的微信已经正式发布了,本软件是不是该改名wechat-bwrap了?
fake_dde-file-manager
的实现方式是不对的,应该看这个文件
https://github.com/vufa/deepin-wine-wechat-arch/issues/273#issuecomment-1445156050
使用 org.freedesktop.FileManager1
API, 标准的dbus调用,Linux上知名的几个文件管理器都支持,而且不会受到文件系统沙盒的影响,只有这个失败了才应该进行hardcode的文件系统调用
聊天中的图片 无法点击放大预览了, 图片查看器白色窗口 不显示 版本 :1.0.0.236
Pinned Comments
7Ji commented on 2024-03-14 06:21 (UTC) (edited on 2024-12-08 08:59 (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
,同理为绝对路径或相对于~
的相对路径