xauth not creating .Xauthority file
Just to report, I did have a similar problem. But in my case I just follow those steps:
Follow these steps to create a $HOME/.Xauthority
file.
Log in as user and confirm that you are in the user's home directory.
# Rename the existing .Xauthority file by running the following command
mv .Xauthority old.Xauthority
# xauth with complain unless ~/.Xauthority exists
touch ~/.Xauthority
# only this one key is needed for X11 over SSH
xauth generate :0 . trusted
# generate our own key, xauth requires 128 bit hex encoding
xauth add ${HOST}:0 . $(xxd -l 16 -p /dev/urandom)
# To view a listing of the .Xauthority file, enter the following
xauth list
After that there are no more problems with .Xauthority
file since then.
Thanks and credits to srinivasan.
Under root privileges open /etc/ssh/sshd_config
and uncomment the following lines if they are commented:
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
Then logout and login again with -X
flag in ssh
. You do not have to set or unset DISPLAY
environment variable.
Just to complement the excellent ton's answer.
I have once had exactly the same problem because my home directory had become 100% full. Upon connection, ssh
created an empty ~/.Xauthority
and was unable to write any single entry to it (so that xauth list
had always produced an empty output).
So I suggest one always checks the free space (e. g.: df -h
) and verifies that xauth generate
and xauth add
have indeed had any effect (xauth list
).
Found another potential cause of xauth not creating the .Xauthority file by following a couple of the answers above. Should become immediately obvious if you are following Ton's answer:
$ touch ~/.Xauthority
touch: cannot touch ‘/nethome/jdoe/.Xauthority’: Disk quota exceeded
The above will happen if you exceed the "number of files" quota for your user. If you exceed the space quota, you will likely see that error message at a different step. Or, to test if its a space disk quota issue, type:
echo "hello, world" > ~/hello.txt
If the echo
gives you a Disk quota exceeded
message, then you know that you are using too much space in your home directory (as opposed to too many files or inodes).
Solution in either case? Clean up your home directory!