Вопрос или проблема
Я установил новую версию Ubuntu 24.04 на ноутбук, где на клавиатуре отсутствует клавиша между “Shift” и “Y”, на которой обычно располагаются символы “меньше чем”, “больше чем” и символ “пунктирная линия”. Поэтому я попытался изменить раскладку. Я использую немецкую раскладку клавиатуры. В разных учебниках я нашел информацию, что раскладки хранятся в /usr/share/X11/xkb/symbols/de. Поэтому я внес изменения в этот файл, переназначив символы “меньше чем” и “больше чем” на Alt+L и Shift+Alt+L, вот так:
key <AC09> {[l, L, less, greater, less, greater ]};
Теперь я хотел применить это изменение, но у меня не получилось. Я попробовал:
- setxkbmap de
- sudo dpkg-reconfigure xkb-data
- Вход и выход из системы
- Перезагрузку
- Удаление и повторное добавление немецкой раскладки клавиатуры в настройках клавиатуры UI.
Кроме того, когда я запустил “setxkbmap de”, вывод был: “WARNING: Running setxkbmap against an Xwayland server”.
Есть идеи, как применить изменения к раскладке клавиатуры?
У меня нет прямого ответа для вас, но вы видели следующую тему на unix.stackexchange? Кажется, там обсуждаются похожие попытки — заставить собственное назначение клавиш работать под Wayland — и там есть несколько идей о том, что может сработать.
(Однако обратите внимание, что она довольно старая; не знаю, актуальны ли описанные там системы сейчас.)
https://unix.stackexchange.com/questions/292868/how-to-customise-keyboard-mappings-with-wayland
.
Ответ или решение
Изменение раскладки клавиатуры на Ubuntu 24.04 может стать сложной задачей, особенно если вы работаете в окружении Wayland. Дело в том, что многие традиционные утилиты для изменений раскладки клавиатуры, такие как setxkbmap
, могут не работать в обычно ожидаемом режиме, когда используется Wayland вместо X11. Это связано с тем, что Wayland и X11 обрабатывают ввод клавиатуры по-разному.
Теория
Когда вы хотите изменить раскладку клавиатуры в Linux, у вас есть несколько различных опций. На уровне X11, часто используются инструменты вроде setxkbmap
, которые опираются на файлы раскладки, хранящиеся в /usr/share/X11/xkb/symbols/
. Однако, в окружении Wayland они могут работать не так эффективно. Это объясняется тем, что Wayland использует другую модель управления вводом, в которой X11 утилиты могут быть ограничены в своих действиях.
Для изменений в окружении Wayland вам, возможно, потребуется прибегнуть к другим методам настройки клавиатуры, таким как использование конфигурационных файлов вашей оконной среды (например, GNOME или KDE) или использования командной утилиты вроде gsettings
или dconf
.
Пример
Вы привели пример изменения файла de
в /usr/share/X11/xkb/symbols/
, чтобы переназначить клавиши less
и greater
на Alt+L
и Shift+Alt+L
. Однако, после применения изменений они не вступили в силу. Причины могут быть следующими: вы работаете в окружении, где изменения в xkb файлах не перекрывают глобальные настройки окружения, либо Wayland может игнорировать установленные настройки, возлагая такую задачу на оконный менеджер.
Также вы сталкиваетесь с предупреждением "Runing setxkbmap against an Xwayland server", что указывает на использование Xwayland. Это своего рода прослойка совместимости для запуска X11 приложений в Wayland окружении. Однако это не означает, что все функции X11 будут поддерживаться.
Применение
Чтобы обойти проблему и успешно применить изменения раскладки клавиатуры на Wayland, вы можете предпринять следующие шаги:
-
Используйте окружные утилиты конфигурации: Если вы используете GNOME, воспользуйтесь
gsettings
илиdconf-editor
для изменения параметров клавиатуры. Например, с помощьюgsettings
можно настроить сочетания клавиш. -
Конфигурация для GNOME:
- Откройте
dconf-editor
, перейдите вorg.gnome.desktop.input-sources
. - Найдите параметр
sources
и добавьте необходимую раскладку вручную. - В
org.gnome.desktop.input-sources
вы также можете управлять настройкамиxkb-options
.
- Откройте
-
Создайте пользовательский xkb файл:
- Создайте собственную пользовательскую раскладку и сохраните ее в директории в вашем домашнем каталоге, например
~/.xkb/symbols/
. - Импортируйте эту раскладку через соответствующие настройки вашего окружения.
- Создайте собственную пользовательскую раскладку и сохраните ее в директории в вашем домашнем каталоге, например
-
Переход на X11: Если изменения чрезвычайно важны и вы не можете их выполнить в Wayland, вы можете запустить сессию X11 вместо Wayland. Это временное решение для производителей, периодически испытывающих несовместимость с Wayland.
-
Проследите за Wayland Specific Workarounds: Обратитесь к документам и форумам сообщества для Wayland-ориентированных решений, таких как использование путей настройки, интегрированных в современные оконные менеджеры. Иногда помогут специальные патчи или расширения.
Из приведенного ниже обсуждения на Unix Stack Exchange следует, что проблемы, касающиеся кастомизации в Wayland, активно обсуждаются, и решения могут варьироваться в зависимости от используемой версии Wayland и оконного менеджера. Тем не менее, следование методам, описанным выше, должно помочь вам найти работоспособную конфигурацию для вашей системы.
Заключение
Решение проблем с изменением раскладки клавиатуры в Ubuntu 24.04 требует сосредоточенности на специфике среды. Если ваш рабочий процесс критически зависит от кастомных раскладок, детальное изучение возможностей вашего оконного менеджера и доступных инструментов для конфигурация ввода поможет обрести полное понимание и контроль над вашей системой в среде Wayland.