我有一台 Ubuntu Server 18.04,上面有 500 多个用户(不是同时的),我无法为 GUI 的所有用户设置全局键盘设置(运行默认的 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 上无效。
答案1
搞定了。问题是默认情况下 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