Хотя наиболее хорошо -известным режимом использования xkill
является «кликнуть, чтобы убить», существует опция -id
, которая может быть снабжена идентификатором окна клиента, которого вы хотите отключить от X-сервера. Затем, если вы можете получить доступ к своему X-сеансу с удаленного терминала/VT, вы можете использовать xprop
или другие средства для получения идентификатора и передать его xkill
.
Предположим, что текущее активное окно принадлежит X-клиенту, захватившему ключи и мышь. Затем следующее уничтожит соединение этого клиента с X-сервером и, таким образом, освободит клавиатуру и мышь от захвата:
winid=$(xprop -root _NET_ACTIVE_WINDOW | cut -d# -f2)
xkill -id $winid
Это действительно сработало для меня, когда я пытался избавиться от захвата QEMU, когда QEMU застрял в спящем режиме диска.