在我的计算机中,我需要以下键盘语言支持:
- 英语(美国)
- 希腊语
- 日语
因此 anthy(我从 16.04LTS 开始使用)对我来说是一个选择。最近我使用 MATE 变体从 Ubuntu 16.04LTS 升级到 18.04.2 LTS。
因此我安装了iBus
并且anthy
:
sudo apt-get install ibus ibus-anthy
此外,我已将 iBus 配置为忽略此答案中所见的系统设置
而不是由于我的系统中输入语言的双重指标,我想以某种方式“禁用”xkb/xinput/whatever power one,并使用 iBus 作为希腊语、英语和日语(anthy)的通用语言输入,随
ALT
+Shift
键盘敲击而变化。
此外,在我的桌面上,我有 2 个指标,一个用于 iBus,一个用于 xmodmap:
当我通过 Alt+Shift 在 2 种语言输入之间切换时,非 iBus 表示输入语言。
xmodmap 布局配置如下:
$ setxkbmap -query
rules: evdev
model: pc105
layout: gr,us
variant: ,
options: grp:alt_shift_toggle,grp_led:scroll,grp:alt_shift_toggle,grp_led:scroll
我尝试使用以下命令临时禁用 xmodmap 语言输入:
setxkbmap -layout us
但它似乎不仅无法更改语言输入,而且还坚持使用英语。同样在这种情况下,一旦我将 iBUS 指示器的语言输入更改为希腊语,我就可以使用和更改语言输入。
同样在这种情况下,一个临时“禁用”了 xkbmap 我得到了这些设置:
rules: evdev
model: pc105
layout: us
options: grp:alt_shift_toggle,grp_led:scroll,grp:alt_shift_toggle,grp_led:scroll
因此,据我了解,xmodmap 会覆盖 iBus,我想让它停止这样做并让 iBus 处理任何语言输入。因此,为了做到这一点,我需要完全禁用其中的选项,setxkbmap
我该如何做到这一点?
让我们从干净的设置开始。
重置 MATE 键盘设置
重置全局系统键盘设置,填写
/etc/default/keyboard
以下内容:并将此设置应用到 initramfs 映像中
sudo update-initramfs -u -k all
。启动语言支持(或
gnome-language-selector
)并确保您已安装英语、希腊语和日语;还要确保键盘输入系统设置为IBus。启动IBus Preferences(或
ibus-setup
)并在此处添加语言并为它们设置布局切换快捷方式,注销并重新登录(或重新启动)。注意:我在这里设置了Alt+ Shift,但它不会切换语言。替代快捷键,例如Super+Space切换语言。