Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

Possible Duplicate:
What process created this X11 window?

Recently I've been bugged by a mysterious invisible window in X on my Ubuntu machine. It takes the form of an always-top-most window with absolutely nothing showing; no window border, no content, no nothing. That means that entire area of the screen is now unusable with any pointer, since the window captures all events in it's context - I can't even click on the desktop in that area !

As you might have guess this is rather annoying, and I want to get rid of it permanently. However, running xwininfo on it gives the following:

xwininfo: Window id: 0x1601b9f (has no name)
[...]
Map State: IsViewable
Override Redirect State: yes
Corners:  +395+315  -383+315  -383-263  +395-263
-geometry 502x222+395+315

So, I've got an ID, but no name. This fortunately means I can kill it with xkill, but unfortunately means I have no idea what created it.

So what I'm looking for is some advice or help finding a way to identify the root and cause of this window.

Any suggestions ?

share|improve this question

marked as duplicate by Gilles, Michael Mrozek May 26 '11 at 22:55

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

    
For future reference, the one-liner I'm using to kill the window: ID=xwininfo | grep -oP "0x[0-9a-fA-F]{4,8} "; xkill -id $ID –  CSkau May 26 '11 at 8:37
    
If you want a one-liner, at least do it like this: xkill -id $(xwininfo | grep -oP "0x[0-9a-fA-F]{4,8} ") –  Caleb May 26 '11 at 12:02

1 Answer 1

up vote 2 down vote accepted

Capture the output of ps -eo pid,cmd to a file, then kill the offending window, repeat the ps, and see what changed:

ps -eo pid,cmd >/tmp/ps1
ID=`xwininfo | grep -oP "0x[0-9a-fA-F]{4,8} "`; xkill -id $ID
ps -eo pid,cmd >/tmp/ps2
diff /tmp/ps{1,2}

Kind of a brute-force method, but it should work.

share|improve this answer
    
I initially tried something along that line but with pstree instead, but I couldn't actually see any difference in the two outputs. But I will try your suggestion next time I see the problem, and see if this works instead. Thanks –  CSkau May 26 '11 at 11:43
    
Ok, so the bug finally re-appeared, and I was able to try this solution. It's not perfect since you have to account for processes spawned by running the above, but it succeeded in giving me a hint what might be going on here. Again, thanks. –  CSkau Jun 1 '11 at 19:29

Not the answer you're looking for? Browse other questions tagged or ask your own question.