前提
-
已在系統設定中將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
儲存後,登出重新登入