ubuntu 18.04 更新后键盘布局混乱

ubuntu 18.04 更新后键盘布局混乱

我最近对我的 Dell XPS 15 进行了更新。

更新之前,键盘布局和键盘快捷键都可以正常工作:我的德语键盘被识别,我可以使用Super+在键盘布局之间切换Space,并且使用在“设置”->“设备”->“键盘”中定义的键的键盘快捷键可以Super正常工作。

更新后,Super仅使用 键即可在不同的键盘布局之间切换,并且所有使用 测试过的键盘快捷键均无效,Super包括那些我已删除并重新定义的快捷键。因此,我无法使用Super+在键盘布局之间切换Space

负责任的更新似乎是下列之一(来自 /var/log/apt/history.log)

Start-Date: 2018-07-31  01:09:58
Commandline: packagekit role='update-packages'
Upgrade: papirus-icon-theme:amd64 (20180723-2516+pkg18~ubuntu18.04.1, 20180728-2528+pkg18~ubuntu18.04.1), console-setup-linux:amd64 (1.178ubuntu2.2, 1.178ubuntu2.3), console-setup:amd64 (1.178ubuntu2.2, 1.178ubuntu2.3), keyboard-configuration:amd64 (1.178ubuntu2.2, 1.178ubuntu2.3)
End-Date: 2018-07-31  01:10:24

Start-Date: 2018-07-31  09:50:32
Commandline: aptdaemon role='role-commit-packages' sender=':1.142'
Install: hunspell-en-gb:amd64 (1:6.0.3-3), hunspell-en-za:amd64 (1:6.0.3-3), hyphen-en-ca:amd64 (0.10), hyphen-en-gb:amd64 (1:6.0.3-3), libreoffice-l10n-en-gb:amd64 (1:6.0.3-0ubuntu1), libreoffice-l10n-en-za:amd64 (1:6.0.3-0ubuntu1), thunderbird-locale-en-gb:amd64 (1:52.9.1+build3-0ubuntu0.18.04.1), mythes-en-au:amd64 (2.1-5.4), libreoffice-help-en-gb:amd64 (1:6.0.3-0ubuntu1), hunspell-en-au:amd64 (1:2017.08.24), hunspell-en-ca:amd64 (1:2017.08.24)
End-Date: 2018-07-31  09:50:35

尝试的解决方案:如此处所述如何永久配置键盘我执行了

sudo dpkg-reconfigure keyboard-configuration

选择“键盘型号:戴尔 Inspiron 6000/8000 笔记本电脑,键盘来源:德语,键盘布局:德语,功能为 AltGr “默认...,没有组合键,也没有用于 X 服务器终止的键”

WARNING: Unknown X keysym "dead_belowmacron"
WARNING: Unknown X keysym "dead_belowmacron"
WARNING: Unknown X keysym "dead_belowmacron"
WARNING: Unknown X keysym "dead_belowmacron"
WARNING: Unknown X keysym "dead_belowmacron"
WARNING: Unknown X keysym "dead_belowmacron"
WARNING: Unknown X keysym "dead_belowmacron"
WARNING: Unknown X keysym "dead_belowmacron"
Your console font configuration will be updated the next time your system
boots. If you want to update it now, run 'setupcon' from a virtual console.
update-initramfs: deferring update (trigger activated)
Processing triggers for initramfs-tools (0.130ubuntu3.1) ...
update-initramfs: Generating /boot/initrd.img-4.15.0-29-generic

此后,一切都按照上述更新之前的方式运行。

问题令人惊讶的是(调用了 update-initramfs,链接中提到这将生效),更改在重启后消失。此外,如果我通过“设置”->“区域和语言”添加或删除键盘布局,我也会遇到老问题。

我也尝试手动更改 /etc/default/keyboard,但没有改变任何东西。

Gunnar Hjalmarsson 建议的命令和输出:

  1. cat /etc/default/keyboard

    XKBLAYOUT="de"
    BACKSPACE="guess"
    XKBVARIANT=""
    XKBMODEL="inspiron"
    XKBOPTIONS=""
    
  2. gsettings get org.gnome.desktop.input-sources xkb-options

    GLib-GIO-Message: 10:49:09.149: Using the 'memory' GSettings backend.  
    Your settings will not be saved or shared with other applications.
    @as []  
    
  3. setxkbmap -query -v 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:      inspiron
    layout:     de,us,us
    variant:    ,,
    options:    grp:lwin_toggle,grp_led:scroll
    Trying to build keymap using the following components:
    keycodes:   evdev+aliases(qwertz)
    types:      complete
    compat:     complete+ledscroll(group_lock)
    symbols:    pc+de+us:2+us:3+inet(evdev)+group(lwin_toggle)
    geometry:   pc(pc104)
    rules:      evdev
    model:      inspiron
    layout:     de,us,us
    variant:    ,,
    options:    grp:lwin_toggle,grp_led:scroll
    

检查 dconf 数据库是否可能已损坏

cd ~/.config/dconf
mv user user.bak

并重新登录,我可以在设置->设备->键盘下更改键盘快捷键,并且可以通过Super+在布局之间切换Space。重启后一切仍然正常。显然,使用这种方法,我的所有设置都消失了,我需要重新安装所有 gnome 扩展等。有没有办法修复 dconf 数据库(要更改哪些参数)?

答案1

我可以通过如下更改 dconf 来完全解决该问题:安装 dconf 编辑器:

sudo apt install dconf-editor

在命令行中打开编辑器

dconf-editor

然后转到

/org/gnome/desktop/input-sources/xkb-options

在这里我关闭了“使用默认值”选项

这解决了上述所有问题。感谢@Gunnar Hjalmarsson 向我推荐 dconf。此链接对以下方面很有帮助:dconf附有一张图片。

答案2

我从setxkbmap命令中看到选项grp:lwin_toggle已设置,这可能解释了为什么仅按下Super键即可切换布局。同时/etc/default/keyboard不包含任何XKBOPTIONS,桌面设置(gsettings命令)也不包含。

根据该信息,重新启动应该可以解决问题。

但后来你说添加/删除一些布局地区和语言搞砸了。我注意到运行该gsettings命令时出现警告消息,想知道您的 dconf 数据库是否已损坏。要找出原因,您可能需要尝试以下命令:

cd ~/.config/dconf
mv user user.bak

并重新登录。

相关内容