Как отключить клавишу F1 в консоли Linux (т. е. предотвратить переключение tty)?

Вы можете запустить systemctl list-dependenciesи выбрать соответствующие единицы для добавления к атрибуту before.

Для моей системы это будет

  • переменная -крепление замка
  • переменная -лог.маунт
  • переменная -run.mount
  • переменная -tmp.mount
0
19.11.2019, 12:40
3 ответа

С помощью dumpkeys -s |grep Consoleвы получите список всех доступных символов, глифов и функций, содержащих «Консоль».

Имеется переключатель -на -1 для переключения -на -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это активно.

Чтобы просто предотвратить все переключения, вы можете прокомментировать / удалить все строки, содержащие «Консоль» в вашем файле раскладки клавиатуры.

man keymaps(описания таблиц клавиатуры для loadkeys и dumpkeys )— хорошая справочная страница для этого (, а не команды ).

Затем еще chvt tty1команда на переключение...

2
28.01.2020, 02:38

Вам лучше отключить возможность делать это непосредственно в X.Org.

Для этого см. вопрос .

Короче добавь

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

В твою/etc/X11/Xorg.conf

ОТВЕТ ОТРЕДАКТИРОВАН, ТАК КАК Я НЕПРАВИЛЬНО ПОНЯЛ ЗАПРОС

отказ от ответственности :я никогда не использовал wayland... Это предложение в основном основано на предположении, что waylandработает или может работать на переднем плане.

Итак, если я правильно понимаю, у вас есть сессия Wayland, которую вы не можете заблокировать, и вы хотите переключиться на консоль Linux и заблокировать ее, чтобы никто не мог взять вас за руку в вашей сессии Wayland.

Что бы я сделал, это:

  1. Войдите в консоль Linux (скажем/dev/tty1).
  2. Запустите waylandс этой консоли.

В этот момент ̀ wayland `работает на переднем плане на tty1. Затем, когда я хочу заблокировать сеанс:

  1. Вернитесь к консоли Linux (tty1 ).
  2. Прервите waylandс помощью управления заданиями вашей оболочки(ctrl-z).
  3. Запустите утилиту screenи с ее помощью заблокируйте консоль(ctrl-a x).

Если вы хотите продолжить :1. Разблокируйте экран с помощью системного пароля. 2. Возобновите waylandсо встроенным fg.

Используя этот «обходной путь», даже если можно переключиться на wayland, он не будет отвечать, так как вы поставили прерывание с помощью ctrl-z.

1
28.01.2020, 02:38

Буквально интерпретируя ваш вопрос, вы ищете xmodmap. Вы можете использовать xev -event keyboard, чтобы найти значение кода клавиши. Затем вы можете использовать xmodmap, чтобы отключить его.

Вот пара соответствующих сообщений SuperUser:

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

1
28.01.2020, 02:38

Теги

Похожие вопросы