Как установить метод ввода iBus по умолчанию в 14.04?

Вопрос или проблема

Недавно я обновился с 12.04 до 14.04 LTS, но обнаружил, что iBus стал работать некорректно.

В 12.04 в списке методов ввода не было английского, потому что при запуске приложения iBus находился в состоянии “Метод ввода выключен”; затем я мог включить метод ввода, нажав Ctl+Sp, и вводить китайский или что-то другое.

Но в 14.04 английский (США) также стал одним из методов ввода. Кроме этого, у меня активированы китайский (pinyin) и японский (mozc). В результате при запуске приложения по умолчанию используется китайский как метод ввода. Я пытался удалить и снова добавить методы ввода, но список методов ввода фиксирован в порядке на следующем изображении, и pinyin, кажется, является методом по умолчанию.

введите описание изображения здесь

Как я могу настроить последовательность и сделать английский методом ввода по умолчанию? Большое спасибо!

ИЗМЕНЕНИЕ

На самом деле начальный метод ввода для каждого вновь запущенного приложения, похоже, случайный, и Mozc также может быть методом по умолчанию.

Я также нашел решение, хотя это лишь способ установить метод ввода по умолчанию для текущей сессии входа. Это выглядит следующим образом:

  • перейдите в рабочую область без окон приложений (или просто не фокусируйтесь на каком-либо приложении)
  • нажмите горячую клавишу, чтобы переключить метод ввода на английский (или любой другой по вашему выбору)
  • в результате начальный метод ввода в новом запущенном приложении или новой вкладке xterm будет английским

Вывод команды gsettings list-recursively org.freedesktop.ibus следующий:

org.freedesktop.ibus.general dconf-preserve-name-prefixes ['/desktop/ibus/engine/pinyin', '/desktop/ibus/engine/bopomofo', '/desktop/ibus/engine/hangul']
org.freedesktop.ibus.general preload-engines-inited true
org.freedesktop.ibus.general use-system-keyboard-layout true
org.freedesktop.ibus.general embed-preedit-text true
org.freedesktop.ibus.general enable-by-default false
org.freedesktop.ibus.general use-global-engine false
org.freedesktop.ibus.general preload-engine-mode 0
org.freedesktop.ibus.general use-xmodmap true
org.freedesktop.ibus.general switcher-delay-time 400
org.freedesktop.ibus.general version '1.5.5'
org.freedesktop.ibus.general load-xkb-layouts ['us', 'us(chr)', 'us(dvorak)', 'ad', 'al', 'am', 'ara', 'az', 'ba', 'bd', 'be', 'bg', 'br', 'bt', 'by', 'de', 'dk', 'ca', 'ch', 'cn(tib)', 'cz', 'ee', 'epo', 'es', 'et', 'fi', 'fo', 'fr', 'gb', 'ge', 'ge(dsb)', 'ge(ru)', 'ge(os)', 'gh', 'gh(akan)', 'gh(ewe)', 'gh(fula)', 'gh(ga)', 'gh(hausa)', 'gn', 'gr', 'hu', 'hr', 'ie', 'ie(CloGaelach)', 'il', 'in', 'in(tel)', 'in(bolnagri)', 'iq', 'iq(ku)', 'ir', 'ir(ku)', 'is', 'it', 'jp', 'kg', 'kh', 'kz', 'la', 'latam', 'lk', 'lk(tam_unicode)', 'lt', 'lv', 'ma', 'ma(tifinagh)', 'mal', 'mao', 'me', 'mk', 'mm', 'mt', 'mv', 'ng', 'ng(hausa)', 'ng', 'ng(igbo)', 'ng(yoruba)', 'nl', 'no', 'no(smi)', 'np', 'pk', 'pl', 'pl(csb)', 'pt', 'ro', 'rs', 'ru', 'ru(cv)', 'ru(kom)', 'ru(sah)', 'ru(tt)', 'ru(xal)', 'se', 'si', 'sk', 'sy', 'sy(ku)', 'th', 'tj', 'tr', 'ua', 'uz', 'vn']
org.freedesktop.ibus.general engines-order ['xkb:us::eng', 'pinyin', 'mozc-jp']
org.freedesktop.ibus.general preload-engines ['pinyin', 'xkb:us::eng', 'mozc-jp']
org.freedesktop.ibus.general xkb-latin-layouts ['ara', 'bg', 'cz', 'dev', 'gr', 'gur', 'in', 'jp(kana)', 'mal', 'mkd', 'ru', 'ua']
org.freedesktop.ibus.general.xkblayoutconfig east-asia ['dz', 'km', 'lo', 'my', 'th', 'vi']
org.freedesktop.ibus.general.xkblayoutconfig center-asia ['bo', 'zh']
org.freedesktop.ibus.general.xkblayoutconfig north-europe ['da', 'fi', 'fo', 'is', 'no', 'se', 'sv']
org.freedesktop.ibus.general.xkblayoutconfig west-europe ['ca', 'cs', 'de', 'en', 'es', 'fr', 'gd', 'hu', 'it', 'nl', 'pt', 'sk', 'sl']
org.freedesktop.ibus.general.xkblayoutconfig group-list ['west_europe', 'south_europe', 'east_europe', 'north_europe', 'west_asia', 'center_asia', 'east_asia', 'india', 'australia']
org.freedesktop.ibus.general.xkblayoutconfig south-europe ['bg', 'bs', 'el', 'mk', 'mt', 'ro', 'sq', 'sr']
org.freedesktop.ibus.general.xkblayoutconfig west-asia ['am', 'ar', 'az', 'ber', 'fa', 'ha', 'he', 'hy', 'ig', 'ku', 'tg', 'tr', 'yo']
org.freedesktop.ibus.general.xkblayoutconfig india ['bn', 'dv', 'gu', 'hi', 'kn', 'ml', 'ne', 'or', 'pa', 'si', 'ta', 'te', 'ur']
org.freedesktop.ibus.general.xkblayoutconfig east-europe ['be', 'csb', 'cv', 'et', 'ka', 'kk', 'ky', 'lt', 'lv', 'pl', 'ru', 'tt', 'uk', 'uz']
org.freedesktop.ibus.general.xkblayoutconfig australia ['mi']
org.freedesktop.ibus.general.hotkey next-engine ['Alt+Shift_L']
org.freedesktop.ibus.general.hotkey disable-unconditional @as []
org.freedesktop.ibus.general.hotkey enable-unconditional @as []
org.freedesktop.ibus.general.hotkey triggers-no-modifiers @as []
org.freedesktop.ibus.general.hotkey trigger ['Control+space', 'Zenkaku_Hankaku', 'Alt+Kanji', 'Alt+grave', 'Hangul', 'Alt+Release+Alt_R']
org.freedesktop.ibus.general.hotkey previous-engine @as []
org.freedesktop.ibus.general.hotkey prev-engine @as []
org.freedesktop.ibus.general.hotkey next-engine-in-menu ['Alt+Shift_L']
org.freedesktop.ibus.general.hotkey triggers ['<Alt><Shift>', '<Control>space']
org.freedesktop.ibus.panel x -1
org.freedesktop.ibus.panel y -1
org.freedesktop.ibus.panel lookup-table-orientation 1
org.freedesktop.ibus.panel show 1
org.freedesktop.ibus.panel auto-hide-timeout 10000
org.freedesktop.ibus.panel show-im-name false
org.freedesktop.ibus.panel custom-font 'Sans 10'
org.freedesktop.ibus.panel show-icon-on-systray true
org.freedesktop.ibus.panel use-custom-font false

Просто используйте setxkbmap, когда хотите переключиться на американскую клавиатуру. Например:

setxkbmap us

Я создал ярлык на рабочем столе, чтобы помочь мне переключать раскладки клавиатуры из-за проблем с языком Ibus. Просто отредактируйте файл под названием layout.desktop в $HOME/Desktop и сделайте его исполняемым. Вот пример для возврата к раскладке клавиатуры США:

[Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=Keymap US
Comment=
Exec=setxkbmap us
StartupNotify=false
Terminal=false
Hidden=false

Попробуйте установить язык по умолчанию в настройках клавиатуры. Я нашел это решение здесь.

Ответ или решение

Чтобы установить метод ввода iBus по умолчанию в Ubuntu 14.04 и избежать проблем с случайным выбором языка ввода при запуске приложений, выполните следующие шаги:

  1. Откройте настройки iBus:

    • Поскольку вы уже используете iBus, чтобы открыть настройки, откройте терминал и выполните команду:
      ibus-setup
  2. Настройте порядок методов ввода:

    • В открывшемся окне перейдите на вкладку "Input Method".
    • Убедитесь, что ваш английский метод ввода (например, xkb:us::eng) находится на первом месте в списке. Для этого используйте кнопки "Up" и "Down", чтобы переместить нужный метод вверх списка.
  3. Сохраните изменения:

    • После настройки порядка методов ввода закройте окно настроек.
  4. Перезагрузите iBus:

    • Выполните следующие команды в терминале для перезагрузки iBus:
      ibus restart
    • Либо вы можете перезагрузить систему, чтобы изменения вступили в силу.
  5. Настройки настроек клавиатуры:

    • Перейдите в "Системные настройки" и выберите "Клавиатура".
    • Вкладка "Раскладки" должна отображать все доступные раскладки. Убедитесь, что английская раскладка установлена как основная.
  6. Горячие клавиши для переключения методов ввода:

    • В настройках iBus вы можете также установить горячие клавиши для переключения между методами ввода. Откройте вкладку "Hotkeys" в ibus-setup.
    • Убедитесь, что для переключения между языками установлены удобные для вас сочетания клавиш, например Ctrl + Space.
  7. Использование setxkbmap:

    • Как временное решение, вы можете использовать команду setxkbmap для смены раскладки клавиатуры на английскую. В терминале выполните:
      setxkbmap us
  8. Создайте ярлык для быстрого переключения раскладок:

    • Если вы часто меняете раскладки, создайте десктопный ярлык, который позволит вам быстро переключаться:
      1. Создайте файл на рабочем столе с именем layout.desktop.
      2. Вставьте в него следующий код:
        [Desktop Entry]
        Encoding=UTF-8
        Version=0.9.4
        Type=Application
        Name=Keymap US
        Comment=
        Exec=setxkbmap us
        StartupNotify=false
        Terminal=false
        Hidden=false
      3. Сделайте файл исполняемым:
        chmod +x ~/Desktop/layout.desktop

После выполнения этих шагов ваш английский метод ввода должен стать методом по умолчанию при запуске новых приложений в Ubuntu 14.04. Если у вас возникнут дополнительные вопросы или проблемы, пожалуйста, не стесняйтесь задавать их.

Оцените материал
Добавить комментарий

Капча загружается...