开始
因为工作原因所以必须用到企业微信,但是企业微信是目前主流办公软件中可能唯一一个不支持Linux系统的软件了,于是只能使用wine来运行windows版本来使用。期间遇到了各种坑在此记录一下,以便于能帮到同样需要的同学,也希望腾讯能够尽快开发Linux原生的企业微信。
安装
首先我们需要安装wine,其中wine的版本非常多,对于运行软件的影响也挺大。经过多次尝试,我发现其他版本的wine可能有缺字或者无字的现象,bug最少的是wine-staging
版本,这是wine的一个分支,可以说是一个测试分支,可能包含有一些比较新的改动。同时可以装上wine的部分依赖。
sudo pacman -S wine-staging wine-mono wine-gecko
之后从企业微信官网下载最新版的企业微信的exe安装包,在文件管理器中打开,或者使用wine命令运行exe安装文件,安装完毕即可。
配置
首先我们从一台windows电脑的C:\\windows\Fonts
目录打包复制过来,解压之后将里面所有的文件移动到~/.wine/drive_c/windows/Fonts
下。这个操作主要是为了补充字体,防止出现字体问题。
同时也从C:\\windows\sysytem32\DWrite.dll
复制到~/.wine/drive_c/windows/system32/DWrite.dll
,解决企微出现的Dwrite.dll错误
然后我们使用wincfg命令打开wine的配置,做以下改动:
- 首先windows版本那里,可以酌情进行更改。因为默认为windows 10的情况下企业微信的CEF(Chromium Embedded Framework)与wine的兼容性存在问题,会导致企业微信文档打开失败,并且出现libcef.dll的报错。如果你想在企业微信中使用企业微信文档,那么就将windows版本更改为windows xp到windows 8.1之间的版本,就可以正常的使用了。不过我这里考虑到其他问题,决定不更改这个配置,原因我们后面会讲到。
- 然后在显示的选项卡中调节屏幕分辨率的滑块,这个实际上是会决定软件的缩放,高分屏推荐增大设置,我的2K笔记本是设置了192 dpi。.
可选配置
上面提到了我没有改动windows配置,其实原因很简单:企微文档因为使用了CEF所以实际上相当于打开了一个全新的chromium浏览器,其内存占用量相当可观,在打开几个文档之后可以上升到5G+,而且关闭文档之后该内存也不会被回收,最后可能会吃尽你的内存导致死机。
但是当我们没有更改windows配置的时候,微信文档虽然无法使用但是会反复尝试重启,最后也会吃尽内存,所以现在我们需要做到的就是禁用企微里面的CEF模块,然后使用web端的企微文档来替代。
首先我们打开终端,进入到企微的安装目录
cd ~/.wine/drive_c/Program\ Files\ \(x86\)/WXWork
然后进入到4.1.26.6014
目录下,这个数字应该是版本号
然后将这个目录下的compatible_web
改名或者删除,个人建议改名,如果遇到某些情况改回来即可,无需重新安装。
mv compatible_web compatible_web_bk
之后企微的内存占用量会稳定在1.5G以下,虽然也不低但是比较稳定不会吃尽内存。这个内存占用应该还有优化的空间,应该跟企微某些组件启动失败后反复重试有关,windows上不开启企微文档的情况下内存占用只有200+MB。
最后
最后我们就可以启动企微登录了,打开之后其实我们还可以看到一些小问题,比如窗口阴影显示错乱,部分框体始终置顶,无法截图,不过总体还算可用了。
另外框体置顶问题,可以手动每次都最小化。这个有一些现成的自动化解决方案,可以具体搜一下,只对x.org有效,我是wayland就没有折腾来。
另外也可以在wincfg中启用虚拟桌面,然后在虚拟桌面里面全屏使用就不会有始终置顶的问题,截图也可以截图自己本身了。缺点就是没有来右下角的托盘。