我安装了 UbuntuNeo 键盘布局(想想德语的 Dvorak)作为安装时的默认设置(几年前)。因此,它始终是 TTY、登录和用户会话的键盘布局,无需多言。我通常使用 I3 作为窗口管理器。
昨天,我从 20.04 升级到 20.10,现在面临两个问题,我认为它们是相关的:
Neo 仍然是 TTY 和登录窗口中的布局,但一旦我登录,布局就会毫无理由地恢复为 QWERTY。我可以用 修复这个问题
setxkbmap de neo
,但让我的 I3 配置自动运行它不起作用。每当我按下 时Del,它都不起作用,而是插入相应的控制字符 (007F) 或什么也不发生(取决于我正在运行的程序)。例如,在 URXVT 中,无论实际终端在哪里,字符都会显示在屏幕上的某个位置:
即使我在登录后不更改键盘布局,也会发生这种情况。此外,如果我使用 Neo 的组合键,使“键”更容易被正常的手指位置触及,也会发生这种情况,因此这与按下哪个物理键无关。其他键似乎没有这样的问题。
这两个问题出现在多个显示管理器中,即 LXDM、GDM3 和 LightDM。如果我启动 LXDE 会话,也会发生这些问题,因此这些问题并非 I3 所特有。这两个问题不会出现在新创建的用户身上。
诊断
setxkbmap -print -verbose 10
登录后直接的输出是:Setting verbose level to 10 locale is C Trying to load rules file ./rules/evdev... Trying to load rules file /usr/share/X11/xkb/rules/evdev... Success. Applied rules from evdev: rules: evdev model: thinkpad layout: us Trying to build keymap using the following components: keycodes: evdev+aliases(qwerty) types: complete compat: complete symbols: pc+us+inet(evdev) geometry: thinkpad(us) xkb_keymap { xkb_keycodes { include "evdev+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+us+inet(evdev)" }; xkb_geometry { include "thinkpad(us)" }; };
/etc/default/keyboard
XKBLAYOUT="de" BACKSPACE="guess" XKBMODEL="thinkpad" XKBVARIANT="neo" XKBOPTIONS=""
gsettings get org.gnome.desktop.input-sources sources
(登录后也可直接访问):[('xkb', 'de+neo')]
答案1
毕竟这似乎是两个独立的问题。
del在我删除
.cache
一些不再使用的程序的其他点文件后,问题就消失了。也可能是其他原因。ibus-setup
后来,我通过→修复了键盘布局恢复的问题先进的 → 使用系统键盘布局,由于某种原因,未经检查。