1 Star 0 Fork 0

淡定/deepin-wine-wechat-arch

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

在Archlinux及衍生发行版上运行微信(WeChat)

Build Status WeChat Version AUR Version GitHub Release GitHub Issues

Deepin打包的微信(WeChat)容器移植到Archlinux,不依赖deepin-wine,包含定制的注册表配置,微信安装包替换为官方最新

安装

deepin-wine-wechat依赖Multilib仓库中的winewine-geckowine-mono,Archlinux默认没有开启Multilib仓库,需要编辑/etc/pacman.conf,取消对应行前面的注释(Archlinux wiki):

# If you want to run 32 bit applications on your x86_64 system,
# enable the multilib repositories as required here.

#[multilib-testing]
#Include = /etc/pacman.d/mirrorlist

-#[multilib]
-#Include = /etc/pacman.d/mirrorlist
+[multilib]
+Include = /etc/pacman.d/mirrorlist

注意:由于新版微信可能需要 wine 还没有实现的一些win api,这会导致一些功能不可用,安装前先根据兼容性记录选择一个合适的版本

从AUR安装

已添加到AUR deepin-wine-wechat,可使用 yayyaourt 安装:

yay -S deepin-wine-wechat

用安装包安装

Travis CI 在 Docker 容器 mikkeloscar/arch-travis 中自动构建的 ArchLinux 安装包

GitHub Release 页面下载后缀为 .pkg.tar.xz.pkg.tar.zst 的安装包,使用pacman安装:

sudo pacman -U #下载的包名

.md5 文件用于校验包完整性:

md5sum -c *.md5

本地打包安装

 git clone https://github.com/countstarlight/deepin-wine-wechat-arch.git

 cd deepin-wine-wechat-arch
  
 makepkg -si
  • 运行应用菜单中创建的WeChat,开始安装

    注意:安装微信时不需要修改安装路径,如果修改默认路径,要对应修改 deepin-wine-wechat 的启动脚本:

    /opt/deepinwine/apps/Deepin-WeChat/run.sh

    env WINEPREFIX="$WINEPREFIX" WINEDEBUG=-msvcrt $WINE_CMD "c:\\Program Files\\Tencent\\WeChat\\WeChat.exe" &
    

    改为修改后的安装路径,否则只有安装后第一次能够运行

  • 安装完可直接启动

    注意:登录后请在设置里关闭微信的自动更新,微信启动时会检查更新并加载自动更新程序,由于默认屏蔽了微信的自动更新程序,会导致找不到更新程序而不能启动

兼容性记录

微信 wine 兼容性 备注 deepin-wine 兼容性 备注
2.9.5.56 5.13 部分 发送图片有问题: #42 2.18_24-3 部分 发送图片有问题: #42
2.9.5.41 5.11 部分 发送图片有问题: #42 2.18_22-3 部分 发送图片有问题: #42
2.9.0.123 5.7 部分 发送图片有问题: #42 2.18_22-3 部分 发送图片有问题: #42
2.9.0.114 5.6 部分 发送图片有问题: #42
2.9.0.112 5.5 部分 发送图片有问题: #42
2.8.0.133 5.3 部分 发送图片有问题: #42
2.8.0.112 5.0-rc4 部分 发送图片有问题: #42
2.8.0.106 4.19 部分 发送图片有问题: #42
2.7.1.88 4.19+ 支持
2.7.1.88 4.18 部分 不能使用中文输入法
2.7.1.85 4.18 部分 不能使用中文输入法 2.18_18-2 ?
2.7.1.82 4.18 部分 不能使用中文输入法 2.18_18-2 不支持 闪退
2.7.1.82 4.17 部分 不能使用中文输入法 2.18_18-2 不支持 闪退
2.6.8.65 4.16 支持 2.18_18-2 支持

切换到 deepin-wine

原版 wineDDE(Deepin Desktop Environment) 上,有托盘图标无法响应鼠标事件(deepin-wine-tim-arch#21)的问题,截图功能也不可用,可以选择切换到 deepin-wine

注意:切换前先确保 deepin-wine 支持

根据 deepin-wine-wechat-arch#15deepin-wine-wechat-arch#27,由 @feileb, @violetbobo, @HE7086提供的方法:

自动切换(推荐)

/opt/deepinwine/apps/Deepin-WeChat/run.sh -d

这会安装需要的依赖,移除已安装的微信目录并回退对注册表文件的修改

切换回 wine

rm ~/.deepinwine/Deepin-WeChat/deepin

如果要卸载自动安装的依赖:

sudo pacman -Rns deepin-wine xsettingsd lib32-freetype2-infinality-ultimate

手动切换

1. 安装 deepin-wine

yay -S deepin-wine

2. 对于非 GNOME 桌面(KDE, XFCE等)

需要安装 xsettingsd

根据 deepin-wine-wechat-arch#36,由Face-Smile提供的方法:

sudo pacman -S xsettingsd

修改 /opt/deepinwine/apps/Deepin-WeChat/run.sh

-WINE_CMD="wine"
+WINE_CMD="deepin-wine"

 RunApp()
 {
+    if [[ -z "$(ps -e | grep -o xsettingsd)" ]]
+    then
+        /usr/bin/xsettingsd &
+    fi
        if [ -d "$WINEPREFIX" ]; then
                UpdateApp
        else

注意:对 /opt/deepinwine/apps/Deepin-WeChat/run.sh 的修改会在 deepin-wine-wechat 更新或重装时被覆盖,可以单独拷贝一份作为启动脚本

3. 删除已安装的微信目录

rm -rf ~/.deepinwine/Deepin-WeChat

4. 修复 deepin-wine 字体渲染发虚

kde桌面参考:deepin-wine-wechat-arch#36

deepin 桌面:

yay -S lib32-freetype2-infinality-ultimate

注意:切换到 deepin-wine 后,对 wine 的修改,如更改dpi,都改为对 deepin-wine 的修改

常见问题及解决

不能截图

参照切换到 deepin-wine 解决

高分辨率屏幕支持

winecfg 的Graphics选项卡中修改dpi,如 修改为192

对于 wine

env WINEPREFIX="$HOME/.deepinwine/Deepin-WeChat" winecfg

对于 deepin-wine

env WINEPREFIX="$HOME/.deepinwine/Deepin-WeChat" deepin-wine winecfg

使用全局截图快捷键

使用全局截图快捷键和解决Gnome上窗口化问题,参见issue2

消除阴影边框

微信窗口不在最上方时,在其他窗口上会显示一个阴影边框

参照切换到 deepin-wine 解决,或者使用shadow.exe,在微信启动时运行,自动消除这个阴影边框

根据“用山寨方法解决wine运行微信残留阴影窗口的问题”,对原程序稍做修改编译出的 shadow.exe,源码文件为 shadow.cpp

你也可以自行编译这个程序:

# 安装windows交叉编译工具链
yay -S mingw-w64-gcc

# 编译
i686-w64-mingw32-g++ -municode -m32 -static -s shadow.cpp -o shadow

对于 v2.8.0.133-2 及之前的版本,不自带这个程序,可以自行将shadow.exe放置到 ~/.deepinwine/Deepin-WeChat/drive_c/shadow.exe

并参照run.sh/opt/deepinwine/apps/Deepin-WeChat/run.sh 中加入如下几行:

CallApp()
{
	if [ ! -f "$WINEPREFIX/reinstalled" ]
	then
		touch $WINEPREFIX/reinstalled
-		env WINEDLLOVERRIDES="winemenubuilder.exe=d" WINEPREFIX="$WINEPREFIX" $WINE_CMD $APPDIR/$WECHAT_INSTALLER-$WECHAT_VER.exe
+		env WINEDLLOVERRIDES="winemenubuilder.exe=d" WINEPREFIX="$WINEPREFIX" $WINE_CMD $APPDIR/$WECHAT_INSTALLER-$WECHAT_VER.exe &
	else
        #Support use native file dialog
        export ATTACH_FILE_DIALOG=1

        env WINEPREFIX="$WINEPREFIX" WINEDEBUG=-msvcrt $WINE_CMD "c:\\Program Files\\Tencent\\WeChat\\WeChat.exe" &
	fi
+	# run 'shadow.exe' if process not exist
+	if [[ -z "$(ps -e | grep -o 'shadow.exe')" ]]; then
+		env WINEPREFIX="$WINEPREFIX" WINEDEBUG=-msvcrt $WINE_CMD "c:\\shadow.exe" &
+	fi
}

感谢

更新日志

  • 2020-07-20 WeChat-2.9.5.56
  • 2020-07-02 WeChat-2.9.5.41
  • 2020-05-10 WeChat-2.9.0.123
  • 2020-04-24 WeChat-2.9.0.114
  • 2020-04-20 WeChat-2.9.0.112
  • 2020-03-08 WeChat-2.8.0.133
  • 2020-02-10 WeChat-2.8.0.121
  • 2020-01-20 WeChat-2.8.0.116
  • 2020-01-10 WeChat-2.8.0.112
  • 2020-01-04 WeChat-2.8.0.106
  • 2019-11-07 WeChat-2.7.1.88
  • 2019-10-23 WeChat-2.7.1.85
  • 2019-10-19 WeChat-2.7.1.82
  • 2019-07-25 WeChat-2.6.8.65
  • 2019-06-02 WeChat-2.6.8.52
  • 2019-05-29 WeChat-2.6.8.51
  • 2019-04-03 WeChat-2.6.7.57
  • 2019-01-03 WeChat-2.6.2

空文件

简介

取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/danding2020/deepin-wine-wechat-arch.git
git@gitee.com:danding2020/deepin-wine-wechat-arch.git
danding2020
deepin-wine-wechat-arch
deepin-wine-wechat-arch
master

搜索帮助