我最近对我的 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 建议的命令和输出:
cat /etc/default/keyboard
XKBLAYOUT="de" BACKSPACE="guess" XKBVARIANT="" XKBMODEL="inspiron" XKBOPTIONS=""
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 []
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
并重新登录。