Пользовательский вариант клавиатуры не доступен для выбора.

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

Я пытаюсь создать пользовательский вариант клавиатуры для Ubuntu 17.10 с дефолтным Gnome (Xorg).

В файле /usr/share/X11/xkb/symbols/be я добавил следующий текст:

partial alphanumeric_keys
xkb_symbols "r03" {

    include "be(basic)"
    name[Group1]="Belgian (r03)";

    key <TLDE>  { [ at, threesuperior, onesuperior, lessthanequal ] };

};

Будет больше изменений, но это тест. Клавиша над табуляцией должна быть ‘@’.
(Полная раскладка доступна здесь: https://github.com/roelandmoors/azerty#installing-on-linux)

Я также изменил /usr/share/X11/xkb/rules/evdev.xml, чтобы добавить этот новый вариант в раскладку ‘be’:

<variant>
  <configItem>
    <name>r03</name>
    <description>Belgian (r03)</description>
  </configItem>
</variant>  

Папка /var/lib/xkb содержит только readme.

Когда я использую setxkbmap -layout be -variant r03, новая раскладка, кажется, работает нормально.

Проблема в том, что я не могу выбрать новый вариант, когда выполняю sudo dpkg-reconfigure keyboard-configuration. В настройках Gnome я вообще не могу выбрать вариант. Я попробовал изменить с помощью редактора dconf /org/gnome/desktop/input-sources/sources на [('xkb', 'be+r03')], но затем я получаю раскладку querty вместо azerty. (фолбэк, если настройки неверны?)

Как я могу сделать мою новую раскладку доступной для выбора в настройках. Я хочу, чтобы это была моя раскладка клавиатуры по умолчанию (также в gdm).

Обновление:

Я добился работы sudo dpkg-reconfigure keyboard-configuration, но это выглядит очень некрасиво. (не делайте это, просто отредактируйте /etc/default/keyboard)

Скопируйте вывод этой команды:

sudo /usr/share/console-setup/kbdnames-maker /usr/share/console-setup/KeyboardNames.pl | grep r03

Это должно выглядеть примерно так: C*variant*be*r03*Belgian - Belgian (r03)

Затем добавьте эту строку в этот файл: (ищите похожие строки)

sudo vi /var/lib/dpkg/info/keyboard-configuration.config

Теперь вы можете выбрать новый вариант в dpkg-reconfigure keyboard-configuration.

Чтобы сделать пользовательскую раскладку доступной также на экране входа, вы можете перейти в Настройки -> Регион и Язык, нажать кнопку Экран входа в правом верхнем углу окна и добавить её там.

enter image description here

Ручной способ сделать пользовательскую раскладку доступной на экране входа – это отредактировать файл /etc/default/keyboard. Предположим, что в настоящее время он включает эти две строки:

XKBLAYOUT="be"
XKBVARIANT=""

вы можете, например, изменить их следующим образом:

XKBLAYOUT="be,be"
XKBVARIANT="r03,"

После следующей перезагрузки индикатор раскладки клавиатуры должен быть виден, позволяя выбирать между Belgian (r03) и Belgian. Вероятно, первый будет выбран по умолчанию.

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

Для решения проблемы с выбором кастомного варианта клавиатуры в Ubuntu 17.10, необходимо выполнить несколько шагов.

Во-первых, вы уже правильно внесли изменения в файл /usr/share/X11/xkb/symbols/be, добавив следующий код:

partial alphanumeric_keys
xkb_symbols "r03" {

    include "be(basic)"
    name[Group1]="Belgian (r03)";

    key <TLDE>  { [ at, threesuperior, onesuperior, lessthanequal ] };

};

Затем вы внесли изменения в файл /usr/share/X11/xkb/rules/evdev.xml, добавив описание варианта:

<variant>
  <configItem>
    <name>r03</name>
    <description>Belgian (r03)</description>
  </configItem>
</variant>

Проблема возникает при попытке выбрать эту раскладку через интерфейс настройки клавиатуры, а также автоматически установить её в качестве стандартной на экране входа в GNOME.

Решение проблемы

  1. Корректировка команды dpkg-reconfigure:

    Судя по вашему описанию, вы уже нашли временное решение, связанное с изменением файла /var/lib/dpkg/info/keyboard-configuration.config. Вы добавили строку, отображающую ваш кастомный вариант, что позволило выбрать его через dpkg-reconfigure keyboard-configuration.

    C*variant*be*r03*Belgian - Belgian (r03)
  2. Настройка файла /etc/default/keyboard:

    Для того чтобы ваш вариант клавиатуры использовался на экране входа, отредактируйте файл /etc/default/keyboard таким образом:

    XKBLAYOUT="be,be"
    XKBVARIANT="r03,"

    Это даст возможность выбора между стандартным и кастомным вариантами клавиатуры. После перезагрузки система будет предлагать выбрать между "Belgian (r03)" и обычной "Belgian" раскладкой.

  3. Настройка через интерфейс GNOME:

    В GNOME вы можете сделать следующее для применения кастомной раскладки на экране входа:

    • Перейдите в Настройки → Регион и язык.
    • Нажмите кнопку "Экран входа" в правом верхнем углу.
    • Добавьте ваш кастомный вариант клавиатуры там же.

Заключение

Данная последовательность шагов позволяет корректно интегрировать кастомный вариант клавиатуры в систему Ubuntu и сделать его доступным как на рабочем столе, так и на экране входа. Помощь от ручной настройки /etc/default/keyboard и использование инструментов командной строки позволяло обойти ограничения GUI интерфейса на Linux.

Это решение не только удовлетворяет ваш запрос о кастомизации, но и улучшает удобство использования принимая во внимание потребности администрации системы. Не забудьте проверять изменения после каждого шага для убеждения в корректности работы системы.

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

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