Рейтинг:3

Не удается идентифицировать информацию о приложении из определенного окна

флаг in

Я пытаюсь определить источник зависания окна, но безуспешно:

[andrii@andrii-Aspire-A517-51G ~]$ xprop | awk -F'=' '/_NET_WM_PID/ {print $2}' | xargs пс
    PID TTY ВРЕМЯ CMD
   8434 очка/0 00:00:00 баш
 967972 очка/0 00:00:00 xargs
 967991 оч/0 00:00:00 пс
[andrii@andrii-Aspire-A517-51G ~]$ xprop | awk -F'=' '/_NET_WM_PID/ {print $2}' 

[andrii@andrii-Aspire-A517-51G ~]$ 

приложение

Кроме того, это приложение ^ пропускает панель задач.

введите описание изображения здесь

кот /etc/os-релиз

ИМЯ="Убунту"
ВЕРСИЯ = "20.04.2 LTS (Фокусная ямка)"
ID=убунту
ID_LIKE=дебиан
PRETTY_NAME="Убунту 20.04.2 ЛТС"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=фокальная
UBUNTU_CODENAME=фокусный
wmctrl -l -p -x
X Ошибка неудачного запроса: BadWindow (недопустимый параметр окна)
  Основной код операции неудачного запроса: 20 (X_GetProperty)
  Идентификатор ресурса в неудачном запросе: 0x6a0bec9
  Серийный номер неудачного запроса: 13
  Текущий серийный номер в выходном потоке: 13

$ вмктрл -м
Имя: Опенбокс
Учебный класс: 
PID: нет данных
Режим «показ рабочего стола» оконного менеджера: ВЫКЛ.

$ env | grep -i рабочий стол
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session2
DESKTOP_SESSION=плазма
XDG_SESSION_DESKTOP=плазма
XDG_CURRENT_DESKTOP=KDE
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
XDG_DATA_DIRS=/usr/share/plasma:/home/andrii/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/var /lib/snapd/рабочий стол

$
xwininfo: Пожалуйста, выберите окно, о котором вы
          хотите получить информацию, нажав кнопку
          мышь в этом окне.

xwininfo: идентификатор окна: 0x44185cd (без имени)

  Идентификатор корневого окна: 0x9a4 (корневое окно) (без имени)
  Идентификатор родительского окна: 0x9a4 (корневое окно) (без имени)
     55 детей:
     0x4418619 (без названия): () 1x1+0+0 +401+244
     0x4418618 (без имени): () 1x1+0+0 +401+244
     0x4418617 (без названия): () 1x1+0+0 +401+244
     0x4418616 (без названия): () 1x1+0+0 +401+244
     0x4418615 (без имени): () 1x1+0+0 +401+244
     0x4418614 (без имени): () 1x1+0+0 +401+244
     0x4418613 (без имени): () 1x1+0+0 +401+244
     0x4418612 (без имени): () 1x1+0+0 +401+244
     0x4418611 (без имени): () 1x1+0+0 +401+244
     0x4418610 (без названия): () 1x1+0+0 +401+244
     0x441860f (без имени): () 1x1+0+0 +401+244
     0x441860e (без имени): () 1x1+0+0 +401+244
     0x441860d (без названия): () 1x1+0+0 +401+244
     0x441860c (без имени): () 1x1+0+0 +401+244
     0x441860b (без имени): () 1x1+0+0 +401+244
     0x441860a (без имени): () 1x1+0+0 +401+244
     0x4418609 (без названия): () 1x1+0+0 +401+244
     0x4418608 (без имени): () 1x1+0+0 +401+244
     0x4418607 (без имени): () 1x1+0+0 +401+244
     0x4418606 (без имени): () 1x1+0+0 +401+244
     0x4418605 (без названия): () 1x1+0+0 +401+244
     0x4418604 (без названия): () 1x1+0+0 +401+244
     0x4418603 (без имени): () 1x1+0+0 +401+244
     0x4418602 (без имени): () 1x1+0+0 +401+244
     0x4418601 (без имени): () 1x1+0+0 +401+244
     0x4418600 (без имени): () 1x1+0+0 +401+244
     0x44185ff (без имени): () 1x1+0+0 +401+244
     0x44185fe (без названия): () 1x1+0+0 +401+244
     0x44185fd (без имени): () 1x1+0+0 +401+244
     0x44185fc (без имени): () 1x1+0+0 +401+244
     0x44185fb (без имени): () 1x1+0+0 +401+244
     0x44185fa (без имени): () 1x1+0+0 +401+244
     0x44185f9 (без имени): () 26x1+1891+1043 +2292+1287
     0x44185f8 (без имени): () 26x1+1891+1038 +2292+1282
     0x44185f7 (без имени): () 1x25+1917+1019 +2318+1263
     0x44185f6 (без имени): () 26x1+1+1043 +402+1287
     0x44185f5 (без имени): () 26x1+1+1038 +402+1282
     0x44185f4 (без имени): () 1x25+0+1019 +401+1263
     0x44185f3 (без имени): () 1864x1+27+1043 +428+1287
     0x44185f2 (без имени): () 1864x1+27+1038 +428+1282
     0x44185ed (без имени): () 1916x4+1+1039 +402+1283
        4 детей:
        0x44185f1 (без названия): () 1x4+1890+0 +2292+1283
        0x44185f0 (без имени): () 1x4+25+0 +427+1283
        0x44185ef (без имени): () 25x4+1891+0 +2293+1283
        0x44185ee (без имени): () 25x4+0+0 +402+1283
     0x44185e5 (без названия): () 1x994+1917+26 +2318+270
     0x44185e4 (без имени): () 1x994+0+26 +401+270
     0x44185de (без имени): () 1916x1+1+23 +402+267
     0x44185dd (без имени): () 1x25+1917+1 +2318+245
     0x44185dc (без имени): () 26x1+1892+0 +2293+244
     0x44185db (без имени): () 26x1+0+0 +401+244
     0x44185da (без имени): () 1866x1+26+0 +427+244
     0x44185d9 (без имени): () 1x25+0+1 +401+245
     0x44185d8 (без имени): () 1916x22+1+1 +402+245
        12 детей:
        0x44185ec (без имени): () 18x18+1856+2 +2258+247
        0x44185eb (без названия): () 20x20+2+1 +404+246
        0x44185ea (без имени): () 18x18+0+0 +402+245
        0x44185e9 (без имени): () 18x18+0+0 +402+245
        0x44185e8 (без имени): () 18x18+1896+2 +2298+247
        0x44185e7 (без имени): () 18x18+1876+2 +2278+247
        0x44185e6 (без имени): () 1792x20+62+1 +464+246
        0x44185e3 (без названия): () 2x22+1914+0 +2316+245
        0x44185e2 (без имени): () 25x2+1891+0 +2293+245
        0x44185e1 (без имени): () 2x22+0+0 +402+245
        0x44185e0 (без имени): () 25x2+0+0 +402+245
        0x44185df (без названия): () 1866x2+25+0 +427+245
     0x44185d3 (без имени): () 1916x1+1+1037 +402+1281
        2 детей:
        0x44185d5 (без имени): () 26x1+1890+0 +2292+1281
        0x44185d4 (без имени): () 26x1+0+0 +402+1281
     0x44185d2 (без имени): () 1x1012+1916+25 +2317+269
        1 ребенок:
        0x44185d7 (без имени): () 1x18+0+994 +2317+1263
     0x44185d1 (без имени): () 1916x1+1+24 +402+268
     0x44185d0 (без имени): () 1x1012+1+25 +402+269
        1 ребенок:
        0x44185d6 (без имени): () 1x18+0+994 +402+1263
     0x44185ce (без имени): () 1914x1012+2+25 +403+269
        1 ребенок:
        0x44185cf (без имени): () 1914x1012+0+0 +403+269

  Абсолютный верхний левый X: 401
  Абсолютный верхний левый Y: 244
  Относительный верхний левый X: 401
  Относительный верхний левый Y: 244
  Ширина: 1918
  Высота: 1044
  Глубина: 24
  Визуальный: 0x21
  Визуальный класс: TrueColor
  Ширина границы: 0
  Класс: ВходВыход
  Цветовая карта: 0x20 (установлено)
  Состояние битовой гравитации: ForgetGravity
  Состояние гравитации окна: NorthWestGravity
  Состояние резервного хранилища: NotUseful
  Сохранить в состоянии: нет
  Состояние карты: IsViewable
  Состояние переопределения перенаправления: нет
  Углы: +401+244 --399+244 --399--208 +401--208
  -геометрия 1918x1044+401+244

  Бит гравитации: ForgetGravity
  Гравитация окна: NorthWestGravity
  Подсказка для резервного хранилища: NotUseful
  Сохраняемые опорные плоскости: 0xffffffff
  Задний пиксель: 0
  Сохранения: Нет

  Кто-то хочет эти события:
      КнопкаНажмите
      КнопкаВыпуск
      EnterWindow
      LeaveWindow
      ПодструктураПеренаправление
      FocusChange
  Не распространяйте эти события:
  Переопределить перенаправление?: Нет

  Подсказки оконного менеджера не определены
  Подсказки оконного менеджера:
      Идентификатор процесса: (неизвестно)

  Подсказки нормального размера окна не определены
  Не определены подсказки размера окна масштабирования

  Форма окна не определена
  Форма границы не определена

обновление Я xkill это окно, и это сравнение пс подделка до и после:

https://paste.ubuntu.com/p/2Rf9Kzjpw7/

https://paste.ubuntu.com/p/8rwZySP9Vc/

xwininfo -дерево -корень | пастобинит  

https://paste.ubuntu.com/p/krDy9QwDq3/

(определенный идентификатор 0x44185cd)

 xprop -root|grep ^_NET_CLIENT_LIST | пастобинит 

https://paste.ubuntu.com/p/FVYhCzkkQj/

wmctrl -l | пастебинит 3 м 12:57 
X Ошибка неудачного запроса: BadWindow (недопустимый параметр окна)
  Основной код операции неудачного запроса: 20 (X_GetProperty)
  Идентификатор ресурса в неудачном запросе: 0x6a0bec9
  Серийный номер неудачного запроса: 13
  Текущий серийный номер в выходном потоке: 13
Вы пытаетесь отправить пустой документ, выход.

xlsклиенты | пастобинит    

https://paste.ubuntu.com/p/4gsvZ75JVt/

WinEunuuchs2Unix avatar
флаг in
Попробуйте использовать `journalctl -xe` вместо `xprop`.
user216 avatar
флаг in
@WinEunuuchs2Unix не нашел там ничего полезного :(
флаг us
Какая версия Ubuntu и какой DE (LXQt?) Это?
user216 avatar
флаг in
@ArchismanPanigrahi Я обновляю вопрос с этой информацией
WinEunuuchs2Unix avatar
флаг in
Не решает проблему, но почему бы не переключить оконный менеджер OpenBox на Compiz или что-то другое с большим количеством пользователей?
user216 avatar
флаг in
потому что я люблю опенбокс :)
sancho.s ReinstateMonicaCellio avatar
флаг pl
Забавно, я расширил свой ответ, а потом обнаружил, что вы уже частично пошли по этому пути. Пожалуйста, проверьте обновленный ответ. Это, возможно, избавит вас от необходимости и неопределенности при сравнении выходных данных `ps`.
user216 avatar
флаг in
Я уже закрыл эти неопознанные окна. Итак - лог `ps` - это все, что у меня есть. Но проблема в том, что оба журнала содержат 517 строк, и я не могу понять, что это за процесс `ps` :(
user216 avatar
флаг in
забавно, что вы обновляете свой ответ таким образом, чтобы он мог помочь мне после того, как я закрыл это окно (которое было открыто в течение недели)
user216 avatar
флаг in
но хорошая новость в том, что это окно появляется снова. Но вывод `xprop -id 0x44185cd` - пустой
sancho.s ReinstateMonicaCellio avatar
флаг pl
https://stackoverflow.com/a/61784442/2707864, требуется `python-xlib`
sancho.s ReinstateMonicaCellio avatar
флаг pl
Можете ли вы сказать, как окно снова появляется? Что вы получаете со следующими командами, и в частности разница в выводах для случаев с/без таинственных окон: 1) `xwininfo -tree -root`, 2) `xprop -root|grep ^_NET_CLIENT_LIST`, 3) `wmctrl -l`? Таким образом вы можете угадать идентификатор выигрыша, а затем перейти к шагу 2.
sancho.s ReinstateMonicaCellio avatar
флаг pl
Что вы получаете с `xlsclients`? https://askubuntu.com/questions/832514/how-can-i-identify-an-empty-window
sancho.s ReinstateMonicaCellio avatar
флаг pl
Возможно битые файлы и переустановка помогает? https://bbs.archlinux.org/viewtopic.php?id=251835
user216 avatar
флаг in
RE: «stackoverflow.com/a/61784442/2707864, требуется python-xlib». Я имею в виду, что вывод пуст только для этого «специального» окна, которое я не могу идентифицировать.
user216 avatar
флаг in
Я обновляю основную тему новыми выводами
sancho.s ReinstateMonicaCellio avatar
флаг pl
Итак, не могли бы вы определить win_id/pid странного окна? Ссылка была полезной? Не могли бы вы продолжить с `ps`? Было бы очень полезно, если бы вы опубликовали некоторые результаты, которые вы получили.
user216 avatar
флаг in
@sancho.s ReinstateMonicaCellio Я несколько раз обновляю свое основное сообщение. Есть выходы `ps` и `win id` `xwininfo: идентификатор окна: 0x44185cd (без имени) ` но я все еще не получаю цель и не знаю, что это за процесс, так что мне нужно еще несколько советов
Рейтинг:0
флаг pl

Это двухэтапная идентификация ваших загадочных окон.

Идентификация 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 ниже.

Связанный:

  1. https://unix.stackexchange.com/a/84981/137608
  2. https://stackoverflow.com/questions/1131277/how-to-convert-a-x11-window-id-to-a-process-id
  3. Сообщить PID процесса по его окну?
  4. 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>, например, положение дел или же командная строка.

Источники:

  1. Как посмотреть подробную информацию о заданном PID?
  2. https://superuser.com/questions/632979/if-i-know-the-pid-number-of-a-process-how-can-i-get-its-name
user216 avatar
флаг in
Я отредактировал главное сообщение с выводами `wmctrl -m` и `wmctrl -l -p -x`
user216 avatar
флаг in
и `env | grep -i рабочий стол`
sancho.s ReinstateMonicaCellio avatar
флаг pl
@ user216 - Хорошо. У вас есть Опенбокс. Попробуйте только `wmctrl -l`, возможно, другие варианты приведут к проблемам.
user216 avatar
флаг in
`$ wmctrl -l X Ошибка неудачного запроса: BadWindow (недопустимый параметр окна) Основной код операции неудачного запроса: 20 (X_GetProperty) Идентификатор ресурса в неудачном запросе: 0x6a0bec9 Серийный номер неудачного запроса: 13 Текущий серийный номер в выходном потоке: 13 `
user216 avatar
флаг in
`xprop -id 0x44185cd` - вернуть пустой вывод

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.