Question

I have a raspberry pi running arch linux connected to the TV and want to run commands on that screen by SSH'ing from my Ubuntu machine elsewhere.

I have tried running the command SSH -Y root@ and starting xclock as a test. However I get the following error:

No protocol specified Error: Can't open display: :0

I then tried running "export DISPLAY=:0" on the arch machine, but this doesn't solve the issue.

I have X running fine and can see it on the TV and I have edited the file /etc/ssh/ssh_config to allow X11 forwarding.

Anyone know what I am doing wrong?

Many thanks

Was it helpful?

Solution

The ArchLinux wiki has some good instructions on setting things up. I struggled for a while until I found them, but for me the key was to set up SSH forwarding within sshd_config (most distros seem to enable this by default, but Arch doesn't).

Once you've enabled X forwarding in SSHD, I also found it helpful to install the dummy video driver for Xorg ("pacman -S xf86-video-dummy"), which gets rid of irritating errors about missing the RANDR extension. This might not be necessary if you already have it running a real X server locally on the Pi - personally, I'm running mine completely headless.

I've found that I don't have to worry about setting up the DISPLAY variable, or xhost, when running with 'ssh -X' from an iMac. I'd expect Ubuntu to behave the same.

OTHER TIPS

looks like an authentication problem. The answer used to be

xhost +

on the console of the X display. Might help.

You probably want to set

export DISPLAY=[IP_ADDRESS_OF_ARCH_BOX]:0

on your Ubuntu box, then when you run xclock from your Ubuntu box, it'll forward the screen to the Arch box.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top