FYI, I think this used to work okay in 10.04, but fails in exactly the
same way as described above in 12.04.
Note, in 10.04, X was started by gdm and was passed a -auth argument that
looked like this:
/var/run/gdm/auth-for-gdm-??????/database
when a user would log in, their XAUTHORITY environment variable was set to
point to this same file.
On 12.04, X is started by lightdm with a -auth flag that looks like this:
/var/run/lightdm/root/:0
and when a user logs in, their XAUTHORITY environment variable points to
/path/to/home/.Xauthority.
Obviously, in a NFS environment root on a local workstation doesn't have
access to the user's home directory, causing the problem.
With gdm, there appeared to be code in /etc/gdm/Init/Default to handle
setting the XAUTHORITY variable, and presumably gdm knew how to change
the ownership of the database file to the appropriate user when they
logged in. lightdm doesn't appear to be as smart as gdm. :-(
I added the following code to my .bashrc file, which seems to work around the
problem:
# try to work around Ubuntu 12.04 XAUTHORITY settings
# are we on the console *and* running lightdm *and* root?
if [ `id -u` -eq 0 ]; then
if [ "$XAUTHORITY" == "$HOME/.Xauthority" ]; then
if [ "$DISPLAY" == ":0" ]; then
x_cmd=`ps guaxww | grep /usr/bin/X | grep -v grep`
case "$x_cmd" in
*lightdm*)
XAUTHORITY=`echo $x_cmd | sed -e 's/^.*-auth //' | awk '{print $1}'`
export XAUTHORITY
;;
esac
fi
fi
fi
but it only works for interactive shells, so if I do "sudo bash" and
then run X programs, I'm good, but if I do "sudo xprogram", then it
still doesn't work.
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/157748
Title:
sudo X apps fails on NFS mounted homes
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/sudo/+bug/157748/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs