У меня есть Ubuntu Server 18.04 с более чем 500 пользователями (не одновременно), и я не могу установить глобальную настройку клавиатуры для всех пользователей для графического интерфейса (при установке GNOME по умолчанию).
На физическом компьютере есть бразильская раскладка клавиатуры ABNT2, которая выглядит правильно настроенной:
root@gilneas:/# cat /etc/default/keyboard
# KEYBOARD CONFIGURATION FILE
# Consult the keyboard(5) manual page.
XKBMODEL="pc105"
XKBLAYOUT="br"
XKBVARIANT=""
XKBOPTIONS=""
BACKSPACE="guess"
root@gilneas:/# grep -v \# /etc/locale.gen
en_US.UTF-8 UTF-8
pt_BR.UTF-8 UTF-8
Я пробовал бежать dpkg-reconfigure keyboard-configuration
и регенерировал локации с locale-gen --purge
. Но ничего не работает, поскольку GNOME не учитывает конфигурации и выбирает английский (США) в качестве клавиатуры по умолчанию.
Эти настройки работали в предыдущих версиях Ubuntu Server LTS: 12.04, 14.04 и 16.04; все работают соответственно. Но не 18.04.
Разобрался. Проблема в том, что по умолчанию IBUS игнорирует системные настройки и отменяет их. Поэтому нам нужно настроить IBUS для соблюдения настроек системной клавиатуры. Для этого достаточно создать файл /etc/dconf/db/ibus.d/01-fixkeyboard
со следующим содержанием:
[desktop/ibus/general]
use-system-keyboard-layout=true
После его выпуска dconf update
и должно быть хорошо.
Имейте в виду, что это решает проблемы для учетных записей, которые не отменяли настройку клавиатуры в настройках GNOME. В моем случае я стер все пользовательские настройки GNOME с помощью этого вопроса: https://askubuntu.com/questions/56313/how-do-i-reset-gnome-to-the-defaults#56314