![为什么在 Xubuntu 22.04 上 Super 键会显示桌面?](https://linux22.com/image/1189698/%E4%B8%BA%E4%BB%80%E4%B9%88%E5%9C%A8%20Xubuntu%2022.04%20%E4%B8%8A%20Super%20%E9%94%AE%E4%BC%9A%E6%98%BE%E7%A4%BA%E6%A1%8C%E9%9D%A2%EF%BC%9F.png)
我使用的是 Xubuntu 版本 22.04.1。最近才开始出现这种情况,非常烦人:按下 Super(Windows)键会最小化所有窗口以显示空白桌面。(再次按下该键可恢复窗口。)我该如何阻止 Super 键本身产生影响?
只有左侧的 Super 键才有这种效果。按右侧的 Super 键没有效果。我有瑞典语+芬兰语键盘,以防万一。
在“设置”=>“窗口管理器”=>“键盘”中,我没有将任何操作映射到 Super 键,而将“显示桌面”操作映射到 Ctrl+Escape。我尝试将操作重新映射到另一个键,然后删除映射并重新映射,但这些都无济于事。
在设置 => 键盘 => 应用程序快捷方式中,我没有映射到 Super 键的操作,也没有显示桌面的命令的定义。
我从未尝试过将动作映射到 Super 键本身,也不想这样做。
问题如何禁用 Super 键?仅提供与 Ubuntu 和 Unity 桌面相关的答案。(我之所以转用 Xubuntu 就是因为 Unity。)
于 2022-10-01 编辑并添加:
的输出localectl
为:
System Locale: LANG=en_US.UTF-8
LANGUAGE=en
LC_NUMERIC=en_GB.UTF-8
LC_TIME=en_GB.UTF-8
LC_COLLATE=en_GB.UTF-8
LC_MONETARY=en_GB.UTF-8
LC_PAPER=en_GB.UTF-8
LC_NAME=en_GB.UTF-8
LC_ADDRESS=en_GB.UTF-8
LC_TELEPHONE=en_GB.UTF-8
LC_MEASUREMENT=en_GB.UTF-8
LC_IDENTIFICATION=en_GB.UTF-8
VC Keymap: n/a
X11 Layout: fi
X11 Model: pc105
于 2022-10-13 编辑并添加:
这是对用户 Andra 使用 的建议的回复screenkey
。我使用 安装了它apt
,运行它,然后开始按键。当我按下左侧或右侧 Super 键(Super_L 或 Super_R)+ m 时,screenkey
显示“Super+m”。当我按下并释放 Super_R 键时,什么也没发生,screenkey
什么也没显示。但:当我按下并释放 Super_L 键时,所有窗口都像以前一样最小化,并且screenkey
显示“Ctrl+Esc”。(再次按下它可以恢复窗口。)正如我上面提到的,“Ctrl + Esc”快捷键映射到设置=>窗口管理器=>键盘中的操作“显示桌面”。
然后我尝试了这个:我将“显示桌面”重新映射到快捷键“Shift+Alt+F5”。现在,当我按下并释放 Super_L 键时,screenkey
再次显示“Ctrl+Esc”,但没有其他效果。(现在按 Shift+Alt+F5 确实会最小化窗口,并screenkey
显示“Alt+Shift+F5”。)
我不知道系统是如何将 Super_L 键解释为“Ctrl+Esc”的。
于 2022-10-15 编辑并添加:
的输出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: pc105
layout: fi
Trying to build keymap using the following components:
keycodes: evdev+aliases(qwerty)
types: complete
compat: complete
symbols: pc+fi+inet(evdev)
geometry: pc(pc105)
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+fi+inet(evdev)" };
xkb_geometry { include "pc(pc105)" };
};
于 2022-10-16 编辑并添加:
的输出xmodmap -pke | grep Super
为:
keycode 133 = Super_L NoSymbol Super_L
keycode 134 = Super_R NoSymbol Super_R
keycode 206 = NoSymbol Super_L NoSymbol Super_L
于 2022-10-19 编辑并添加:
的输出gsettings list-recursively | grep -i escape
为:
org.gnome.desktop.wm.keybindings cycle-panels ['<Control><Alt>Escape']
org.gnome.desktop.wm.keybindings cycle-panels-backward ['<Shift><Control><Alt>Escape']
org.gnome.desktop.wm.keybindings cycle-windows ['<Alt>Escape']
org.gnome.desktop.wm.keybindings cycle-windows-backward ['<Shift><Alt>Escape']
org.gnome.mutter.wayland.keybindings restore-shortcuts ['<Super>Escape']
答案1
问题似乎是由于 Xfce 的按键映射系统存在某种错误。解决方案是在“设置”=>“窗口管理器”=>“键盘”中清除我自定义的按键 Ctrl+Esc 到操作“显示桌面”的映射。
在配置另一台刚刚安装了 Xubuntu 22.04 的笔记本电脑时,我发现了以下情况。我正在自定义按键映射(设置 => 窗口管理器 => 键盘)。默认情况下,“显示桌面”的按键是“Super+D”。按键 Super_L+D 和 Super_R+D 显示了桌面,正如预期的那样,而按键 Super_L 本身显示了 whisker 菜单(Xfce 相当于 Windows 开始菜单),这是出乎意料的。
然后,我将映射到操作“显示桌面”的按键更改为 Ctrl+Esc,就像我在第一个出现问题的笔记本电脑上所做的那样。此后,按键 Super+D 不再起作用,正如预期的那样;按键 Ctrl+Esc 显示桌面,正如预期的那样;并且按键 Super_L 本身还显示桌面,这当然不是预期的,这就是正在讨论的问题。
清除按键 Ctrl+Esc 到操作“显示桌面”的映射解决了这个问题。此后,Super_L 不再执行任何操作,而在我开始操作映射之前,它显示了 whisker 菜单,如前所述。但我没有在任何地方看到 Super_L 到 whisker 菜单的明确映射。