这是一个在Linux系统下,使用容器运行微信的方案。
- 容器运行环境:Docker、Wine、LXDE、xRDP
- LXDE:轻量的桌面环境,微信只能在图形界面下安装和运行。
- xRDP:用于从
Windows
远程连接桌面进行配置。
- 基于WeChatFerry部署, thanks to lich0821
- 资源使用情况:
- 磁盘:
- 构建后镜像大小约4.69G;
- Wine第一次启动,自动初始化后容器占用1.49G;
- 微信安装后,初始状态占用1.41G。 默认配置已将这部分文件放到宿主机的挂载目录;
- 微信长期使用,磁盘占用会持续增加;
- 内存:
- 桌面登录后,总占用194M;
- 微信启动,总占用约1.7G,微信登录后,总占用约4.9G。 宿主机需要预留充足的内存空间;
- 磁盘:
在WeChatFerry发布页
下载安装包WeChatSetup
和工具包v??.?.?.zip
,放到工程目录./package
。
$ sudo ./docker/docker_build.sh
- 默认使用
root
作为xRDP用户,默认密码为123
,请按需修改。
$ sudo ./docker/docker_run.sh
启动脚本的默认容器访问配置,宿主机
=> 容器
关系如下,请按需调整:
- 端口映射:
- xRDP端口:
13389
=>3389
- WeChatFerry命令端口:
18001
=>8001
- WeChatFerry消息端口:
18002
=>8002
- xRDP端口:
- 目录挂载:
- 安装资料:
./package
=>/root/package
(仅在第一次安装微信时使用) - 程序文件:
./wechat/program
=>/root/.wine/drive_c/Program\ Files/Tencent/WeChat
- 图标文件:
./wechat/share/icons
=>/root/.local/share/icons
- 用户数据:
./wechat/user_dat
=>/root/.wine/drive_c/users/root/AppData/Roaming/Tencent/WeChat
- 将程序和用户数据目录挂载到宿主机,可避免在容器重置后再次安装程序。
- 安装资料:
Windows
启动远程桌面连接
,地址:服务器IP:13389
- 进入xRDP登录窗口,username:
root
,password:123
- 如果已配置了挂载目录,且已安装过微信,则不需要再次安装。
- 进入桌面,启动安装程序。有2种启动方式:
- 桌面快捷方式启动: 打开桌面图标
WeChatSetup
- 命令行启动:左下角启动终端
LXTerminal
,执行:$ wine package/WeChatSetup-*.exe
- 桌面快捷方式启动: 打开桌面图标
- 开始常规安装流程,完成安装后关闭。
- 进入桌面,启动应用。有2种启动方式:
- 桌面快捷方式启动: 打开桌面图标
WeChatFerry
- 命令行启动:左下角启动终端
LXTerminal
,执行:启动后终端不能关闭或退出。$ ./res/launch.sh
- 桌面快捷方式启动: 打开桌面图标
- 微信常规配置,左下角Settings:
- Notifications:关闭所有
- General -> General:不选所有
- Manage Files -> Auto-Download:不选
- 启动并登录后,直接关闭远程桌面,不要
Logout
。 因为登出后图形界面下运行的所有程序都会退出。
在主机运行测试脚本:./test/test_wcferry.py
,消息默认发送给文件传输助手
。
- 版本号和WeChatFerry保持基本一致,方便对照
tag: v39.2
:支持WeChatFerry的tag: v39.2.x
及以上版本
- 故障现象:
- 不同环境现象不同,目前遇到以下几种
- 启动过程中Wine报错并退出
- Wine启动立即报错并退出
- xRDP连接报错
- 故障分析:
- 目前启动异常的情况,常见于使用旧发行版系统的服务器, 如:CentOS 7 (kernel 4.x)。
- 经验证,使用较新发行版系统的服务器,都可以正常运行。 如:Fedora 39/40 (kernel 6.x)
- 具体原因暂不明确,推测与内核版本有关。
- 解决方案:
- 建议使用较新的Linux发行版。
- 故障现象:
- 应用启动立即退出
- 应用界面是黑的,但可以点击可以拖动,拖动过程又能看到应用界面
- 故障分析:
- 故障出现之前有正常运行过。
- 目前仅在调试阶段有遇到。
- 调试过程中,某些操作可能误杀了系统服务进程
- 解决方案:
- 关闭并删掉容器,重新启动镜像