deepin-wine-wechat

于 2019-03-31 发布

archlinux+KDE

首先参考的是AUR - deepin qq的评论区,留意其中关于Deepin QQ(Office)的_X Error of failed request: BadWindow_ 评论。

github issue - KDE环境完全无法使用wine-tim可知在KDE环境下无法启动deepin-wine系列的东西是因为缺少了gnome依赖。所以用console启动的时候可以看见报错是_X Error of failed request: BadWindow_ 之类的(依靠这个才找到AUR,才解决了问题)。

所以就是怎么办的问题。置顶评论只是解决了中文无法输入的问题,或者是治标不治本的简单粗暴方法:直接换用gnome。但是下面评论的一条解决了问题:

…… 非gnome系的解决方案:安装gnome-settings-daemon,然后运行/usr/lib/gsd-xsettings

manjaro+awesome下测试通过

确实OK了。最后再加一个systemd服务在开机的时候自动启动就好了:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[Unit]
Description=GSD-Xsettings Service
After=rc-local.service

[Service]
Type=simple
User=root
Group=root
#WorkingDirectory=/home/sieve
ExecStart=/usr/lib/gsd-xsettings
Restart=always

[Install]
WantedBy=multi-user.target

gentoo

编译

gentoo下官方当然是没有这个包的,所以要靠野包(overlay)来实现。首先是安装layman来管理overlay,然后layman -L && layman -a deepin把deepin的overlay加进去。他们的github是:deepin-overlay。 第二步,emerge --ask deepin-wine-wechat,甚至可以加上--newuse --update,然后就会出现一大堆条件未满足,一般会在/etc/portage/package.use文件夹里面产生._cfg开头的文件,把那个文件cat/etc/portage/package.use里面的一个文件里面就好了,我是cat进了wechat文件里面。然后再来一次emerge,这次应该就能开始编译了。

再次编译

编译完成之后,用命令行启动,会发现出现段错误,查找github可以发现有人提过一个issue谈到这个问题。解决问题的办法就是用-O1重新编译一次x11-libs/libxcb和x11-libs/libX11,命令是CFLAGS="-march=native -O1 -pipe" emerge --ask x11-libs/libxcb x11-libs/libX11

安装gnome-settings-daemon

这是和上面的一样的了,稍有不同的是gentoo安装好的要执行的文件的路径是/usr/libexec/gsd-xsettings。往/opt/deepinwine/tools/run_v2.sh的RunApp()里面添加:

1
2
3
4
if [[ -z "$(ps -e | grep -o gsd-xsettings)" ]]
then
 /usr/libexec/gsd-xsettings    &
fi

就可以启动微信了。

中文呢?

/opt/deepinwine/apps/Deepin-WeChat/run.sh里面需要export一些环境变量:

1
2
3
4
export LC_ALL=zh_CN.UTF8
export XMODIFIERS=@im=fcitx
export QT_IM_MODULE=fcitx
export GTK_IM_MODULE=fcitx

丑是丑了点,但是能用了。

目录