DOCKER运行微信桌面客户端
今天借助Github用户huan的盒装微信项目,在我的openSUSE Leap系统上使用Docker成功地运行封装的Windows上的微信客户端。
安装Docker
在Linux系统上安装Docker引擎是很容器的,请参考Docker入门,如果你也使用的是openSUSE Leap,执行如下命令安装Docker引擎:
$ sudo zypper ref
$ sudo zypper in docker
启动微信客户端
注意: 在启动之前,需要设置主机系统的X服务的访问控制,使用如下的命令禁用主机上X服务的访问控制,允许所有客户端链接服务:
$ xhost +
关于[xhost]的更多信息,可参考(https://www.computerhope.com/unix/xhost.htm)。
huan/docker-wechat提供了一个启动脚本dochat.sh
来执行容器镜像的下载,以及启动,可直接执行如下操作:
$ curl -sL https://raw.githubusercontent.com/huan/docker-wechat/master/dochat.sh | bash
当然也可以克隆Git代码库,然后执行dochat.sh
脚本。
成功启动后如下图所示,使用手机扫描登录。
使用Docker Compose启动
dochat.sh
是直接使用了docker run
命令启动容器,也可以编写一个compose文件来使用docker-compose
管理应用容器。例如我在目录 ~/dockerapp/ 下创建了一个 dochat.yml 文件。
version: '2.4'
services:
dochat:
image: zixia/wechat
container_name: dockerapps_dochat
network_mode: bridge
devices:
- "/dev/video0:/dev/video0"
- "/dev/snd:/dev/snd"
volumes:
- "/etc/localtime:/etc/localtime:ro"
- "$HOME/.dochat/appdata:/home/user/.wine/drive_c/user/Application Data/"
- "$HOME/.dochat/wechatfiles:/home/user/WeChat Files/"
- "/tmp/.X11-unix:/tmp/.X11-unix"
environment:
- "DISPLAY=unix$DISPLAY"
- "XMODIFIERS=@im=fcitx"
- "GTK_IM_MODULE=fcitx"
- "QT_IM_MODULE=fcitx"
- "AUDIO_GID=492"
- "VIDEO_GID=484"
- "GID=100"
- "UID=1000"
- "DOCHAT_DEBUG=true"
ipc: host
privileged: true
首次启动时使用命令docker-compose -f ~/dockerapp/dochat.yml up -d
,在关闭应用之后,再次启动时使用docker-compose -f ~/dockerapp/dochat.yml start
。
也可以创建一个桌面快捷方式,编写一个Desktop文件放在桌面文件夹下 ~/desktop/dochat.desktop :
[Desktop Entry]
Categories=Network;Utility;Chat;
Comment[en_US]=Docker run windows wechat client on Linux.
Comment=Docker run windows wechat client on Linux.
Exec=/usr/local/bin/docker-compose -f /home/mengz/dockerapp/dochat.yml start
GenericName[en_US]=
GenericName=
Icon=/home/mengz/dockerapp/dochat.png
MimeType=
Name=Docker WeChat
Path=
StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=
这样在桌面双击快捷方式就可以启动微信了,是不是很棒!
补充
如果不想使用Docker来运行封装的Windows版本的微信桌面客户端,这里也可以推荐你使用一个用Electronic封装的Web版本微信客户端geeeeeeeeek/electronic-wechat。