如何禁用X中的虚拟终端切换快捷键?

在早期版本的Ubuntu上,用于在虚拟终端之间切换的AltF☒Alt⇆快捷键似乎已在X Windows下被禁用,因此无法意外触发它们。

我现在正在使用带有Cinnamon桌面环境的Ubuntu 16.04,即使在X Windows下也可以启用快捷方式。

我经常在尝试访问菜单项或在Web浏览器中前进/后退时意外触发它们。

如何禁用这些虚拟终端快捷键,或将其替换为需要Ctrl的版本(例如Ctrl Alt F1而不是Alt F1 )?

(我发现了几个较旧的答案,建议使用自定义xmodmap ,但这似乎对我没有任何影响。)

尝试在终端sudo kbd_mode -s使用该命令,看看它是否有帮助。 它将键盘输入模式更改为“scancode”。 我有同样的问题,发现这可能是解决方案。

Unix stackexchange中的这个线程帮我找出了一个临时的一次性解决方案:

 # This command removes all the lines that look like: # alt keycode 123 = Console_1' # ... with no additional modifiers $ sudo dumpkeys | grep -Pv '^\s+alt(gr)?\s+keycode\s+\d+\s+=\s+(Console_|Incr_Console|Decr_Console)'|sudo loadkeys 

似乎Ubuntu 16.04的console-setup软件包将其缓存的keymap存储在/etc/console-setup/cached.kmap.gz

但我无法弄清楚哪个程序首先会生成这个“缓存”。 有任何想法吗? 我只能说,重新运行dpkg-reconfigure console-setup console-setup-linux会触发其重新生成。

对于永久性修复,您可以将修改后的映射添加到/etc/console-setup/remap.inc

您必须运行sudo dpkg-reconfigure console-setup -phigh才能应用更改并重新启动。

例如,这是我用来禁用alt-Fxx和alt箭头切换

 # Remap alt+Fxx key to void to avoid terminal switching alt keycode 59 = VoidSymbol alt keycode 60 = VoidSymbol alt keycode 61 = VoidSymbol alt keycode 62 = VoidSymbol alt keycode 63 = VoidSymbol alt keycode 64 = VoidSymbol alt keycode 65 = VoidSymbol alt keycode 66 = VoidSymbol alt keycode 67 = VoidSymbol alt keycode 68 = VoidSymbol # Also remove mapping for alt left arrow and right arrow alt keycode 105 = VoidSymbol alt keycode 106 = VoidSymbol 

`