Ubuntu18.04安装微信以及打开闪退问题
在ubuntu上安装微信不像在windows上那么操作简单,在安装使用过程碰到的问题,主要是开启后闪退问题记录以下,仅供参考:本文使用docker 安装配置微信,也可以使用wine 安装,但是笔者找了几个版本的微信安装包,兼容性总不好。首先安装docker并开启sudo apt install docker.iosudo systemctl enable --now dockersudo serv
在ubuntu上安装微信不像在windows上那么操作简单,在安装使用过程碰到的问题,主要是开启后闪退问题记录以下,仅供参考:
本文使用docker 安装配置微信,也可以使用wine 安装,但是笔者找了几个版本的微信安装包,兼容性总不好。
- 首先安装docker并开启
sudo apt install docker.io
sudo systemctl enable --now docker
sudo service docker start - 安装微信
docker pull bestwu/wechat - 获取audio的组ID
getent group audio | cut -d: -f3
parrotsec系统中,值为 29 - 创建一个yml文件,比如说这里创建 docker-tim.yml
//创建格式
gedit 文件位置/文件名比如:
gedit docker-wechat.yaml
以上操作等价于gedit ~/docker-wechat.yaml 是在主目录中创建一个名为docker-wechat.yaml文 件可以更改其他目录比如:
gedit ~/文档/docker-wechat.yaml - 弹出文件进行编辑并保存
version: '2'
services:
wechat:
image: bestwu/wechat
container_name: wechat
devices:
- /dev/snd
volumes:
- /tmp/.X11-unix:/tmp/.X11-unix
- $HOME/WeChatFiles:/WeChatFiles
environment:
- DISPLAY=unix$DISPLAY
- QT_IM_MODULE=fcitx
- XMODIFIERS=@im=fcitx
- GTK_IM_MODULE=fcitx
- AUDIO_GID=29 # 可选 默认63(fedora) 主机audio gid 解决声音设备访问权限问题
- GID=1000 # 可选 默认1000 主机当前用户 gid 解决挂载目录访问权限问题
- UID=1000 # 可选 默认1000 主机当前用户 uid 解决挂载目录访问权限问题
安装完毕 执行命令
sudo docker-compose -f docker-wechat.yaml up
运行后发现会有闪退情况,排查:
sudo ldconfig -p | grep -i gl.so
libwayland-egl.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libwayland-egl.so.1
libwayland-egl.so.1 (libc6) => /usr/lib/i386-linux-gnu/libwayland-egl.so.1
libwayland-egl.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libwayland-egl.so
libflite_usenglish.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libflite_usenglish.so.1
libcogl.so.20 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcogl.so.20
libQt5OpenGL.so.5 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5
libQt5EglFsKmsSupport.so.5 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libQt5EglFsKmsSupport.so.5
libQt5EglFSDeviceIntegration.so.5 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libQt5EglFSDeviceIntegration.so.5
libOpenGL.so.0 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libOpenGL.so.0
libOpenGL.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libOpenGL.so
libGLESv2.so.2 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGLESv2.so.2
libGLESv2.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGLESv2.so
libGLESv1_CM.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.1
libGLESv1_CM.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGLESv1_CM.so
libGL.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGL.so.1
libGL.so.1 (libc6) => /usr/lib/i386-linux-gnu/libGL.so.1
libGL.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGL.so
libEGL.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libEGL.so.1
libEGL.so.1 (libc6) => /usr/lib/i386-linux-gnu/libEGL.so.1
libEGL.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libEGL.so
查看,发现libGL.so并没有指向nvidia的文件,我的电脑上没有安装Nvidia驱动并且没有正确的指向libGL.so。这种情况一般发生在没有用Termial使用apt-get 安装驱动,或者自己从官网上下载deb安装包。重新安装一下nvidia驱动就可
ubuntu-drivers devices
选择推荐即可
sudo apt-get install nvidia-driver-440
安装后对比
Nvidia驱动正确的指向libGL.so了
再次执行:sudo docker-compose -f docker-wechat.yaml up
基本上解决闪退问题了。
笔者比较懒,不想每次启动微信都敲这么多代码,所以弄了一个简单的脚本
新建一个.sh文件内容如下
#!/bin/bash
sudo docker-compose -f ~/docker-wechat.yaml up
保存
- 输入文字不能切换中文问题
一定要确认当前“键盘输入法系统:是fcitx”还是IBus
修改.yaml文件的配置
注意:这里用小写
更多推荐
所有评论(0)