2024年4月27日

HYEOS

随事而为

gentoo kde docker wechat安装使用

1 min read

上周gentoo在更新之后突然无法进入桌面,切换内核等之后依然没有解决,用了两年的系统重新安装了一次,最后才发现原来是更新系统时xorg.conf文件被覆盖过了,我特么从来没有想到过的事情,之前从没有出现过xorg.conf文件能被修改。

之前安装wechat、钉钉的时候使用的是第三方源,本次没有再添加第三方源,用的是系统基础源,添加第三方源之后在每次更新时总是会出现意想不到的依赖问题,所以干脆不加了,一些软件直接使用appimage,还有一些直接下载deb包进行解压使用。

使用wechat的时候没有appimage包,我本人也不安装wine,github上提供的pacman安装方式需要systemd,我也不使用,一直用的openrc,那么最后的方法就是使用docker-wechat了。

nohup /usr/libexec/gsd-xsettings > /dev/null 2>&1 &  //后添加的
docker run -d --name wechat --device /dev/snd --ipc=host \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v /docker/docker-wechat/wechatfile:/WeChatFiles \
-e DISPLAY=unix$DISPLAY \
-e GDK_SCALE \
-e GDK_DPI_SCALE \
-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

安装docker后执行上述脚本的的时候,启动不了软件。或docker logs wechat时看到如下提示:

X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  20 (X_GetProperty)
  Resource id in failed request:  0x0
  Serial number of failed request:  10
  Current serial number in output stream:  10

一直以为是vnc或kde的问题,后来发现这个问题其实和 KDE 无关, 应该是 deepin 在打包 deepin-wine 的过程中有意或者无意加入了 GNOME 依赖。

解决方案:
安装gnome-settings-daemon
emerge -av gnome-settings-daemon
终端执行
gentoo下执行/usr/libexec/gsd-xsettings 或
其它linux平台执行/usr/lib/gnome-settings-daemon/gsd-xsettings 即可.
或者后台运行:
nohup /usr/lib/gnome-settings-daemon/gsd-xsettings > /dev/null 2>&1 &

最后重新启动容器即可
docker restart wechat

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注