I am running a Suse Linux 11.04 system. My problem is that when I do a fresh login into a shell as root, a new Xauthority file of the form xauth*****
gets created in the /root/
directory. Upon exiting from the shell, a few .xauth
files remain behind. I tried it on other systems but this does not happen. Also, why is the XAUTHORITY
environment variable set only for root
and not for my other users in the system?
man xdm
says the following about the XAUTHORITY
environment variable
DisplayManager.DISPLAY.userAuthDir
When xdm is unable to write to the usual user authorization file ($HOME/.Xauthority), it creates a unique file name in this directory and
points the environment variable XAUTHORITY at the created file. It uses /tmp by default.
So in my system I do this:
xauth
Using authority file /root/.xauthPpRsfU
xauth>
I exit [Ctrl+d]
and I log back in, I see that now it is starting to use a different .xauth*
file.
xauth
Using authority file /root/.xauthq1xt4z
xauth>
Why does it need to keep on creating a diffent xauth
file every time I login? Also, why is it in root when the default location is /tmp/
? I have not set .DisplayManagaer.DISPLAY.userAuthDir
to /tmp
in the xdm
configuration file.
I don't see this behaviour on any other system. In RHEL and Ubuntu all is fine.
For pointers I am not the only one who faces this issue. I guess this post is similar: `$XAUTHORITY` appears from 'nowhere' on su+tmux.
Does anyone know how I can fix this?
Best Answer
If you're using
su
to login as root, then it’s likely due to the use ofpam_xauth
to set up a new xauthority file for that session, as described in this old e-mail thread.