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.
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
).
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.