Как я могу заставить IBus не игнорировать ~ / .XCompose?


14

Поскольку UIM не хотел играть в мяч после установки Ubuntu 12.04 с нуля, я попробовал IBus, поскольку это среда IME, которая поставляется с Ubuntu по умолчанию.

Однако использовать ibus-table-compose очень сложно, поскольку для ввода одного символа мне нужно сначала нажать комбинацию клавиш, чтобы вызвать IBus, ввести соответствующую последовательность составления, а затем снова нажать комбинацию клавиш IBus, чтобы отключить ее. Вместо этого я бы предпочел сохранить функциональность клавиш для составления, предоставляемую XIM, поскольку для этого требуется меньше нажатий клавиш.

Проблема, однако, в том, что, когда метод ввода по умолчанию установлен на IBus, а IBus деактивирован, так что (AIUI, так как я запустил его с ibus-daemon --xim ) он обойден в пользу XIM, настройки в ~ / .XCompose кажется переопределенным собственной версией IBus, поэтому, например, Compose не дает ą (a-ogonek), как я определил в файле .XCompose в моем домашнем каталоге, но ǎ (a-hacek), как определено некоторыми другие настройки.

Я уже привык к своей мнемонике, поэтому есть ли способ заставить мою систему использовать мой собственный файл ~ / .XCompose с методом ввода по умолчанию, который по-прежнему установлен на IBus, так что IBus будет работать, например, в OpenOffice и других приложениях что не позволяет выбрать метод ввода с помощью контекстного меню?

Примечание: это не дубликат вопроса. Как мне вернуть композитор на ibus?


Этот вопрос представляется заброшенным и без ответа. Если вы решили это, пожалуйста, опубликуйте ответ, объясняющий, как это было решено (отвечать на ваши собственные вопросы не просто разрешается, а приветствуется, когда нет другого ответа, который выполняет эту работу ). Если вопрос больше не применяется, вы можете добровольно удалить / закрыть его.
Эрик Карвалью

Ответы:


6

Как заявляет @von, вы НЕ МОЖЕТЕ использовать ваше устройство .XComposeс IBUS.

Вы можете использовать в uimкачестве метода ввода, который поддерживает Unicode, оба модуля - GTK + и Qt с XIMподдержкой предыдущих версий .

Хороший способ обработать .XComposeи сохранить существующий глобальный Compose:

  1. Установите UIM:

    sudo apt-get install uim

  2. Сделайте это методом ввода по умолчанию:

    im-config -n uim

  3. Отредактируйте .XComposeи добавьте текущую локаль клавиатуры (в моем случае, en_US) в качестве первой строки :

    include "/usr/share/X11/locale/en_US.UTF-8/Compose"

  4. Выполнено! Перезапустите программы, которые вы хотите запустить, чтобы получить ваш .XComposeфайл.

Известные вопросы

Ubuntu Unity Dash никогда не производит седилу.

Другие дистрибутивы

В .XComposeэти дни я немного поиграл с « Методами ввода» в современных дистрибутивах, пытаясь заставить Linux сохранять то же поведение клавиатуры, что и в Windows (TM) для латинских языков ( çвместо вывода ćбез ударных согласных и т. Д.).

Я создал репозиторий с этой инструкцией (для Ubuntu и других дистрибутивов тоже): https://github.com/raelgc/win_us_intl


4
Что именно "вы НЕ МОЖЕТЕ использовать свой .XCompose с IBUS сейчас" означает? Что изменилось? Было ли это изменение в самой Ubuntu или в том, что использует Ubuntu?
andrybak

@AndreyRybak IBUS является новейшим , то XIMи uimи не поддерживает .XComposeфайлы еще (и я не уверен, что будет меняться, как один год спустя все тот же статус). Нет, это не специфично для Ubuntu.
Раэль Гугельмин Кунья

Кажется, он работает для меня в 16.04 (с Gnome).
Приостановлено до дальнейшего уведомления.

@DennisWilliamson Вы имеете в виду, IBUS и .XCompose? Просто скрестив пальцы, что это исправлено 4 года с момента моего ответа выше.
Раэль Гугельмин Кунья

1
Да. У меня был маленький ~/.Xcomposeс рабочими записями. Я добавил кучу новых записей, они не ibus restartработали , потом я сделал, и все новые работали.
Приостановлено до дальнейшего уведомления.

1

Проблема, однако, в том, что, когда метод ввода по умолчанию установлен на IBus, а IBus деактивирован, так что (AIUI, так как я запустил его с ibus-daemon --xim) он обойден в пользу XIM, настройки в ~ / .XCompose кажется переопределенным собственной версией IBus, поэтому, например, Compose не дает ą (a-ogonek), как я определил в файле .XCompose в моем домашнем каталоге, но ǎ (a-hacek), как определено некоторыми другие настройки.

Похоже, что он не определяется некоторыми другими настройками, в смысле файла конфигурации, который вы можете редактировать. Похоже, что он скомпилирован, жестко запрограммирован в файле gtkimcontextsimpleseqs.h. Кроме того, кажется, что не так просто настроить gtk_compose_seqs_compactмассив в этом файле и добавить свои собственные последовательности клавиш Compose. Таблица оптимизирована по пространству, а не легко редактируется. Так что стратегия «просто поменяй источник и перекомпилируй» может оказаться сложнее, чем я думал.

Я уже привык к своей мнемонике, поэтому есть ли способ заставить мою систему использовать мой собственный файл ~ / .XCompose с методом ввода по умолчанию, который по-прежнему установлен на IBus, так что IBus будет работать, например, в OpenOffice и других приложениях что не позволяет выбрать метод ввода с помощью контекстного меню?

На https://bugzilla.gnome.org/show_bug.cgi?id=155010 есть отчет об ошибке, в котором есть патч, который (по их словам) позволит настроить таблицу составления. Он по-прежнему не будет использовать ваш файл ~ / .XCompose, и синтаксис будет другим, но это нечто. Но я отмечаю, что рассматриваемая ошибка все еще открыта, поэтому я думаю, что это еще не вошло в официальные релизы.


1

Так как Деннис Уильямсон сказал, что это сработало в 16.04 в комментарии выше, я протестировал эту свежую установку 18.04 с короткой .XComposeкопией из моей предыдущей установки 16.04.

# Import default rules from the system Compose file
include "%L"

# Custom definitions
<Multi_key> <R> <R> <R>             : "ʁ"   U0281 # LATIN LETTER SMALL CAPITAL INVERTED R

Затем я запустил ibus restartтерминал и могу набрать can.


0
  1. Установить на глобальном уровне (т.е. для Ubuntu в /etc/environment) от QT_IM_MODULE, GTK_IM_MODULEпеременных (последней ненужного для гнома) до ibusи XMODIFIERSв @im=ibus.

  2.α Выполните setxkbmapс помощью кнопки -optionвыбора. Например , чтобы использовать правую клавишу с логотипом: setxkbmap -option compose:rwin. Это будет перезаписано при перезагрузке.

  2.β Чтобы сохранить настройку при перезагрузке, создайте файл /etc/X11/xorg.conf.d/00-keyboard.confсо следующим содержанием:

Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbOptions"    "compose:rwin"
EndSection

Протестировано и работает как для X11, так и (по крайней мере, дляsetxkbmap Wayland ) .

Спасибо за подсказку в Фудзиварат , обновленный в соответствии с этим обсуждением .


1
Изменение общесистемной конфигурации безумно. Просто поместите 2alpha и эти переменные окружения в ваш .xprofile или .xinitrc, какой бы он ни был.
загадочный

@enigmaticPhysicist ошибка ... смеется, что ?? Заставьте меня это заметить - вы сначала сделали урезанную версию моего ответа, а затем понизили мою версию за добавление, которого нет в вашем ответе (как вы собираетесь сохранить конфигурацию при перезагрузке, чувак?) , И который является необязательным (как вы можно увидеть по перечислению и объяснению) .
Привет-ангел

Кто-то не может воспринимать критику ... Эй, у тебя случайно есть оранжевые волосы?
загадочный

@enigmaticPhysicist лол, ты не критиковал. Вы скопировали мой ответ, а затем проголосовали за мой, чтобы быть на вершине. Это могло бы даже сработать, если бы вы не оставили комментарий, поэтому я заметил и пометил ваш ответ. Что касается содержания вашего комментария - я уже ответил. И извините, я не понял - о чем шутка с оранжевыми волосами?
Привет-ангел
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.