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 .. 14 15 16 17 18 19 20 21 22 23 24 .. 39 Next › Last »

7Ji commented on 2024-03-27 15:21 (UTC)

@mochaa

谢谢,已经改用了您提供的license stub并弃用了原来提取的license.tar.gz,并增加了GPLv3。

不过这是否意味着我们(或更合理地,从官方仓库安装微信的UOS或Kylin V10用户)目前可以按GPLv3向贵司索取微信源码?

mochaa commented on 2024-03-27 13:30 (UTC)

包 license (目前)應加上 GPLv3,因為 wechat 中靜態鏈接了 https://github.com/desktop-app 的內容。

proof:

$ rg -a desktop-app wechat
117290:// https://github.com/desktop-app/legal/blob/master/LEGAL

已反饋給 WXG 相關同事處理。

mochaa commented on 2024-03-27 13:24 (UTC) (edited on 2024-03-27 13:51 (UTC) by mochaa)

提供一個 libuosdevicea.so 的 stub:

/*
 * licensestub - compat layer for libuosdevicea
 * Copyright (C) 2024 Zephyr Lykos <self@mochaa.ws>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 *
 */
#define _GNU_SOURCE

#include <string.h>

// MAC address with colon stripped
void uos_get_mac(char* out) {
    if (out) {
        strcpy(out, "000000000000");
    }
}

void uos_get_hddsninfo(char* out) {
    if (out) {
        strcpy(out, "SN");
    }
}

// MD5 of hddsninfo
void uos_get_hwserial(char* out) {
    if (out) {
        strcpy(out, "92666505ce75444ee14be2ebc2f10a60");
    }
}

// Hardcoded
void uos_get_mb_sn(char* out) {
    if (out) {
        strcpy(out, "E50022008800015957007202c59a1a8-3981-2020-0810-204909000000");
    }
}

void uos_get_osver(char* out) {
    if (out) {
        strcpy(out, "UnionTech OS Desktop");
    }
}

void uos_get_licensetoken(char* out) {
    if (out) {
        strcpy(out, "djEsdjEsMSwyLDk5QUFFN0FBQVdRQjk5OFhKS0FIU1QyOTQsMTAsOTI2NjY1MDVjZTc1NDQ0ZWUxNGJlMmViYzJmMTBhNjAsQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE6ZjA3NjAwYzZkNmMyMDkyMDBkMzE5YzU2OThmNTc3MGRlYWY1NjAyZTY5MzUxZTczNjI2NjlhNzIyZTBkNTJiOTNhYzk0MmM3YTNkZTgxNjIxMmUwMDA1NTUwODg4N2NlMDQ4ODMyNTExY2JhNGFiMjdmYzlmZjMyYzFiNTYwNjMwZDI3ZDI2NmE5ZGIxZDQ0N2QxYjNlNTNlNTVlOTY1MmU5YTU4OGY0NWYzMTMwZDE0NDc4MTRhM2FmZjRlZGNmYmNkZjhjMmFiMDc5OWYwNGVmYmQ2NjdiNGYwYzEwNDhkYzExNjYwZWU1NTdlNTdmNzBlNjA1N2I0NThkMDgyOA==");
    }
}

int uos_is_active() {
    return 0;
}

剩下檢查 DISTRIB_ID=uoswechat 本體內,需要手動掛載。

everyx commented on 2024-03-27 04:00 (UTC)

@everyx usr下配置fonts不生效,你可以把 75-noto-color-emoji.conf 这段配置链接到/etc/fonts/conf.d目录下, 然后重启,但是首先确保安装了noto-fonts-emoji

@yifwon 谢谢,可以了,补充一下,75-noto-color-emoji.conf 需要安装 noto-color-emoji-fontconfig-no-binding 或者 noto-color-emoji-fontconfig 或者手动创建。

7Ji commented on 2024-03-27 02:53 (UTC)

@douglarek 是,本来就没有,功能是没有做全的。有奇怪某些功能是不是原生缺失的话,可以去试下 lihe07 维护的无数据沙盒的 wechat-universal ,是这边的fork,但注意保护数据

douglarek commented on 2024-03-27 02:45 (UTC)

linux 版本是本来就没有单条信息引用功能吗

yifwon commented on 2024-03-27 02:44 (UTC)

@everyx usr下配置fonts不生效,你可以把75-noto-color-emoji.conf这段配置链接到/etc/fonts/conf.d目录下, 然后重启,但是首先确保安装了noto-fonts-emoji

jat@Intel-i5-10500:~> cd /etc/fonts/conf.d
jat@Intel-i5-10500:conf.d> 
jat@Intel-i5-10500:conf.d> ls -l 75-noto-color-emoji.conf 
lrwxrwxrwx 1 root root 57  3月22日 12:16 75-noto-color-emoji.conf -> /usr/share/fontconfig/conf.avail/75-noto-color-emoji.conf
jat@Intel-i5-10500:conf.d> cat 75-noto-color-emoji.conf  
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>

    <!-- Add generic family. -->
    <match target="pattern">
        <test qual="any" name="family"><string>emoji</string></test>
        <edit name="family" mode="assign" binding="same"><string>Noto Color Emoji</string></edit>
    </match>

    <!-- This adds Noto Color Emoji as a final fallback font for the default font families. -->
    <match target="pattern">
        <test name="family"><string>sans</string></test>
        <edit name="family" mode="append"><string>Noto Color Emoji</string></edit>
    </match>

    <match target="pattern">
        <test name="family"><string>serif</string></test>
        <edit name="family" mode="append"><string>Noto Color Emoji</string></edit>
    </match>

    <match target="pattern">
        <test name="family"><string>sans-serif</string></test>
        <edit name="family" mode="append"><string>Noto Color Emoji</string></edit>
    </match>

    <match target="pattern">
        <test name="family"><string>monospace</string></test>
        <edit name="family" mode="append"><string>Noto Color Emoji</string></edit>
    </match>

    <!-- Block Symbola from the list of fallback fonts. -->
    <selectfont>
        <rejectfont>
            <pattern>
                <patelt name="family">
                    <string>Symbola</string>
                </patelt>
            </pattern>
        </rejectfont>
    </selectfont>

    <!-- Use Noto Color Emoji when other popular fonts are being specifically requested. -->
    <match target="pattern">
        <test qual="any" name="family"><string>Apple Color Emoji</string></test>
        <edit name="family" mode="assign" binding="same"><string>Noto Color Emoji</string></edit>
    </match>

    <match target="pattern">
        <test qual="any" name="family"><string>Segoe UI Emoji</string></test>
        <edit name="family" mode="assign" binding="same"><string>Noto Color Emoji</string></edit>
    </match>

    <match target="pattern">
        <test qual="any" name="family"><string>Segoe UI Symbol</string></test>
        <edit name="family" mode="assign" binding="same"><string>Noto Color Emoji</string></edit>
    </match>

    <match target="pattern">
        <test qual="any" name="family"><string>Android Emoji</string></test>
        <edit name="family" mode="assign" binding="same"><string>Noto Color Emoji</string></edit>
    </match>

    <match target="pattern">
        <test qual="any" name="family"><string>Twitter Color Emoji</string></test>
        <edit name="family" mode="assign" binding="same"><string>Noto Color Emoji</string></edit>
    </match>

    <match target="pattern">
        <test qual="any" name="family"><string>Twemoji</string></test>
        <edit name="family" mode="assign" binding="same"><string>Noto Color Emoji</string></edit>
    </match>

    <match target="pattern">
        <test qual="any" name="family"><string>Twemoji Mozilla</string></test>
        <edit name="family" mode="assign" binding="same"><string>Noto Color Emoji</string></edit>
    </match>

    <match target="pattern">
        <test qual="any" name="family"><string>TwemojiMozilla</string></test>
        <edit name="family" mode="assign" binding="same"><string>Noto Color Emoji</string></edit>
    </match>

    <match target="pattern">
        <test qual="any" name="family"><string>EmojiTwo</string></test>
        <edit name="family" mode="assign" binding="same"><string>Noto Color Emoji</string></edit>
    </match>

    <match target="pattern">
        <test qual="any" name="family"><string>Emoji Two</string></test>
        <edit name="family" mode="assign" binding="same"><string>Noto Color Emoji</string></edit>
    </match>

    <match target="pattern">
        <test qual="any" name="family"><string>EmojiSymbols</string></test>
        <edit name="family" mode="assign" binding="same"><string>Noto Color Emoji</string></edit>
    </match>

    <match target="pattern">
        <test qual="any" name="family"><string>Symbola</string></test>
        <edit name="family" mode="assign" binding="same"><string>Noto Color Emoji</string></edit>
    </match>

</fontconfig>

everyx commented on 2024-03-27 01:43 (UTC)

不能显示 emoji 图标有办法解决吗?

7Ji commented on 2024-03-26 08:34 (UTC)

@Fingertap

请问有详细的路径配置的文档吗?我在HOME、Documents下总是会看见xwechat_files和WeChat_Data. 我希望能把这些文件都放到HOME/AppData/WeChat下。

  1. 默认配置下不可能在HOME下直接创建任何文件,xwechat_files的路径应该是Documents/WeChat_Data/xwechat_files。如果你在HOME下直接看到了xwechat_files,直接移除。
  2. 要放到其他路径,设置环境变量WECHAT_DATA_DIR,绝对路径或者相对于~的相对路径

Fingertap commented on 2024-03-26 08:24 (UTC)

请问有详细的路径配置的文档吗?我在HOME、Documents下总是会看见xwechat_files和WeChat_Data. 我希望能把这些文件都放到HOME/AppData/WeChat下。