Мне нужно установить русский язык по умолчанию и английский как дополнительный язык для всех пользователей моей системы (CentOS 7, Mate). Я попытался найти его в Google и обнаружил, что localectl может мне помочь, но это было безуспешно:

# localectl set-x11-keymap ru,us
# localectl set-keymap ru,us

А потом от пользователя:

$ localectl
System Locale: LANG=ru_RU.UTF-8
   VC Keymap: ru,us
  X11 Layout: ru,us
$ setxkbmap -query
rules:      evdev
model:      pc105
layout:     us

И в пользовательской сессии есть только en layout.

PS: Это не так важно, потому что это не влияет на всех пользователей, но затем я попытался запустить в пользовательской сессии:

$setxkbmap -layout ru,us

И я до сих пор не вижу переключения раскладок клавиатуры, но если я установлю эти настройки в Настройки -> Оборудование -> Клавиатура, то и только тогда у меня будет две раскладки клавиатуры в пользовательском сеансе.

PPS: И, наконец, мой файл /etc/X11/xorg.conf.d/00-keyboard.conf :

Section "InputClass"
    Identifier "system-keyboard"
    MatchIsKeyboard "on"
    Option "XkbLayout" "ru,us"
EndSection

Я обнаружил, что все настройки dconf пользователя находятся в /home/$USER/.config/dconf/user, но это двоичный файл, поэтому я не могу извлечь из него что-то полезное.

Что я делаю неправильно?

1 ответ1

0

Создайте файл /etc/dconf/db/local.d/01-set-layouts:

[org/mate/desktop/peripherals/keyboard/kbd]

layouts=['ru','us']
options=['grp\tgrp:ctrl_shift_toggle']

[org/mate/desktop/peripherals/keyboard/general]

default-group=0

Запустите с правами root:

# dconf update

И тогда у всех новых пользователей будет русская раскладка по умолчанию. Это не влияет на тех пользователей, которые уже настроили раскладку клавиатуры.

Надеюсь, что это кому-нибудь пригодится :)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .