[Dxspider-support] gtkconsole

Dirk Koopman djk at tobit.co.uk
Mon Oct 1 11:47:39 CEST 2007


iz5fsa wrote:
> Dirk Koopman wrote:
>> IZ5FSA wrote:
>>   
>>> Hi Dirk.
>>> I've tried gtkconsole cacthing with this error message:
>>>
>>> Gtk-WARNING **: cannot open display:   at /usr/lib/perl5/Gtk2.pm line 63.
>>>
>>> gtk2 installed properly on Linux Debian 2.4.27-2-386 #1 Wed Aug 17 09:33:35 UTC 
>>> 2005 i686 GNU/Linux
>>>
>>> Any trick?
>>>     
>> Sorry to ask an obvious question but: are you running X?
>>

> Yes, I'm trying to go remotely but I don't have XOrg active on server...
> 

Ooooh-K

This is where we all get confused. First some definitions:-

1. The machine where the programs run is called 'the client'
2. The machine where X runs and on which you look at the output is 
called 'the server'.

Which is the opposite way around to what one expects (and I am not going 
waste time trying to justify it - it just how it is).

You don't need an X server on the client (cluster) machine, just the 
various libraries that gtk perl programs use. These dependencies will 
usually be automatically installed with the perl gtk modules - if you 
used yum/apt-get/aptitude to install them.

On the X server end (your user machine), what you typically do (at least 
if you want to be reasonably secure) is 'ssh -C' to the client (cluster) 
machine (-C means compression). If you have X11Forwarding set then it 
should all "just work". However you have to check that X11Forwarding is 
correctly set, so:-

In /etc/ssh/sshd_config I have:-

X11Forwarding yes
X11DisplayOffset 10

In either /etc/ssh/ssh_config

ForwardX11 yes

or actually in my ~/.ssh/config I do:

Host cluster_box                # obviously, replace these by your
Hostname cluster_box.foo.net    # machine and host names!
Compression yes
ForwardX11 yes


If you put it in /etc/ssh/ssh_config then it will try to forward your 
X11 credentials to any box that accepts X11 forwarding. I prefer to 
control which machines I use X11 and compression with and so I put the 
necessary statements in ~/.ssh/config.

Having done that, now restart the sshd on the cluster machine. It won't 
work until you do :-) Your existing ssh session will stay up BTW so 
don't be afraid of restarting sshd after fiddling with its config, but 
*do* check that it has restarted correctly, *before* exiting from your 
existing ssh session :-)

Do an ssh -v to your cluster machine. Near the bottom of the debugging 
output you should see:-

debug1: Entering interactive session.
debug1: Requesting X11 forwarding with authentication spoofing.
debug1: Sending environment.
debug1: Sending env LC_COLLATE = C
debug1: Sending env LANG = en_GB.UTF-8

If you see the X11 forwarding line then we should be on a roll...

In your new ssh session type:-

$ xterm&

And, after a short pause you should see something like the follwoing 
debugging:-

debug1: client_input_channel_open: ctype x11 rchan 3 win 65536 max 16384
debug1: client_request_x11: request from 127.0.0.1 38176
debug1: channel 1: new [x11]
debug1: confirm x11

and the simple xterm window should appear on your screen.

exit/^D out of the xterm window and you will now have X11 comms sorted.

$ cd /spider/gtkconsole
$ gtkconsole

and, after a slightly longer pause, you should see the gtkconsole window.

Dirk









More information about the Dxspider-support mailing list