David Suarez | 1 Nov 2004 15:42

Files in /tmp/.X11-unix not getting cleaned up..



I have setup Cygwin/X on Windows Terminal Services and have been running it using the approach that each new
user gets there own port.  

Everything runs dandy except under some circumstance it appears the socket/file in the /tmp/.X11-unix/
directory is not cleaned up when X is closed.  In those cases, on startup for a non-admin rights user, they
receive a fatal error.  To fix all I do is go into the directory and delete the offending file (I confirm
that there is no X server on that port first).  Since the work-around "works", I attempted to add that to
the script the user's kick off to delete the hanging file if it's there.  Unfortunately since this only
happens if the previous user of that port was different, a permission error occurs.

This is what the scenario looks like in the file system:

Suarez.David <at> jcdcnt_sm_pay2 /tmp/.X11-unix
$ ls -la
total 4
drwxrwxrwt+   2 David.Te Domain U        0 Oct 29 11:04 .
drwxrwxrwx+   3 Administ Users        4096 Oct 29 11:53 ..
srwxrwxrwx    1 ranen    Domain A       51 Oct 27 09:07 X0
srwxrwxrwx    1 Suarez.D Domain U       51 Oct 29 11:04 X1
srwxrwxrwx    1 David.Te Domain U       51 Oct 26 09:54 X3

So right now, the last user to start X on 0 was ranen, on 1 was suarez.David, etc...

Now if I check the ports, only X0 is still in use.  So the other X servers on 1 and 3 have since been closed but
the files are still sticking around.  If I get assigned to any of these other ports I don't run into a
problem because I am an admin user and it appears X checks to see if it's valid on startup and appropriately
updates it.  However for non-admin users, they get the fatal error.

I added to the script to delete the file if the X server is not in use but I get the permissioning error when they run.

Any idea what I can do to work around this behaviour?

Please advise...djsuarez


Gmane