20

I'm trying to run gparted on my Raspberry Pi. After logging in with ssh -X pi@pi and trying to run sudo gparted, I get the error message...

X11 connection rejected because of wrong authentication.

When I try xauth list, nothing is shown, meaning that the xauth file is missing. What is the easiest way of getting the X11 forwarding to work?


Edit: I tried the suggestion from below, but the first step already fails:

root@raspberrypi:~# xauth list $DISPLAY

xauth: file /root/.Xauthority does not exist

How do I generate this file?

1
  • 1
    Is there actually an X session to forward the remote session to? You're not doing this in putty are you?!
    – Jivings
    Aug 26, 2012 at 21:03

6 Answers 6

13

A convenient way is to use the gksudo command instead. (From the debian package "gksu").

2
  • Yeah, this is probably a better, easier solution.
    – Jivings
    Aug 26, 2012 at 10:44
  • I tried solutions using xauth and similar stuff but this was the only solution that actually worked for me!
    – Hiura
    Oct 17, 2016 at 9:02
10

The problem is that the X session for the superuser doesn't know what the cookie is.

After logging into the Pi execute the following:

$ xauth list $DISPLAY 

This prints the cookie, something like this:

pi:10 mit-magic-cookie-1 4d22408aga55sad1ccd165723g77923ae

Then switch the superuser with su and set the cookie:

# xauth add pi:10 mit-magic-cookie-1 4d22408aga55sad1ccd165723g77923ae 

X-forwarding should now work for root.

5
  • Is there an arguement you can pass to sudo? Aug 25, 2012 at 21:33
  • @AlexChamberlain Not that I know of.
    – Jivings
    Aug 26, 2012 at 10:43
  • This doesn't work, unfortunately. See my edit in the original post.
    – Eekhoorn
    Aug 26, 2012 at 16:46
  • 1
    @zenbomb It appears you ran xauth list as root, which of course fails. You want to list the cookies for the user and add them for root.
    – XTL
    Aug 27, 2012 at 6:41
  • xauth merge is so much more convenient than xauth list followed by xauth add.
    – Jon Watte
    Oct 27, 2017 at 0:45
5

So I had the same error:

xauth: file /root/.Xauthority does not exist

when trying to add the cookie to the root account using (example only)

xauth add pi:10 mit-magic-cookie-1 4d22408aga55sad1ccd165723g77923ae 

I solved this problem by creating the missing /root/.Xauthority file (logged in as root):

touch /root/.Xauthority

The command touch creates an empty file. I hope this helps.

1

Solution:

1. ssh mitter@host'

2. $ sudo su

3. # xauth merge /home/mitter/.Xauthority

Configure $DISPLAY variable, if it is not configured.

2
  • 1
    what is mitter? Oct 6, 2015 at 18:53
  • "mitter" is his particular user name. What user name you want to merge depends on what system you're running, and what user you're logging in as initially. On a Raspberry Pi, the default user name is "pi." On many Ubuntu installations, the default user name is "ubuntu."
    – Jon Watte
    Oct 27, 2017 at 0:44
-1

i fixed it with a symbolic link:

ln -s /home/[my username]/.Xauthority /root/.Xauthority
1
  • Bad idea. That will create a permissions problem for [username] if you use the root account with X.
    – goldilocks
    Oct 9, 2015 at 17:41
-2

i just cp'ed the .Xauthority from /home/user to /root

1
  • 1
    This is officially frowned upon because it establishes bad habits which get you in trouble on multi-user machines. Works like a treat on single user machines.
    – hildred
    Dec 26, 2014 at 12:51

Not the answer you're looking for? Browse other questions tagged or ask your own question.