我需要将系统中所有用户的默认语言设置为俄语,并将英语设置为次要语言(CentOS 7、Mate)。我尝试谷歌搜索,发现本地化可能会对我有帮助,但没有成功:
# 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 布局。
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
创建文件/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
然后所有新用户都会有俄语默认使用键盘布局。这不会影响已经配置键盘布局的现有用户。
希望它对某些人有用:)