Это двухэтапная идентификация ваших загадочных окон.
Идентификация 1а
Вы можете открыть терминал и использовать
$xwininfo
который предложит вам выбрать окно, о котором вы хотите получить информацию.
Когда у вас есть идентификатор окна WIN_ID
(среди прочего), вы можете получить больше информации с помощью других флагов или с помощью wmctrl
, видеть Идентификация 1b ниже.
В частности, вы можете захотеть получить идентификатор процесса.
Если wmctrl
не работает для этого, вы можете попробовать получить ПИД
от WIN_ID
с
$ xprop -id <WIN_ID> | grep _NET_WM_PID (или просто...)
$ xprop -id <WIN_ID> _NET_WM_PID
Если ты не grep
вы могли бы получить другую интересную информацию.
По моему опыту, это не всегда дает положительные результаты.
Смотрите также Идентификация 2 ниже.
Связанный:
- https://unix.stackexchange.com/a/84981/137608
- https://stackoverflow.com/questions/1131277/how-to-convert-a-x11-window-id-to-a-process-id
- Сообщить PID процесса по его окну?
- https://ubuntuforums.org/archive/index.php/t-1124561.html
Идентификация 1b
В качестве альтернативы (вероятно, проще в использовании, но в вашем случае это не работает),
вы можете открыть терминал и использовать
$ wmctrl -l -p -x
вывести список всех окон, управляемых текущим оконным менеджером
(вы можете проверить это с помощью wmctrl -m
или же окружение | grep -i рабочий стол
, и было бы полезно, если бы вы разместили этот вывод в ОП).
От wmctrl --помощь
:
Формат списка окон:
<идентификатор окна> <идентификатор рабочего стола> <клиентский компьютер> <заголовок окна>
Это базовый формат, полученный с помощью -л
. Параметры -п
и -Икс
добавить дополнительные столбцы.
Столбцы 1 (числовой идентификатор окна, из базового варианта -л
), 3 (номер PID, из опции -п
), 4 (WM_CLASS
, из варианта -Икс
) и 5 (заголовок окна, из основного варианта -л
) вывода будет наиболее полезным.
Затем вы можете использовать
$ wmctrl -a <ВЫИГРЫШ>
с каждым из перечисленных окон,
на «Активировать окно, переключившись на его рабочий стол и подняв его» (галочка).
Таким образом, вы можете идентифицировать свои таинственные окна.
Что касается <WIN>
: "Этот аргумент указывает окно. По умолчанию он интерпретируется как строка. Строка сопоставляется с заголовками окон, и используется первое соответствующее окно. Сопоставление не чувствительно к регистру, и строка может появиться в любой позиции заголовка. ."
Таким образом, вы были бы в основном в порядке, используя для <WIN>
любая подстрока столбца 5 выше, например, wmctrl -a 'Файрфокс'
.
Возможно, вам придется соответствующим образом экранировать строку.
В качестве альтернативы вы можете использовать
$ wmctrl -a <шестнадцатеричный номер окна> -i
со столбцом 1 выше (что позволяет избежать любой возможной двусмысленности при сопоставлении строки заголовка окна), или
$ wmctrl -a <WM_CLASS> -x
со столбцом 4 выше.
Вы можете повозиться с другими забавными и полезными опциями, такими как -Р
или же -Г
.
Идентификация 2
С пидно
каждого целевого окна, вы можете использовать
$пс-эф | grep <пидно>
$ pwdx <пидно>
$ pidstat -p <pidno>
$ ls /proc/<pidno>
$ cat /proc/<pidno>/<file>
для дальнейшей идентификации.
Вы могли видеть с лс
над тем, что вы могли бы использовать для <file>
, например, положение дел
или же командная строка
.
Источники:
- Как посмотреть подробную информацию о заданном PID?
- https://superuser.com/questions/632979/if-i-know-the-pid-number-of-a-process-how-can-i-get-its-name