Як я можу змусити 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 ca не дає ą (a-ogonek), як я визначив у файлі .XCompose у моєму домашньому каталозі, а ǎ (a-hacek), як визначено деякими інші налаштування.

Я досить звик до власних мнемонік, тому чи є спосіб змусити мою систему використовувати мій власний файл ~ / .XCompose з методом введення за замовчуванням, який все ще встановлений на IBus, щоб IBus все ще працював, наприклад, у OpenOffice та інших додатках що не дозволяє вам вибрати метод введення з контекстним меню?

Примітка. Це не дублікат запитання Як я можу повернути композицію в ibus?


Це питання, здається, залишене та без відповіді. Якщо ви вирішили це питання, будь ласка, опублікуйте відповідь, у якій пояснюється, як воно було вирішено (відповідати на власні запитання не просто дозволяється, а заохочується, коли немає іншої відповіді, яка виконує завдання ). Якщо питання більше не стосується, ви можете його добровільно видалити / закрити.
Ерік Карвальо

Відповіді:


6

Як стверджує @von, ви зараз НЕ МОЖЕТЕ використовувати свій .XComposeIBUS.

Ви можете використовувати 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 ніколи не виробляє цеділу.

Інші Distros

Я трохи пограв із « .XComposeМетодами введення» на сучасних дистрибутивах сьогодні, намагаючись змусити Linux зберігати таку саму поведінку клавіатури, що і Windows (TM) для латинських мов (вихід çзамість ć, без приголосних наголосів тощо).

Я створив репо з цими інструкціями (і для Ubuntu, і для інших дистрибутивів): https://github.com/raelgc/win_us_intl


4
Що саме "ви НЕ МОЖЕТЕ зараз використовувати свій .XCompose with IBUS"? Що змінилося? Це зміна в самому Ubuntu чи в чомусь, що Ubuntu використовує?
андрибак

@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 ca не дає ą (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у термінал і можу набрати ʁ.


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 ) .

Дякуємо за підказку, що стосується fujiwarat , оновлену під час цієї дискусії .


1
Зміна конфігурації для всієї системи, однак, божевільна. Просто введіть 2alpha та ці змінні середовища у свій .xprofile або .xinitrc, який би ви не використовували.
загадковийфізик

@enigmaticPhysicist помиляється… хай, що ?? Змусьте мене не бачити цього - ви спершу створили згадану версію моєї відповіді, потім скасували мою, для додавання якої у вашій відповіді немає (як ви збираєтесь зберегти конфігурацію при перезавантаженні чувака?) , І яка не є обов'язковою (як ви можна побачити через перерахування та пояснення) .
Привіт-Ангел

Хтось не може критикувати ... Ей, у вас випадкове помаранчеве волосся?
загадковийфізик

@enigmaticPhysicist хаха, ти не робив критики. Ви скопіювали мою відповідь, а потім схилили шахту до вершини. Це навіть могло б спрацювати, якби ти не залишив коментар, тому я помітив і позначив вашу відповідь. Щодо змісту вашого коментаря - я вже відповів. І вибачте, я не зрозумів - про що жартують помаранчеві волосся?
Привіт-Ангел
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.