按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 会话。
我要做的是:
- 登录 Linux 控制台(可以说
/dev/tty1
)。 wayland
从该控制台启动。
此时,“wayland”正在 tty1 的前台运行。然后当我想锁定会话时:
- 切换回 Linux 控制台 (tty1)。
wayland
使用 shell 作业控制中断(ctrl-z
)。- 启动
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