Ubuntu Mate 禁用 xkb 并使用 iBus

Ubuntu Mate 禁用 xkb 并使用 iBus

在我的计算机中我需要以下键盘语言支持:

  • 英语(美国)
  • 希腊语
  • 日语

因此,anthy(我从 16.04LTS 开始使用)对我来说是一个选择。最近,我使用 MATE 变体从 Ubuntu 16.04LTS 升级到 18.04.2 LTS。

因此我安装iBusanthy

sudo apt-get install ibus ibus-anthy

在语言设置中我设置了 iBus 输入选项: 选择 IBus 作为输入法

此外,我还将 iBus 配置为忽略系统设置,如下所示回答

并不是因为我的系统中输入语言的双重指示器,我想以某种方式“禁用” xkb/xinput/whatever 驱动的指示器,并使用 iBus 作为希腊语、英语和日语(anthy)的通用语言输入,通过 ALT+Shift键盘敲击进行更改。

此外,在我的桌面上我有2个指示器,一个用于iBus,一个用于xmodmap: 语言指标

当我通过 Alt+Shift 在两种语言输入之间切换时,非 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我该怎么做呢?

答案1

让我们从干净的设置开始。

  1. 重置 MATE 键盘设置

    dconf reset -f /org/mate/desktop/peripherals/keyboard/
    
  2. 重置全局系统键盘设置,填写/etc/default/keyboard以下内容:

    # KEYBOARD CONFIGURATION FILE
    
    # Consult the keyboard(5) manual page.
    
    XKBMODEL="pc105"
    XKBLAYOUT="us"
    XKBVARIANT=""
    XKBOPTIONS=""
    
    BACKSPACE="guess"
    

    并使用 将此设置应用到 initramfs 映像中sudo update-initramfs -u -k all

  3. 发射语言支持(或gnome-language-selector)并确保已安装英语希腊语日本人语言;还要确保键盘输入系统被设定为总线

  4. 发射IBus 偏好设置(或ibus-setup)并在此处添加语言并为其设置布局切换快捷方式,注销并重新登录(或重新启动)。

    注意:我在这里设置了Alt+ Shift,但它不会切换语言。其他快捷方式(例如Super+)Space可以切换语言。

相关内容