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.77
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 .. 25 26 27 28 29 30 31 32 33 34 35 .. 39 Next › Last »

XDwanj commented on 2024-03-13 10:12 (UTC) (edited on 2024-03-13 10:20 (UTC) by XDwanj)

@MoetaYuko

我去问了 ChatGPT 这个变量和路径有什么用,在前面的评论中有提到有人需要 root 或者 xhost+ 才能运行,我想这个应该是为了解决这个问题用的。

我不是很理解,这个文件应该是 xwayland 创建的,不太应该和 wlroots 的混成器有关,你找找,你没有这个变量,说不定在 $HOME 目录里

某论坛回复 在这个回复中有提到这个 xauth ,wlroots 确实不会生成


$XAUTHORITY 是一个环境变量,在 UNIX 和类 UNIX 系统(如 Linux)中使用 X Window System(X11)时经常遇到。这个变量指向一个文件,该文件包含了用于授权的魔法 cookie。这些 cookie 是随机生成的字符串,X11 服务器(如 X.org)和客户端(图形界面程序)之间用它来相互认证,以确保安全的连接。

具体来说,$XAUTHORITY 环境变量的作用包括:

  1. 指定 X 授权文件的位置:它告诉 X11 客户端在哪里可以找到授权信息,客户端需要这些信息来连接到 X 服务器。

  2. 安全性:授权文件通常只有用户和用户启动的进程可以访问,这样可以防止未授权的用户或进程连接到 X 服务器。

  3. 会话隔离:在同一台机器上可能同时运行多个 X 会话,每个会话都有自己的授权文件。这样可以确保会话之间的隔离,用户的图形环境不会相互干扰。

在你给出的例子中:

/run/user/1000/.mutter-Xwaylandauth.0MYRK2

这个路径指向的文件是当前用户(用户 ID 为 1000)的 X 授权文件,由 Mutter 窗口管理器创建,用于 Wayland 会话中运行的 Xwayland。Xwayland 是一个兼容层,允许在 Wayland 会话中运行那些仅支持 X11 的应用程序。

  • /run/user/1000 是一个临时文件系统(通常是 tmpfs),用于存储用户级别的运行时数据。这个目录在系统重启后不会保留内容。

  • mutter 是 GNOME 的默认窗口管理器,它使用 Wayland 作为其默认显示服务器。

  • Xwaylandauth 文件是临时生成的,用于存储 Xwayland 会话的授权 cookie。

授权文件的内容通常是二进制的,可以使用 xauth 命令查看和管理。如果 XAUTHORITY 环境变量没有被设置,X11 客户端会默认查找 $HOME/.Xauthority 文件。

XDwanj commented on 2024-03-13 10:04 (UTC)

@MoetaYuko 原来如此,是我孤陋寡闻了

moetayuko commented on 2024-03-13 10:00 (UTC)

@XDwanj 并不会,我是 hyprland,所有基于 wlroots 的合成器应该都不会有这个东西

XDwanj commented on 2024-03-13 09:57 (UTC) (edited on 2024-03-13 09:59 (UTC) by XDwanj)

@MoetaYuko

这个变量在你启动 xwayland 程序后,会出现,我也是 Wayland,Gnome + Wayland + Amd核显

不过我不是很明白 --ro-bind-try "${XAUTHORITY}"{,} 在这里起什么作用


echo $XAUTHORITY

/run/user/1000/.mutter-Xwaylandauth.0MYRK2

moetayuko commented on 2024-03-13 09:52 (UTC) (edited on 2024-03-13 09:58 (UTC) by moetayuko)

更新后打不开了,提示 Error: Xauthority not set, no X server running?

wayland 下是没有这个环境变量的,需要把检查去掉

可以按照 https://aur.archlinux.org/cgit/aur.git/tree/start.sh?h=linuxqq-nt-bwrap#n32 设一个默认值

XDwanj commented on 2024-03-13 09:37 (UTC) (edited on 2024-03-13 09:47 (UTC) by XDwanj)

@auryouth

dde-file-manager 是给 Gnome 和 DDE 考虑的

@XDwanj 经你提醒,检测了会被遍历的不同文件浏览器,发现KDE下,dolphin文件浏览器 (KDE)可以正常在宿主打开,nautilus (Gnome)和dde-file-manager (Deepin)文件浏览器只能在容器内打开。三者遍历顺序是dde-file-manager -> nautilus -> dolphin。仅装成套KDE桌面的用户,可以正常在宿主打开文件。一旦安装nautilus和dde-file-manager,就会无法在宿主打开这些文件。请问你的桌面环境和文件管理器安装情况是怎样的?

前面 @7Ji 已经提到过这个问题,并作解释了,fake_dde-file-manager 是很有必要的,我觉得你可以试试本包提供的 fake_dde-file-manager

flatpak-xdg-utils/xdg-open 主要是为了穿透沙箱调用程序,xdg-utils/xdg-open 在 Gnome 环境下会在沙箱内打开文件,我不太清楚 KDE 的情况(如果你能告知我的话,不胜感激),但在 Gnome 环境下很有必要。

我感觉这是flatpak-xdg-utils的局限,github上也说了The tools in flatpak-xdg-utils are only useful inside a Flatpak sandbox.

至于 flatpak-xdg-utils 解释自己只是为 flatpak 服务,这个无关紧要,这个包本来也是为 UOS 服务的,我们不也在用吗?实用就可以了。XD

至于你提到的软链接我不是很明白,如果可以,能做进一步的解释吗?

auryouth commented on 2024-03-13 09:13 (UTC)

我这边arch+kde6用flatpak-xdg-utils和不用dde-file-manager测试,只要软链接存在,就会在宿主机打开文件,dde-file-manager没啥用

但只要软链接不存在,flatpak版本的xdg-open就没办法打开文件,我尝试过这个脚本

dde-file-manager

#!/bin/bash

if [[ $@ =~ '--show-item' ]]; then
    file=$(echo "$@" | cut -c 13-)
    real_path=$(realpath -m "$file" | xargs dirname | sed "s|^$HOME/xwechat_files|$HOME/Documents/WeChat_Data/xwechat_files|")
    xdg-open $real_path
else
    echo "Check the script\n"
fi

把沙盒里的目录改成宿主的目录,会提示找不到文件

我感觉这是flatpak-xdg-utils的局限,github上也说了The tools in flatpak-xdg-utils are only useful inside a Flatpak sandbox.

我安装过flatpak版本的wechat,上面这个脚本就是来源这里,是可以正常打开宿主机的,没有多余的链接

只安装flatpak-xdg-utils可能缺了一些flatpak的基本功能

Dawsonwen commented on 2024-03-13 08:51 (UTC) (edited on 2024-03-13 08:52 (UTC) by Dawsonwen)

截图的快捷键显示灰色,貌似不能修改或者屏蔽。 /xwechat_files/all_users/config下面有

-rwx------ 1 wen wen 4096 3月 6 23:32 global_config

-rwx------ 1 wen wen 4096 3月 6 23:32 global_config.crc

直接文本打开global_config貌似不太行,后面还带有一个crc的校验文件。

  1. wechat-uos-beta在UOS上面该快捷键是可以更改的吗?

XDwanj commented on 2024-03-13 08:47 (UTC) (edited on 2024-03-13 08:58 (UTC) by XDwanj)

好的,我现在试试。

软件运行的非常好!


未删除 home 文件夹,文件正常打开

[file] exists "/home/xxx/xwechat_files/wxid_xxx/msg/file/2024-03/xxx.docx"
/sandbox/dde-file-manager
Fake deepin file manager: xdg-open to show '/home/xxx/xwechat_files/wxid_xxx/msg/file/2024-03/xxx.docx' in file manager

运行期间删除 home 目录,文件无法打开

[file] download finish  "xxxx@chatroom_1xxx"
OnDownloadProgress progress :  0
status changed :  "文件下载失败"
/sandbox/dde-file-manager
Fake deepin file manager: xdg-open to show '/home/xxx/xwechat_files/wxid_xxx/msg/file/2024-03/xxx.pdf' in file manager
Failed to open '/home/xxx/xwechat_files/wxid_xxx/msg/file/2024-03': No such file or directory

7Ji commented on 2024-03-13 08:43 (UTC)

@XDwanj 尝试添加了一个假dde-file-manager,请再测试下