使用fakehome方案暂时解决跑在KDE暗色主题下的程序使用亮色字体的问题

本文最后更新于:2022年8月22日 晚上

9月6日更新:AUR的wemeet-bin维护者sukanka已经将咱的运行指令直接打进了包内,故本文已经基本失去原本的应用意义,但仍可以作为一个案例来解决类似问题。

在使用腾讯最近推出的Linux原生腾讯会议的时候,咱遇到了个十分影响体验的问题。

我在使用KDE的暗色主题,腾讯回忆自作主张将字体颜色调成了白色。然而,字体背景是白色的没,因此导致对比度下降,字体难以辨认。效果大概是这个鬼样子:

然而我一时半会儿却找不到合适的变量在运行腾讯会议之前unset,无法指定它使用一个正确的字体颜色。

此时,我想到了fakehome的解决方案——bwrap。

关于bwrap,依云在ta的博客里讲过运行原理,我在这里直接摘一小段过来

bwrap 的原理是,把 / 放到一个 tmpfs 上,然后需要允许访问的目录通过 bind mount 弄进来。所以没弄进来的部分就是不存在,写数据的话就存在内存里,用完就扔掉了。

而我们要做的,就是开一个tmpfs作为$HOME/.config,让腾讯会议读取不到KDE的主题配置文件。

使用如下命令

1
bwrap --dev-bind / / --tmpfs $HOME/.config wemeet

软件启动确认没有问题后,我们可以更改腾讯会议desktop中的启动命令

1
sudo $EDITOR /usr/share/applications/wemeetapp.desktop

Exec=后面的命令改成我们刚刚启动所使用的命令即可。

关键词: bwrap, linux, 暗色模式, 深色模式, 夜间模式, 白色字体, 亮色字体


使用fakehome方案暂时解决跑在KDE暗色主题下的程序使用亮色字体的问题
https://zhul.in/2021/09/05/wrong-fonts-color-fix-under-kde-with-a-dark-theme/
作者
竹林里有冰
发布于
2021年9月5日
更新于
2022年8月22日
许可协议