@wcz 我计划将本包改名为wechat-universal-bwrap
,因为这个包的上游com.tencent.wechat
是独立于原来的com.tencent.wexin
的新包,uos的报导也是以微信Universal为名的。
@ihipop 谢谢提醒,我会照此测试更新下,没问题我会创建wechat-universal-bwrap
并推到那边
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) |
« First ‹ Previous 1 .. 24 25 26 27 28 29 30 31 32 33 34 .. 39 Next › Last »
@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
@hdm9527
这个我也报错,不过无伤大雅,程序正常运行。
明明 --dev /dev --dev-bind /dev/dri{,} --ro-bind /usr{,}
这几句已经把amd显卡引入了,还是出现报错,我也觉得匪夷所思。
wechat 报找不到 /usr/lib/dri/amdgpu_dri.so
,不过鉴于我 /usr/lib/dri
下也没有这个文件,程序有bug更有可能。
$> ls /usr/lib/dri
crocus_dri.so nouveau_drv_video.so s3g_drv_video.so
d3d12_dri.so nvidia_drv_video.so swrast_dri.so
d3d12_drv_video.so r300_dri.so vdpau_drv_video.so
i915_dri.so r600_dri.so virtio_gpu_dri.so
iris_dri.so r600_drv_video.so virtio_gpu_drv_video.so
kms_swrast_dri.so radeonsi_dri.so vmwgfx_dri.so
nouveau_dri.so radeonsi_drv_video.so zink_dri.so
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to open amdgpu: /usr/lib/dri/amdgpu_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/dri, suffix _dri)
failed to load driver: amdgpu
libpng warning: iCCP: known incorrect sRGB profile
libva error: vaGetDriverNames() failed with unknown libva error
libva error: vaGetDriverNames() failed with unknown libva error
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to open amdgpu: /usr/lib/dri/amdgpu_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/dri, suffix _dri)
KMS: DRM_IOCTL_MODE_CREATE_DUMB failed: Permission denied
KMS: DRM_IOCTL_MODE_CREATE_DUMB failed: Permission denied
...
kde6+wayland+fcitx5下按ctrl+space激活不了输入法,好奇怪
amd核显报错
❯ wechat-beta
libpng warning: iCCP: known incorrect sRGB profile
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to open amdgpu: /usr/lib/dri/amdgpu_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/dri, suffix _dri)
failed to load driver: amdgpu
libva error: vaGetDriverNames() failed with unknown libva error
libva error: vaGetDriverNames() failed with unknown libva error
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to open amdgpu: /usr/lib/dri/amdgpu_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/dri, suffix _dri)
KMS: DRM_IOCTL_MODE_CREATE_DUMB failed: Permission denied
KMS: DRM_IOCTL_MODE_CREATE_DUMB failed: Permission denied
@MoetaYuko 谢谢提醒,现在空XAUTHORITY不会报错了,会设置默认值
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
查看