Блокируйте клавиатуру и мышь, но не экран в Linux
В этом уроке я покажу вам, как заблокировать клавиатуру и мышь, но не экран, в Linux с помощью утилиты «xtrlock» . Xtrlock — это простая, но полезная утилита для блокировки дисплея X до тех пор, пока пользователь не введет свой пароль с клавиатуры.
Зачем блокировать клавиатуру и мышь, а не экран?
Моя четырехлетняя племянница — любопытный ребенок. Она очень любит фильм «Аватар». Всякий раз, когда идет фильм «Аватар», она настолько сосредоточена, что ее глаза прикованы к экрану. Но проблема в том, что она часто касается клавиш на клавиатуре, перемещает мышь или нажимает кнопку мыши во время просмотра фильма. Иногда она случайно закрывала или приостанавливала фильм, нажав клавишу на клавиатуре. Поэтому я начал искать способ заблокировать клавиатуру и мышь, но не экран.
После пары поисков в Google я наткнулся на это идеальное решение на форуме Ubuntu. Если вы не хотите, чтобы ваша кошка ходила по вашей клавиатуре или ваш ребенок возился с клавиатурой и мышью, пока вы смотрите что-то важное на экране, я предлагаю вам попробовать утилиту xtrlock, чтобы заблокировать дисплей X до тех пор, пока не будет введен пароль, оставляя окна видимыми.
Некоторые из вас могут подумать: а почему бы просто не отключить клавиатуру или мышь? Истинный! Если это рабочий стол, вы можете временно убрать клавиатуру/мышь. Но в ноутбуках сделать это невозможно.
Установите xtrlock в Линузе
Пакет xtrlock доступен в репозиториях по умолчанию большинства операционных систем Linux. Таким образом, вы можете установить его с помощью менеджера пакетов вашего дистрибутива.
В Arch Linux и его производных выполните следующую команду, чтобы установить его.
sudo pacman -S xtrlock
В Fedora:
sudo dnf install xtrlock
В RHEL, CentOS:
sudo yum install xtrlock
В SUSE/openSUSE:
sudo zypper install xtrlock
В Debian, Ubuntu, Linux Mint:
sudo apt-get install xtrlock
Создайте сочетание клавиш для блокировки дисплея X.
После установки xtrlock создайте сочетание клавиш. Это необходимо для блокировки клавиатуры и мыши с помощью выбранной вами комбинации клавиш.
Создайте новый файл с именем lockkbmouse
в /usr/local/bin
.
sudo vi /usr/local/bin/lockkbmouse
Добавьте в него следующие строки.
#!/usr/bin/env bash
sleep 1 && xtrlock
Сохраните файл и закройте файл.
Сделайте его исполняемым, используя следующую команду:
sudo chmod a+x /usr/local/bin/lockkbmouse
Далее нам нужно создать на клавиатуре ярлык для блокировки КБ/мыши.
В Ubuntu GNOME DE:
На рабочем столе Ubuntu 20.04 LTS выберите Настройки -> Сочетания клавиш. Нажмите на символ + (плюс) в конце. В более старых версиях Ubuntu, таких как Ubuntu 18.04 LTS для настольных компьютеров, перейдите в раздел Настройки системы -> Устройства -> Клавиатура.
Окно сочетаний клавиш в Ubuntu Gnome
Введите имя ярлыка, добавьте следующую строку в командное поле и нажмите кнопку Установить ярлык.
/usr/local/bin/lockkbmouse
Вы также можете использовать эту строку в командном поле.
bash -c "sleep 1 && xtrlock"
Добавить пользовательское сочетание клавиш в xtrlock
Далее вы увидите следующий экран. Введите комбинацию клавиш по вашему выбору, чтобы назначить сочетание клавиш для вновь созданного сочетания клавиш. Например, я использую Alt+k
.
Назначьте сочетание клавиш для xtrlock
Чтобы очистить комбинацию клавиш, нажмите клавишу BACKSPACE.
Теперь вы увидите, что выбранная клавиша быстрого доступа отображается в поле «Ярлык».
Установить сочетание клавиш для xtrlock
Это комбинация клавиш для блокировки клавиатуры и мыши. Закройте это окно.
Сочетание клавиш для xtrclock создано.
Сочетание клавиш для xtrclock
Закончив, закройте окно настроек клавиатуры.
На рабочем столе Arch Linux MATE:
Откройте Система -> Настройки -> Оборудование -> Сочетания клавиш.
Нажмите Добавить, чтобы создать новый ярлык.
Окно «Сочетания клавиш» в MATE DE
Введите имя ярлыка, добавьте следующую строку в командное поле и нажмите кнопку Применить.
bash -c "sleep 1 && xtrlock"
Создайте собственное сочетание клавиш для xtrlock в MATE DE
Чтобы назначить сочетание клавиш, просто выберите или дважды щелкните по нему и введите выбранную комбинацию клавиш. Например, я использую Alt+k.
Пользовательское сочетание клавиш для xtrlock в MATE DE
Чтобы очистить комбинацию клавиш, нажмите клавишу BACKSPACE. Закончив, закройте окно настроек клавиатуры.
Заблокируйте клавиатуру и мышь, но не экран, с помощью xtrlock
С этого момента всякий раз, когда вы нажимаете сочетание клавиш (в нашем случае ALT+k
), указатель мыши будет превращаться в замок. Теперь клавиатура и мышь заблокированы, поэтому вы можете свободно смотреть фильмы или что угодно. Даже ваш ребенок или домашнее животное коснется некоторых клавиш на клавиатуре или нажмет кнопку мыши, они не сработают.
Вот xtrlock в действии.
Блокируйте клавиатуру и мышь, но не экран, с помощью xtrlock в Linux
Вы видите маленькую кнопку блокировки? Это означает, что клавиатура и мышь заблокированы. Даже если вы переместите кнопку блокировки, ничего не произойдет. Задача будет выполняться до тех пор, пока вы не разблокируете экран и не закроете его вручную.
Разблокировать клавиатуру и мышь
Чтобы разблокировать клавиатуру и мышь, просто введите пароль и нажмите «Ввод». Вы не увидите пароль при его вводе. В любом случае просто введите пароль и нажмите клавишу ENTER. Мышь и клавиатура начнут работать после того, как вы введете правильный пароль. Если вы ввели неправильный пароль, вы услышите звуковой сигнал. Нажмите клавишу ESC, чтобы стереть неправильный пароль, и снова введите правильный пароль. Чтобы удалить один символ частично введенного пароля, нажмите клавиши BACKSPACE или DELETE.
Что, если я навсегда заблокирую экран?
Инструмент xtrlock может не работать на некоторых DE, например GDM. Это может навсегда заблокировать вас от экрана. Пожалуйста, протестируйте его на виртуальной машине, а затем попробуйте на своем личном или официальном рабочем столе, чтобы убедиться, что он действительно работает. Я тестировал это на рабочем столе Arch Linux MATE и рабочем столе Ubuntu 20.04 и 18.04 GNOME. Это сработало просто отлично.
На всякий случай вы навсегда заблокированы на экране, переключитесь на телетайп (CTRL+ALT+F2), а затем запустите:
sudo killall xtrlock
Альтернативно вы можете использовать команду chvt для переключения между сеансами TTY и X.
Например, чтобы переключиться на TTY1, выполните:
sudo chvt 1
Чтобы снова переключиться на сеанс X, введите:
sudo chvt 7
В разных дистрибутивах для переключения между TTY используются разные комбинации клавиш. Для получения более подробной информации посетите официальный сайт вашего дистрибутива.
В случае сбоя GDM даже телетайп недоступен, и система зависает на дошел до графического интерфейса. В таких случаях вам может потребоваться выполнить chroot в системе и удалить xtrlock. Вы предупреждены!
Более подробную информацию о xtrlock можно найти на страницах руководства.
man xtrlock
Ресурс:
- Форум Ubuntu