Cosmic下Fcitx5兼容guake终端

2026年10月09日, 由于 gnome 升级到了 51.0 版本,每次gnome的大版本升级总会导致大量的插件失效,而像hidetopbar这类插件又十分有利于生产效率的提升,所以为了避免这种情况的持续存在,决定切换到Cosmic, 它是由Rust语言从头构建的,效率非常高,同时也简洁且不依赖gnome和kde, 在自定义和简洁中找到了一个最佳的平衡。 然而切换成cosmic后,也遇到了一系列的问题,比如本文遇到的,在guake终端下Fcitx5无法开启缩放,这就导致了输入极不方便,解决方法如下:

为 XWayland 应用设置正确的 DPI

  1. 创建文件~/.Xresources, 写入内容
1
Xft.dpi: 192
  1. 将设置应用于当前的X服务器
1
xrdb -merge ~/.Xresources
  1. 验证设置
1
xrdb -query |grep Xft.dpi

如果输入Xft.dpi: 102, 就表示设置成功了。

  1. 重启Guake和Fcitx5, 配置生效.

设置开机启动

完成上面的设置后,发现每次重新启动计算机,配置就会失效,于是需要每次开机自动执行一下这个设置。借助systemd用户服务可以完美设置。

  1. 创建服务文件
~/.config/systemd/user/load-xresources.service
1
2
3
4
5
6
7
8
9
10
11
[Unit]
Description=Merge X resources for XWayland apps
After=graphical-session.target

[Service]
Type=oneshot
ExecStart=/bin/bash -c "sleep 5 && /usr/bin/xrdb -merge %h/.Xresources"
RemainAfterExit=yes

[Install]
WantedBy=default.target
  1. 启用并启动服务
1
2
systemctl --user daemon-reload
systemctl --user enable --now load-xresources.service
  1. 验证启动配置
1
2
systemctl --user status load-xresources.service
xrdb -query | grep Xft.dpi

[!WARNING] 最初我使用的是autostart设置的,没有成功,于是改用systemd用户服务,而且这一种更可靠、更一劳永逸的解决方案。