如何使死鍵(撰寫)與視窗管理器一起使用?
我的視窗管理器/桌面環境有一些應用程序,其中死鍵(例如
,〜,ö)預設情況下不起作用,當我按下時,它們有時在按鍵時根本不顯示,有時它們沒有預期的行為('
’+ ’e’=è)。不過,它們確實可以在某些應用程序上工作,例如在 Firefox 上。我怎樣才能使它們在所有應用程序中都按預期工作?
教程
大家好,我來這裡是為了解決我們曾經面臨的這個常見問題。本教程的目的是一勞永逸地解決這個問題。資訊就在那裡,但到處都是,有時我們對我們可以找到解決這個問題的不同方法的數量感到困惑。在這裡,我將嘗試綜合所有資訊,以便我們可以在任何應用程序中使用我們的死鍵和組合符號。
當我們使用視窗管理器 (WM) 或未正確配置桌面環境 (DE) 時,通常會出現此問題。
解決方案
有兩種方法可以解決這個問題:
- 禁用輸入法引擎 (IME) 並使用 X11 組合鍵 -此方法僅適用於拉丁語言字元。
- 正確配置 iBus 或 Fcitx -這種方法適用於每種語言。
在本教程中,我將介紹這兩種方法,並討論一下為什麼應該考慮它們。
禁用輸入法引擎(IME)
IME,如 iBus 或 Fcitx 是為組合非拉丁字元語言(例如日語、中文等)而建構的複合引擎。
如果您不需要輸入這些語言,則實際上不需要使用 iBus 或 Fcitx,因為 X11 可以輕鬆完成編寫拉丁字元的任務。
完全禁用 iBus 並使用系統 x11 編寫和使用您的死鍵。
如何:
這些步驟取自Janek Bevendorff 的回答
您將需要這些環境變數:
export GTK_IM_MODULE="" export QT_IM_MODULE="" export XMODIFIERS=""
您可以在 /etc/profile(或分別位於 /etc/profile.d 中的專用文件)或本地 ~/.xprofile中設置這些變數。在 ~/.bashrc 或 ~/.profile 中設置它並不能確保在使用圖形登錄管理器(如 GDM、SDDM、KDM 或 LightDM)**登錄系統時執行這些行。**如果您使用 XDM、Slim 或 startx 啟動 X 會話,則需要將這些行放在 ~/.xinitrc 中。
如果您配置了 ibus 以外的輸入法,請在之後轉到 Gnome 設置並確保禁用任何與 ibus 相關的設置,尤其是所有鍵盤快捷鍵。或者,使用以下命令告訴 Gnome 不要觸摸您的鍵盤設置:
gsettings set org.gnome.settings-daemon.plugins.keyboard active false
之後,重新啟動電腦並測試有故障的應用程序。
正確配置 iBus 或 Fcitx
如果您的語言需要一個非常複雜的輸入法引擎,或者您確實希望將其用作輸入法,您應該按照以下步驟正確配置您的 IME。
在這裡您可以選擇,您可以使用 iBus 或 Fcitx5,首先從桌面環境中安裝的內容開始。
對於那些使用最少安裝的視窗管理器的人,請查看 iBus Arch Wiki和Fcitx5 Arch Wiki以做出正確的決定。
如何:
1.輸入法配置
首先在我們的系統中,我們需要將輸入法設置為 iBus 或 Fcitx5。
在您的終端中,鍵入:
$ im-config
然後點擊OK,選擇YES(我們希望更新使用者配置)。在下一個視窗中,選擇您想要的 IME(ibus或fcitx),然後再次確定並確定。
您將被告知您需要重新啟動系統以啟動配置。
2. 重新啟動您的電腦。
3.配置iBus或fcitx5
系統重新啟動後,通過 GUI 應用程序配置輸入方法
iBus
$ ibus-setup
它會提示您啟動 ibus-daemon,點擊**“是”**(重要的是,此時您的系統中沒有自動啟動 ibus-daemon 的腳本,否則具有最近配置設置的新 ibus-daemon 將不會’不開始。)
Fcitx5
請參閱Fcitx5 配置
配置完成後,我們需要確保系統啟動時 iBus daemon 或 fcitx daemon 正在執行。
對於桌面環境,自動啟動通常開箱即用。對於使用視窗管理器的我們,或者如果您的 ibus 守護程序沒有在您的桌面環境中自動啟動,我們需要創建一個腳本來使用我們的 Session 啟動我們的 IME。
因此,在您的
~/.xprofile
文件中,您將需要這些行:對於 iBus
export GTK_IM_MODULES="ibus" export QT_IM_MODULES="ibus" export XMODIFIERS="@im=ibus" ibus-daemon -drxR
對於 Fcitx5
export GTK_IM_MODULES="fcitx" export QT_IM_MODULES="fcitx" export XMODIFIERS="@im=fcitx" fcitx5 -d
有關 Fcitx5 自動啟動的更多資訊:Fcitx5 Arch Wiki
4. 測試您的應用程序
現在測試應用程序是否正常工作。
5.重啟你的電腦
最後一次重新啟動是為了檢查我們配置它們後 IME 是否自動啟動,如果在最後一次重新啟動後,您的應用程序執行正常,您可以放心並專注於編碼:)
就是這樣,伙計們!我希望在這一切之後,您的系統工作正常,如果你們有任何問題,請在這裡評論,我會盡力提供幫助。
啊!
*這篇文章最初是我在 JetBrains issue track 中的Cannot type dead keys in Linux