"Can't open display" even after access with xhost
I'm trying to run a graphical program remotely, without using ssh. I've set the display variable on the server (let's say server.com, Linux, not ubuntu, and no su rights) to point to my workstation (workstation.com, ubuntu 10.04)
setenv DISPLAY workstation.com:0
Then on my workstation I've tried both
xhost +server.com
and
xhost +
Then I ssh into the server (to test things):
ssh [email protected]
and try to run xclock
, and get the following error:
Error: Can't open display: workstation.com:0
I've looked at /etc/ssh/ssh_config
on the workstation and I should be forwarding correctly: X11Forwarding yes
.
How do I go about troubleshooting this?
What logs on the workstation document these failed attempts?
To explain why I'm doing this: I want to run a batch job on a server to debug an MPI-based parallel program. I want to run xterm as the batch job executable, per the instructions provided by the system admins.
This setup use to work. I reinstalled things on my workstation and since then I frequently get one-time message along the lines The authenticity of host 'hostname (XXX.XXX.XXX.XX)' can't be established.
My attempt to fix the above was to move my ~/.ssh/known_hosts
file to a back up on both server and host, and then to ssh
from each to the other with the flag -o StrictHostKeyChecking=no
. I no longer get that message, but I was wondering does this play a part in why X11 forwarding is not working?
Solution 1:
I have the same issue on the remote server. Try the following:
-
Add the following to your
sshd_config
:AddressFamily inet
Restart SSH
(Ref: http://www.linuxquestions.org/questions/ubuntu-63/cant-open-display-882197/)
Solution 2:
Here's what worked for me, also after trying the xhost +
method, NOT via ssh X forwarding:
Add to /etc/gdm/custom.conf
[security]
DisallowTCP=false
which should cause GDM to start the Xserver without the -nolisten tcp flag in Ubuntu.
Then, sudo service gdm restart
Solution 3:
It is a firewall issue. TCP (port 6000) was being blocked, always, and no matter what I did with xhost, XAuthority, etc. the forwarding was not happening.
I adjusted the firewall settings using the utility Firewall Configuration
, found in the System > Administration
menu.
Solution 4:
Since 11.10 (Oneiric), it is using LightDM instead of GDM. You'll need to modify /etc/lightdm/lightdm.conf
under [SeatDefaults], add:
xserver-allow-tcp=true
then reboot (recommended) or sudo service lightdm restart
which may lose your working desktop session.