如何在 Linux 控制台中禁用 F1 键(即防止 tty 切换)?

如何在 Linux 控制台中禁用 F1 键(即防止 tty 切换)?

CTRL-ALT-F1可以切换到 tty1。正在另一个 tty 上。我可以使用更改键盘映射loadkeys FILE

禁用 F1 键的方法是什么?这样可以防止切换到 tty1 吗?

答案1

您将dumpkeys -s |grep Console获得包含“Console”的所有可用字符、字形和函数的列表。

有 switch-to-1 到 switch-to-63,以及 Incr/Decr 和 Last_Console。

以下是我在键盘映射文件中定义它们的方法。

]# grep Cons dkm.map
keycode  59 = Console_1  F1
keycode  60 = Console_2  F2 
...
keycode  67 = Console_9  F9
keycode  68 = Console_10 F10
keycode  87 = Console_11 F11 
keycode  88 = Console_12 F12
keycode 125 = Last_Console nul Incr_Console nul Decr_Console 
keycode 127 = Incr_Console Decr_Console 

而不是 Alt-F1 和向左和向右箭头我有 F1 和“Windows”键。此后即loadkeys dkm.map处于活动状态。

为了防止所有切换,您可以注释/删除键盘映射文件中包含“Console”的所有行。

man keymaps(loadkeys 和 dumpkeys 的键盘表描述)是一个很好的手册页(不是命令)。

然后还有chvt tty1切换命令...

答案2

您最好禁用直接在 X.Org 上执行此操作的功能。

看到这个问题为了那个原因。

简而言之,添加

Section "ServerFlags"
    Option "DontVTSwitch" "on"
EndSection

进入你的/etc/X11/Xorg.conf

由于我误解了 OP 请求,答案已编辑

免责声明:我从未使用过wayland ...这个命题主要基于wayland在前台运行或可能运行的假设。

所以,如果我理解得很好,你有一个无法锁定的 Wayland 会话,并且你想切换到 Linux 控制台并锁定它,这样就无法控制你的 Wayland 会话。

我要做的是:

  1. 登录 Linux 控制台(可以说/dev/tty1)。
  2. wayland从该控制台启动。

此时,“wayland”正在 tty1 的前台运行。然后当我想锁定会话时:

  1. 切换回 Linux 控制台 (tty1)。
  2. wayland使用 shell 作业控制中断( ctrl-z)。
  3. 启动screen实用程序并使用它来锁定控制台 ( ctrl-a x)。

当您想继续时: 1. 使用系统密码解锁屏幕。 2.wayland使用fg内置恢复。

使用这种“解决方法”,即使可以切换到wayland,它也不会响应,因为您用 中断它ctrl-z

答案3

从字面上解释你的问题,你要找的是xmodmap。 您可以用来xev -event keyboard查找键码值。然后您可以使用 xmodmap 禁用它。

以下是一些相关的超级用户帖子:

https://superuser.com/questions/775785/how-to-disable-a-keyboard-key-in-linux-ubuntu

https://superuser.com/questions/1296401/xmodmap-how-to-remap-keys-and-disable-the-original-ones/1299426

相关内容