3

I try to identify source of window that freeze, but without luck :

[andrii@andrii-Aspire-A517-51G ~]$ xprop | awk -F'=' '/_NET_WM_PID/ {print $2}' | xargs ps
    PID TTY          TIME CMD
   8434 pts/0    00:00:00 bash
 967972 pts/0    00:00:00 xargs
 967991 pts/0    00:00:00 ps
[andrii@andrii-Aspire-A517-51G ~]$ xprop | awk -F'=' '/_NET_WM_PID/ {print $2}'

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

app

Also, this ^ app skip taskbar.

enter image description here

cat /etc/os-release

NAME="Ubuntu" VERSION="20.04.2 LTS (Focal Fossa)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 20.04.2 LTS" 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=focal UBUNTU_CODENAME=focal

wmctrl -l -p -x
X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  20 (X_GetProperty)
  Resource id in failed request:  0x6a0bec9
  Serial number of failed request:  13
  Current serial number in output stream:  13

$  wmctrl -m
Name: Openbox
Class: 
PID: N/A
Window manager's "showing the desktop" mode: OFF

$ env | grep -i desktop
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session2
DESKTOP_SESSION=plasma
XDG_SESSION_DESKTOP=plasma
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/desktop

$
xwininfo: Please select the window about which you
          would like information by clicking the
          mouse in that window.

xwininfo: Window id: 0x44185cd (has no name)

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

  Absolute upper-left X:  401
  Absolute upper-left Y:  244
  Relative upper-left X:  401
  Relative upper-left Y:  244
  Width: 1918
  Height: 1044
  Depth: 24
  Visual: 0x21
  Visual Class: TrueColor
  Border width: 0
  Class: InputOutput
  Colormap: 0x20 (installed)
  Bit Gravity State: ForgetGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsViewable
  Override Redirect State: no
  Corners:  +401+244  --399+244  --399--208  +401--208
  -geometry 1918x1044+401+244

  Bit gravity: ForgetGravity
  Window gravity: NorthWestGravity
  Backing-store hint: NotUseful
  Backing-planes to be preserved: 0xffffffff
  Backing pixel: 0
  Save-unders: No

  Someone wants these events:
      ButtonPress
      ButtonRelease
      EnterWindow
      LeaveWindow
      SubstructureRedirect
      FocusChange
  Do not propagate these events:
  Override redirection?: No

  No window manager hints defined
  Window manager hints:
      Process id: (unknown)

  No normal window size hints defined
  No zoom window size hints defined

  No window shape defined
  No border shape defined

upd. I xkill this window and this is compare of ps faux before and after:

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

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

xwininfo -tree -root | pastebinit  

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

(defined id 0x44185cd)

 xprop -root|grep ^_NET_CLIENT_LIST | pastebinit 

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

wmctrl -l | pastebinit                                                                                                                                                   3  12:57 
X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  20 (X_GetProperty)
  Resource id in failed request:  0x6a0bec9
  Serial number of failed request:  13
  Current serial number in output stream:  13
You are trying to send an empty document, exiting.

xlsclients | pastebinit    

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

user216
  • 100

1 Answers1

0

This is a 2-step identification of your mysterious windows.

Identification 1a

You could open a terminal and use

$ xwininfo

which will prompt you to select the window about which you want to get info. Once you have the window ID WIN_ID (among other info), you could get more info with other flags, or with wmctrl, see Identification 1b below. In particular, you may want to get the process ID. If wmctrl does not work for that, you could try getting the PID from WIN_ID with

$ xprop -id <WIN_ID> | grep _NET_WM_PID            (or simply...)
$ xprop -id <WIN_ID> _NET_WM_PID

If you do not grep you could get other interesting info. In my experience, this not always gives you positive results.

See also Identification 2 below.

Related:

  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. Tell a process PID by it's window?
  4. https://ubuntuforums.org/archive/index.php/t-1124561.html

Identification 1b

As an alternative (probably easier to use, but in your case it seems not working), you could open a terminal and use

$ wmctrl -l -p -x

to list all windows managed by the current window manager (you could check it with wmctrl -m or env | grep -i desktop, and it would be useful to have you posting that output in the OP).

From wmctrl --help:

The format of the window list:

<window ID> <desktop ID> <client machine> <window title>

This is the basic format, obtained with -l. Options -p and -x add extra columns. Columns 1 (numerical window ID, from the basic option -l), 3 (PID no., from option -p), 4 (WM_CLASS, from option -x) and 5 (window title, from the basic option -l) of the output will be most useful.

Then, you could use

$ wmctrl -a <WIN>

with each of the listed windows, to "Activate the window by switching to its desktop and raising it" (check ). This way, you could identify your mysterious windows.

As for <WIN>: "This argument specifies the window. By default it's interpreted as a string. The string is matched against the window titles and the first matching window is used. The matching isn't case sensitive and the string may appear in any position of the title."

So you would be mostly ok using for <WIN> any substring of column 5 above, e.g., wmctrl -a 'Firefox'. You may need to suitably escape the string. Alternatively, you could use

$ wmctrl -a <window hex no.> -i

with column 1 above (which avoids any possible ambiguity with string matching of the window title), or

$ wmctrl -a <WM_CLASS> -x

with column 4 above.

You could tinker with other funny and useful options, as -R or -G.

Identification 2

With the pidno of each target window, you could use

$ ps -ef | grep <pidno>
$ pwdx <pidno>
$ pidstat -p <pidno>
$ ls /proc/<pidno>
$ cat /proc/<pidno>/<file>

for further identification. You could see with ls above what you could use for <file>, e.g., status or cmdline.

Sources:

  1. How to see detailed information about a given PID?
  2. https://superuser.com/questions/632979/if-i-know-the-pid-number-of-a-process-how-can-i-get-its-name