Как узнать, откуда берутся общесистемные сочетания клавиш, и удалить их?

Для Debian, Ubuntu и Mint:

netcat -h
nc -h

Для Fedora, Red Hat Enterprise Linux и CentOS:

ncat -h

Первая строка этих команд даст версию.

4
03.10.2021, 20:02
1 ответ

Существует символ клавиши XF86LogGrabInfo, при нажатии которого X-сервер печатает информацию обо всех захватах в файле журнала (, обычно/var/log/Xorg.$DISPLAY.log). Если у вас установлен xdotool, вы можете активировать эту клавишу с помощью команды, например

xdotool key XF86LogGrabInfo

Оттуда вы можете определить клиента X11-виновника. Например, чтобы определить, какой клиент X11 возится с клавишей «Пробел», я сначала получаю код клавиши, привязанный к символу клавиши space:

.
$ xkbcomp $DISPLAY - | grep SPCE
    <SPCE> = 65;
    key <SPCE> {         [           space ] };

(вы также можете использовать xev+ нажмите Spaceдля этого ), затем я ищу его черезXorg.$DISPLAY.log:

$ awk '/registered grabs of client/{c=$0}/detail 65/{if(c)print c; c=""; print}' /var/log/Xorg.0.log
[452727.209]   Printing all registered grabs of client pid 32055 openbox --config-file /home/pi/.config/openbox/lxde-pi-rc.xml
[452727.220]     detail 65 (mask 0), modifiersDetail 8 (mask 0)
[452727.220]     detail 65 (mask 0), modifiersDetail 24 (mask 0)
[452727.220]     detail 65 (mask 0), modifiersDetail 10 (mask 0)
[452727.220]     detail 65 (mask 0), modifiersDetail 26 (mask 0)
[452727.241]     detail 65 (mask 0), modifiersDetail 12 (mask 0)
[452727.241]     detail 65 (mask 0), modifiersDetail 28 (mask 0)
[452727.241]     detail 65 (mask 0), modifiersDetail 14 (mask 0)
[452727.241]     detail 65 (mask 0), modifiersDetail 30 (mask 0)

modifiersDetail 8это Mod1Maskон же Altи т. д.

Итак, openboxкрадет комбинацию клавиш Alt-Space.


Обратите внимание, что pid и командные строки клиентов не всегда точны; это те процессы, которые подключились к сокету домена unix Xorg, которые могут больше не существовать, если они разветвятся тем временем, а их дети унаследовали дескриптор файла сокета (. Это общая проблема с наивное злоупотребление SO_PEERCRED«аутентификацией», о которой довольно долгая история;-))

4
03.10.2021, 21:48

Теги

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