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
丑是丑了点,但是能用了。