Linux Ubuntu 20.04 LTS Docker 安装 微信 QQ
2021-01-25
阅读 {{counts.readCount}}
评论 {{counts.commentCount}}
<br><br>
## 前言
<br>
之前用的是deepin-wine,运行微信和QQ,可以说是修bug修的脑壳疼
<br>
参考地址
[https://ugirc.blog.csdn.net/article/details/109487664](https://ugirc.blog.csdn.net/article/details/109487664)
[https://github.com/bestwu/docker-wechat](https://github.com/bestwu/docker-wechat)
[https://github.com/bestwu/docker-qq](https://github.com/bestwu/docker-qq)
<br>
能在 `docker`下使用简直不要太方便,还省内存,亲测一次成功
<br><br>
## 折腾
<br>
首先你得有docker,没有的话可以看我之前的笔记补一下
<br>
允许所有用户访问X11服务
```shel
# 后续命令都需要在root权限下执行
sudo su
xhost +
# 正确的返回值是
access control disabled, clients can connect from any host
```
<br>
然后拉镜像 并启动
```shell
# 拉取镜像
docker pull bestwu/wechat
# 等个2分钟
# 启动
# 注意!!! '把你的用户名' 替换成你的用户名
docker run -d --name wechat\
--device /dev/snd\
--ipc=host\
-v /tmp/.X11-unix:/tmp/.X11-unix\
-v /home:/home\
-v /home/你的用户名/WeChatFiles:/WeChatFiles\
-e DISPLAY=unix$DISPLAY\
-e XMODIFIERS=@im=ibus\
-e QT_IM_MODULE=ibus\
-e GTK_IM_MODULE=ibus\
-e AUDIO_GID=`getent group audio | cut -d: -f3`\
-e GID=`id -g`\
-e UID=`id -u`\
bestwu/wechat
# 首次启动等个1~2分钟 出现扫码登录即可
```
<br>
常用命令
```shell
docker start wechat
docker stop wechat
docker restart wechat
```
<br>
这里需要注意几点
1. 这里用的输入法是ibus,ibus是啥可以参考我上一篇笔记,如果你是fciux,把启动脚本里的ibus改fciux即可,否则引起无法输出中文问题
2. 保存文件,我这里在映射的部分加了`-v /home:/home\`,所以可以在home中看到当前计算机的home,再在桌面或者文档的位置选中文件夹,点加号,角可以加到常用位置
3. 如果点了右上角关闭按钮,只会关闭图形界面,程序还在后台执行,但目前我还是没找到再次启动图形界面的办法,只能重启docker容器
<br>
qq也是类似操作不赘述了一笔带过
```shell
# 拉取镜像
docker pull bestwu/qq
# 启动
# 注意!!! '把你的用户名' 替换成你的用户名
docker run -d --name qq\
--device /dev/snd\
--ipc=host \
-v /home:/home\
-v /home/你的用户名/TencentFiles:/TencentFiles\
-v /tmp/.X11-unix:/tmp/.X11-unix\
-e XMODIFIERS=@im=ibus\
-e QT_IM_MODULE=ibus\
-e GTK_IM_MODULE=ibus\
-e DISPLAY=unix$DISPLAY\
-e AUDIO_GID=`getent group audio | cut -d: -f3`\
-e VIDEO_GID=`getent group video | cut -d: -f3`\
-e GID=`id -g`\
-e UID=`id -u`\
bestwu/qq:latest
```
<br><br>
## 桌面图标
关于装完后续如何启动图形界面问题
需要执行以下命令
干脆写成一个shell脚本
```shell
#!/bin/bash
xhost +
docker stop wechat
docker start wechat
```
然后桌面新建一个图标文件,权限给755
文件名 `wechat.desktop`
```shell
[Desktop Entry]
Name=Wechat
Exec=sudo bash "/home/你的用户名/soft/wechat/run.sh"
Terminal=true
Type=Application
Icon=/home/你的用户名/soft/wechat/wechat.png
StartupWMClass=Wechat
Comment=Wechat
MimeType=x-scheme-handler/Wechat;
Categories=Development;
```
由于 `xhost` 和 `docker` 需要 `root权限` ,所以这里使用 `sudo bash` 执行脚本,每次双击图标需要输入一次密码
<br><br>
## 补充
1. 用了一段时间,发现每次打开,左上角都有一个小窗口
2. 每次关闭了微信的窗口以后,没地方再打开窗口,只能全部关了重来
实际这两个问题是一回事,那个小窗口本来应该是托盘,只是需要插件才可以实现
<br><br>
安装工具
**GNOME Tweaks**
```shell
# 启用 Universe 仓库
sudo add-apt-repository universe
# 安装 Gnome Tweak Tool
sudo apt install gnome-tweak-tool
# 启动 Gnome Tweak Tool
gnome-tweaks
```
<br><br>
安装插件
**TopIcons Plus**
[https://extensions.gnome.org/extension/1031/topicons/](https://extensions.gnome.org/extension/1031/topicons/)
[https://github.com/phocean/TopIcons-plus](https://github.com/phocean/TopIcons-plus)
<br><br>
最后在 `Gnome Tweak Tool` - `插件` 中 启用 `TopIcons Plus`
并在设置中选择 `托盘水平对齐方式` - `右对齐`
至此微信的图标就可以正常显示在桌面右上角了,功能和windows下一样
日常内存占用在500MB以内
<br><br>
## END