Назад | Перейти на главную страницу

Как настроить общесистемную клавиатуру в Ubuntu 18.04 LTS

У меня есть 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