Disappearing files, created from /etc/X11/Xclients

Alex Zbyslaw xfb52 at dial.pipex.com
Tue Mar 20 15:56:40 UTC 2007

Please include freebsd-questions on any replies.

Laszlo Nagy wrote:

>> If os.getlogin() failed non-fatally and returned, say, and empty 
>> string, then you'd be creating a file called ".txt", if I read 
>> correctly.  What does "ls -lsa /tmp/disklessips" show?  Do you in 
>> fact have .txt and .history.txt files (which a simple ls won't show 
>> you).
> There are no '.txt' and '.history.txt' files. :-(
>> Failing that, you'll just need to include some debugging.  Open a 
>> file in /tmp to write stuff to, and print *all* the various variables 
>> you use to that file.  (Or just print them to stdout if that will 
>> show up on the console).  Then try as some other user and check that 
>> everything really does have the value you think it does.
> Unfortunately, I cannot debug this way. The error is that no files are 
> created by normal users, so I cannot use files for logging. Also there 
> is no console because this is the /etcX11/Xclients script, e.g. it is 
> executed by gdm after logging in to X window system through xdmpc. 
> Well, I might setup an xml rpc server for logging, but hey, if I 
> cannot write into a wicked file then I should not start with complex 
> protocols and networking.

Humour me.  Try opening a fixed filename in a location which you 
double-check is world-writeable.  E.g. /tmp/FOO and print all your 
relevant variables there.  If it works as gandalf, then delete that 
trace file and try as a non-working user.

If that fails, then try opening the file in the home directory of the 
user who you are testing as.

If that fails then you can try logging them with syslog.

If *that* fails then make your console world-writeable for a little 
while and print directly to that (/dev/console) (assuming there is a 
console which you can sit in front of).

One way or another you need to get debugging info to figure out what is 
not working.

> I asked this on the FreeBSD questions list because I thought that 
> there is some OS specific stuff that I don't know of. 

There's no FreeBSD specific feature which makes file mysteriously 
vanish, that I'm aware of ;-)

Are you sure that if say the file() fails, that a window manager won't 
start anyway?  You can test that by making the filename something 
clearly non-existent.


More information about the freebsd-questions mailing list