解決ubuntu 20.04、22.04 即新版本 fcitx 無法使用的問題

IotaHydrae發表於2023-03-30

前提

  • 已在系統設定中將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

儲存後,登出重新登入

相關文章