├── .SRCINFO ├── .gitignore ├── LICENSE ├── PKGBUILD └── README.md /.SRCINFO: -------------------------------------------------------------------------------- 1 | pkgbase = wechat-bin 2 | pkgdesc = WeChat from Tencent | 微信官方版 3 | pkgver = 4.0.1.11 4 | pkgrel = 1 5 | url = https://linux.weixin.qq.com 6 | arch = x86_64 7 | arch = aarch64 8 | arch = loong64 9 | license = custom:Software License and Service of Tencent Weixin 10 | depends = at-spi2-core 11 | depends = jack 12 | depends = libpulse 13 | depends = libxcomposite 14 | depends = libxdamage 15 | depends = libxkbcommon-x11 16 | depends = libxrandr 17 | depends = mesa 18 | depends = nss 19 | depends = pango 20 | depends = xcb-util-image 21 | depends = xcb-util-keysyms 22 | depends = xcb-util-renderutil 23 | depends = xcb-util-wm 24 | optdepends = noto-fonts-cjk: Chinese font support 25 | optdepends = noto-fonts-emoji: emoji support 26 | provides = wechat 27 | provides = wechat-universal 28 | conflicts = wechat 29 | conflicts = wechat-universal 30 | replaces = wechat-universal 31 | replaces = wechat-universal-privilege 32 | noextract = wechat-4.0.1.11-x86_64.deb 33 | noextract = wechat-4.0.1.11-aarch64.deb 34 | noextract = wechat-4.0.1.11-loong64.deb 35 | options = !strip 36 | source = LICENSE-zh_CN.html::https://weixin.qq.com/agreement?lang=zh_CN 37 | source = LICENSE-zh_HK.html::https://weixin.qq.com/agreement?lang=zh_HK 38 | source = LICENSE-zh_TW.html::https://weixin.qq.com/agreement?lang=zh_TW 39 | source = LICENSE-en.html::https://www.wechat.com/mobile/en/service_terms.html 40 | sha256sums = SKIP 41 | sha256sums = SKIP 42 | sha256sums = SKIP 43 | sha256sums = SKIP 44 | source_x86_64 = wechat-4.0.1.11-x86_64.deb::https://dldir1v6.qq.com/weixin/Universal/Linux/WeChatLinux_x86_64.deb 45 | sha256sums_x86_64 = SKIP 46 | source_aarch64 = wechat-4.0.1.11-aarch64.deb::https://dldir1v6.qq.com/weixin/Universal/Linux/WeChatLinux_arm64.deb 47 | sha256sums_aarch64 = SKIP 48 | source_loong64 = wechat-4.0.1.11-loong64.deb::https://dldir1v6.qq.com/weixin/Universal/Linux/WeChatLinux_LoongArch.deb 49 | sha256sums_loong64 = SKIP 50 | 51 | pkgname = wechat-bin 52 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /pkg 2 | /src 3 | /geninfo.sh 4 | *.deb 5 | *.html 6 | *.pkg.tar.* 7 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (C) 2024 by devome 2 | 3 | Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. 4 | 5 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -------------------------------------------------------------------------------- /PKGBUILD: -------------------------------------------------------------------------------- 1 | # Maintainer: wimpy 2 | # Maintainer: devome 3 | 4 | _pkgname="wechat" 5 | pkgname="${_pkgname}-bin" 6 | pkgver=4.0.1.11 7 | pkgrel=1 8 | pkgdesc="WeChat from Tencent | 微信官方版" 9 | arch=("x86_64" "aarch64" "loong64") 10 | url="https://linux.weixin.qq.com" 11 | license=("custom:Software License and Service of Tencent Weixin") 12 | provides=("${_pkgname}"{,-universal}) 13 | conflicts=("${_pkgname}"{,-universal}) 14 | replaces=("${_pkgname}-universal"{,-privilege}) 15 | depends=(at-spi2-core jack libpulse libxcomposite libxdamage libxkbcommon-x11 libxrandr mesa nss pango xcb-util-image xcb-util-keysyms xcb-util-renderutil xcb-util-wm) 16 | optdepends=("noto-fonts-cjk: Chinese font support" 17 | "noto-fonts-emoji: emoji support") 18 | source=("LICENSE-zh_CN.html::https://weixin.qq.com/agreement?lang=zh_CN" 19 | "LICENSE-zh_HK.html::https://weixin.qq.com/agreement?lang=zh_HK" 20 | "LICENSE-zh_TW.html::https://weixin.qq.com/agreement?lang=zh_TW" 21 | "LICENSE-en.html::https://www.wechat.com/mobile/en/service_terms.html") 22 | source_x86_64=("${_pkgname}-${pkgver}-x86_64.deb::https://dldir1v6.qq.com/weixin/Universal/Linux/WeChatLinux_x86_64.deb") 23 | source_aarch64=("${_pkgname}-${pkgver}-aarch64.deb::https://dldir1v6.qq.com/weixin/Universal/Linux/WeChatLinux_arm64.deb") 24 | source_loong64=("${_pkgname}-${pkgver}-loong64.deb::https://dldir1v6.qq.com/weixin/Universal/Linux/WeChatLinux_LoongArch.deb") 25 | sha256sums=('SKIP' 'SKIP' 'SKIP' 'SKIP') 26 | sha256sums_x86_64=('SKIP') 27 | sha256sums_aarch64=('SKIP') 28 | sha256sums_loong64=('SKIP') 29 | noextract=("${_pkgname}-${pkgver}-"{x86_64,aarch64,loong64}.deb) 30 | options=("!strip") 31 | 32 | prepare() { 33 | bsdtar -xOf "${_pkgname}-${pkgver}-${CARCH}.deb" data.tar.xz | bsdtar -xmf- --exclude usr/share/doc 34 | sed -e "s|^Icon=.*|Icon=${_pkgname}|" \ 35 | -e "s|^Categories=.*|Categories=Network;InstantMessaging;Chat;|" \ 36 | -e "s|^Exec=.*|Exec=env 'QT_QPA_PLATFORM=wayland;xcb' QT_AUTO_SCREEN_SCALE_FACTOR=1 /usr/bin/${_pkgname} %U|" \ 37 | -i "usr/share/applications/${_pkgname}.desktop" 38 | } 39 | 40 | pkgver() { 41 | bsdtar -xOf "${_pkgname}-${pkgver}-${CARCH}.deb" control.tar.xz | bsdtar -xOf- control | awk '/Version: /{print $2}' 42 | } 43 | 44 | package() { 45 | mv {opt,usr} "${pkgdir}" 46 | ln -s "/opt/${_pkgname}/${_pkgname}" "${pkgdir}/usr/bin/${_pkgname}" 47 | install -Dm644 LICENSE-* -t "${pkgdir}/usr/share/licenses/${pkgname}" 48 | } 49 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## 安装与升级 2 | 3 | ### 1. (推荐)使用 paru 4 | - 复制`/etc/paru.conf`为`$XDG_CONFIG_HOME/paru/paru.conf`(默认为 `$HOME/.config/paru/paru.conf`) 5 | - 添加`PKGBUILD`仓库 6 | ```properties 7 | # file:$XDG_CONFIG_HOME/paru/paru.conf 8 | #...... 9 | 10 | # 11 | # Binary OPTIONS 12 | # 13 | #[bin] 14 | #FileManager = vifm 15 | #MFlags = --skippgpcheck 16 | #Sudo = doas 17 | 18 | # PKGBUILD 仓库 19 | [evine] 20 | Url = https://gitee.com/evine/wechat-bin 21 | ``` 22 | - 安装 `wechat-bin` 23 | ```shell 24 | paru && paru -S wechat-bin 25 | ``` 26 | - PKGBUILD 仓库优先级高于 AUR, 可使用 paru 正常升级 27 | 28 | ### 2. 手动安装 29 | 30 | ```shell 31 | ## 安装 32 | git clone https://gitee.com/evine/wechat-bin.git 33 | cd wechat-bin 34 | makepkg -si 35 | 36 | ## 升级 37 | cd wechat-bin 38 | git pull 39 | makepkg -si 40 | ``` 41 | 42 | ## 打包说明 43 | 44 | - 缓存默认保存路径`~/.xwechat`和`$XDG_DOCUMENTS_DIR/xwechat_files`。 45 | - loong64需要安装`liblol`。 46 | 47 | ## 如何切换 48 | 49 | 在不同打包方式的WeChat间切换,请先确保: 50 | 51 | - 已将旧的`~/.xwechat`、`$XDG_DOCUMENTS_DIR/xwechat_files`和`~/.local/share/applications/wechat.desktop`删除(如果前两个不是软连接的话可以保留); 52 | - 卸载其他形式封装的微信; 53 | - 主机上没有任何运行中的或残留的微信进程。 54 | 55 | ## 环境变量 56 | 57 | - 如果无法输入中文,则需要从菜单编辑器为其添加环境变量`QT_IM_MODULE`,比如:`QT_IM_MODULE=fcitx`(不是`fcitx5`)或`QT_IM_MODULE=ibus`。 58 | - 如果高分辨率比例有问题,也可以从菜单编辑器中为其增加环境变量`QT_AUTO_SCREEN_SCALE_FACTOR=1`(自动缩放),或者设置指定的缩放比例`QT_SCALE_FACTOR`,比如`QT_SCALE_FACTOR=1.5`(两个变量不要同时设置)。 59 | - 微信目前尚不支持从原生wayland启动,如果从菜单无法启动,从命令行启动出现`'wechat' terminated by signal SIGSEGV (Address boundary error)`错误的,需要添加环境变量`'QT_QPA_PLATFORM=wayland;xcb'`(注意必须有单引号)。从4.0.0.30-2起默认已经加了这个变量,但如果在更新到此版本之前,你的`~/.local/share/applications/wechat.desktop`已经存在了则需要你自己手动从菜单编辑器或直接编辑该文件添加一下。 60 | - 如果你的系统没有菜单编辑器,也可以自行将`/usr/share/applications/wechat.desktop`复制为`~/.local/share/applications/wechat.desktop`(菜单编辑器其实修改的也是家目录下的这个文件),然后编辑`Exec=`所在行,比如设置输入法为`fcitx`、设置自动缩放并添加x11支持:`Exec=env QT_IM_MODULE=fcitx QT_AUTO_SCREEN_SCALE_FACTOR=1 'QT_QPA_PLATFORM=wayland;xcb' /usr/bin/wechat %U`。 61 | - 对于多屏幕且屏幕分辨率不一致的,可以设置环境变量`QT_AUTO_SCREEN_SCALE_FACTOR=1`(自动缩放),也可以设置`QT_SCREEN_SCALE_FACTORS`手动指定不同屏幕不同的缩放比例,比如`'QT_SCREEN_SCALE_FACTORS=1;1.5'`(注意必须有单引号,且`XXXX_SCALE_FACTOR`的3个变量不要同时设置),表示第一块屏幕的显示比例是100%,第二块屏幕的显示比例是150%。 62 | - 添加或调整环境变量后需要退出微信并重新从菜单打开方可生效。 63 | - 如果安装了中文字体仍然乱码,请按上述方式为其增加环境变量:`LANG=zh_CN.UTF-8`。 64 | 65 | ## 如何多开 66 | 67 | - 自行安装好`bubblewrap`: `sudo pacman -Sy bubblewrap`; 68 | - 新建文件夹`${HOME}/.xwechat2和${HOME}/documents/xwechat_files2`(假设你的`$XDG_DOCUMENTS_DIR`目录为`${HOME}/documents`,如不是请自行修改,下方命令亦如此); 69 | - 复制`/usr/share/applications/wechat.desktop`为`~/.local/share/applications/wechat2.desktop`,并修改后者的`Name` `Name[zh_CN]` `Exec`三行为(自行按前面的说明添加`QT_IM_MODULE`以及其他环境变量): 70 | ```desktop 71 | Name=wechat(2) 72 | Name[zh_CN]=微信(双开) 73 | Exec=env 'QT_QPA_PLATFORM=wayland;xcb' QT_AUTO_SCREEN_SCALE_FACTOR=1 /usr/bin/bwrap --bind / / --dev-bind /dev /dev --bind ${HOME}/.xwechat2 ${HOME}/.xwechat --bind ${HOME}/documents/xwechat_files2 ${HOME}/documents/xwechat_files /usr/bin/wechat %U 74 | ``` 75 | - 根据你所使用的桌面的不同重建desktop文件缓存,当然重启系统也可以。然后从菜单中的微信(双开)启动即可,如需多开增加序号以此类推,反正一个原则,确保每个微信使用不同的路径来映射掉默认的`~/.xwechat`和`$XDG_DOCUMENTS_DIR/xwechat_files`。 76 | 77 | ## 其他说明 78 | 79 | - 如有字体显示问题,可自行按需安装`noto-fonts-cjk`和`noto-fonts-emoji`。 80 | - 功能建议(也包括不是打包造成的问题)请不要在这里提交,请直接向官方反馈:微信左下角菜单->意见反馈。 81 | --------------------------------------------------------------------------------