解决ubuntu 20.04、22.04 即新版本 fcitx 无法使用的问题

前提

  • 已在系统设置中将fcitx设置为默认

  • fcitx开机自启

配置的过程不在本文讨论范围之内

开机自启可通过安装gnome-tweaks配置实现

问题分析流程

手动启动fcitx时提示设置XMODIFIERS变量

你安装的fcitx还以为你使用Xorg登录,安装的搜狗输入法也是如此,这些相关的配置脚本位于
/etc/X11/Xsession.d/下,压根都没有执行

新版本的ubuntu默认显示服务替换为了wayland,所以只需要把相关的环境设置,挪到wayland方式的启动脚本中就可以了。

当你选择已wayland方式登录时,实际是运行了
/usr/share/wayland-sessions/ubuntu-wayland.desktop 这个文件

可以看到里面有这么一行

Exec=env GNOME_SHELL_SESSION_MODE=ubuntu /usr/bin/gnome-session --session=ubuntu

修改这个/usr/bin/gnome-session 脚本文件就行

提供两种解决方案

1. 将登录回话切换回Xorg

在用户登录界面点击齿轮按钮,可以选择登录的回话,选择其中的 ubuntu on Xorg ,登录后已经可以正常弹出fcitx

2. 使用wayland,但修改文件

修改/usr/bin/gnome-session 脚本,在文件顶部添加如下内容:

export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export CLUTTER_IM_MODULE=fcitx
export SDL_IM_MODULE=fcitx

保存后,注销重新登录

posted @ 2023-03-30 11:13  IotaHydrae  阅读(1762)  评论(0编辑  收藏  举报