Problem with X server
Nigel Wade
nmw at ion.le.ac.uk
Tue May 6 16:09:23 UTC 2008
Wiedemann, Shane CIV NAVAIR wrote:
> So this problem is most likely user error; none the less...
> I have some software (only one other place has this software) that to
> view video windows that the software tries to pop up, you need to use
> the following command to get it to display:
> "software_name -display hostname", or at least that is what I am told.
> I have inserted my hostname where it says "hostname" and verified with
> "uname" that my hostname is correct. I am not connecting to a remote
> machine, am not on a network and am running the software on a
> stand-alone machine. The vendors of the software do connect remotely, I
> believe, and they can pop video display windows just fine. Whenever I
> run the software, I get a message that says "Unable to connect to x
> server".
> I currently have the DISPLAY variable set to ":0.0" and this seems to be
> fine for opening programs, such as NEdit. Any other setting (even
> "hostname:0.0") and I cannot start programs such as editors and other
> programs that open in a separate window. I get errors that say "can't
> open display" and the like.
>
> When I run the software, if I leave out the command "-display hostname"
> all video rendering is done behind the scenes, i.e., I can't view it. I
> have tried replacing "hostname" with all of the following:
> hostname:0.0
> :0.0
> hostname:0
> localhost
> localhost:0.0
> localhost:0
>
> Any clues?
I think you probably need to enable your X display to listen on the network.
The software you are using is pretty strange. It should not be necessary
to specify the -display option, it should use whatever DISPLAY is set
to. However, given that it does what it does, you are pretty much at its
mercy.
By default the X display does not listen for network (TCP) connections,
it allows local connections using a UNIX domain socket. If you have
DISPLAY set to :0 clients will connect on the UNIX socket, but if you
specify a hostname (even localhost) then the connection will be done on
a TCP socket. If the X server isn't listening on a TCP socket then the
connection will fail. This is a quite sensible security precaution (it
prevents any non-local clients connecting to your display, even if you
use the xhost + security disabler) but can cause problems for any
software which expects to be able to connect via a TCP socket.
To enable the TCP socket you need to modify the X server startup. How
you do that depends on what version of RedHat you are using. For RH 4 it
is set in /etc/X11/gdm/gdm.conf. To enable TCP connections you need to
change the line:
DisallowTCP=true
to
DisallowTCP=false
In KDE desktop you can also set this using the System Settings->Login
Screen dialog (I presume there's something similar for Gnome). In the
Security tab un-check the box marked "Always disallow TCP connections to
X server".
--
Nigel Wade, System Administrator, Space Plasma Physics Group,
University of Leicester, Leicester, LE1 7RH, UK
E-mail : nmw at ion.le.ac.uk
Phone : +44 (0)116 2523548, Fax : +44 (0)116 2523555
More information about the redhat-list
mailing list