Difference between revisions of "Ifarm graphic mode"

From Hall A Wiki
Jump to: navigation, search
Line 8: Line 8:
 
= Xwindow forwarding (not recommended) =
 
= Xwindow forwarding (not recommended) =
  
One way to do it is simply use Xwindow forwarding by ssh into ifarm and run the code.
+
It is simply use Xwindow forwarding by ssh into ifarm and run the code.  
but the problem is that Xwindow graphic is always rendered in your local machine. So not only the test can have different results for different people because their local machines are different. Sometimes, it can cause crash of your local machine if your code is not nice and your local machine is very different from ifarm.
+
  
  if your local machine is linux or Mac which has Xwindows
+
Xwindow graphic is always rendered in your local machine. This is not only very slow if your machines is outside of jlab network, but also can have different results for different people because their local machines are different. Sometimes, it can even cause crash of your local machine if your code is not nice and your local machine is very different from ifarm.
  ssh -XY your_lab_username@ifarm          (login with Xwindow forwarding enabled)
+
 
 +
  ssh -XY your_lab_username@ifarm          (login with Xwindow forwarding enabled for linux and Mac)
 
  xclock &                                (test if Xwindow forwarding works)                                             
 
  xclock &                                (test if Xwindow forwarding works)                                             
  
  If you local machine is windows, you need to enable Xwindows forwarding in [http://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html putty] option and have a Xwindow server like [https://sourceforge.net/projects/xming/files/Xming-mesa/ Xming-mesa] running.
+
  If you local machine is windows, you need to have a Xwindow server like [https://sourceforge.net/projects/xming/files/Xming-mesa/ Xming-mesa] running. You also you need to enable Xwindows forwarding in [http://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html putty] option to use ssh
then test if "xclock" works
+
 
 +
If you local machine is Mac, you need to have a Xwindow server installed and enabled
  
 
= vnc (recommended) =
 
= vnc (recommended) =
Line 22: Line 23:
 
'''tested on ifarm1401 and ifarm1402 as of 2017/05'''
 
'''tested on ifarm1401 and ifarm1402 as of 2017/05'''
  
The better way to do it is through a vnc inside ifarm. This way the code won't crash because it runs within the same environment where it is compiled and everyone will see same result. Here is how to do it
+
The better way to do it is through a vnc server inside ifarm. This way the code won't crash because it runs within the same environment where it is compiled and everyone will see same result. Here is how to do it
  
  ssh -XY your_lab_username@ifarm (login with Xwindow forwarding enabled,this is to use vncviwer)
+
You need to use ifarm1401 or ifarm1402 explicitly, ifarm is an alias to both and would cause confusion. I use ifarm1401 as an example below.
 +
 
 +
== start vnc server ==
 +
 
 +
First you need to start a vncserver on ifarm1401
 +
 
 +
  ssh -XY your_lab_username@ifarm1401 (login with Xwindow forwarding enabled)
 
  mkdir .vnc
 
  mkdir .vnc
 
  edit .vnc/xstartup with lines below
 
  edit .vnc/xstartup with lines below
Line 34: Line 41:
 
  chmod 755 .vnc/xstartup
 
  chmod 755 .vnc/xstartup
 
  vncserver                          (start vnc server, give a password if running it first time, note the port number output on screen)
 
  vncserver                          (start vnc server, give a password if running it first time, note the port number output on screen)
vncviewer localhost:1              (use other port number if not 1 in last step)
 
(now you are inside ifarm and an xterm is open for you to use)
 
 
  ( '''make sure to kill the server after you using it to free resource on ifarm,'''  
 
  ( '''make sure to kill the server after you using it to free resource on ifarm,'''  
 
  '''otherwise it will keep running even after you log out!''')
 
  '''otherwise it will keep running even after you log out!''')
  vncserver -kill :1                  ('''note the space before colons)
+
  vncserver -kill :port        ('''replace port with correct port number, note the space before colons''')
  
= ssh tunneling and vnc =
+
== connect by vncviwer ==
  
If you computer is outside of jlab, using vncviewer on ifarm can be slow because it's  
+
Next you need to connect to vncserver on ifarm1401 by vncviwer
 +
 
 +
The simple way is to use vncviewer on ifarm to test see if your vncserver runs ok. It's slow if your machine is not at jlab network
 +
 
 +
ssh -XY your_lab_username@ifarm1401 (login with Xwindow forwarding enabled)
 +
vncviewer localhost:1              (use other port number if not 1 in last step)
  
In principle, we don't need Xwindow forwarding to use vncviewer on ifarm. We could use a local vncviewer and ssh tunneling for better performance. This can be important if you are not on jlab internal network. ask me and I can write a howto if nessary
+
The best way is run vncviewer on your machine which can be anywhere through ssh tunneling

Revision as of 15:12, 12 March 2018

For any question, email Zhiwen Zhao zwzhao@jlab.org

Why

Usually we are running code on ifarm without caring about graphic because it's used for a test ground for farm job anyway.

Sometimes we do want to test a code's graphic feature. For example, it's a common system we all have access and can be used for debug.

Xwindow forwarding (not recommended)

It is simply use Xwindow forwarding by ssh into ifarm and run the code.

Xwindow graphic is always rendered in your local machine. This is not only very slow if your machines is outside of jlab network, but also can have different results for different people because their local machines are different. Sometimes, it can even cause crash of your local machine if your code is not nice and your local machine is very different from ifarm.

ssh -XY your_lab_username@ifarm          (login with Xwindow forwarding enabled for linux and Mac)
xclock &                                 (test if Xwindow forwarding works)                                            
If you local machine is windows, you need to have a Xwindow server like Xming-mesa running. You also you need to enable Xwindows forwarding in putty option to use ssh
If you local machine is Mac, you need to have a Xwindow server installed and enabled

vnc (recommended)

tested on ifarm1401 and ifarm1402 as of 2017/05

The better way to do it is through a vnc server inside ifarm. This way the code won't crash because it runs within the same environment where it is compiled and everyone will see same result. Here is how to do it

You need to use ifarm1401 or ifarm1402 explicitly, ifarm is an alias to both and would cause confusion. I use ifarm1401 as an example below.

start vnc server

First you need to start a vncserver on ifarm1401

ssh -XY your_lab_username@ifarm1401 (login with Xwindow forwarding enabled)
mkdir .vnc
edit .vnc/xstartup with lines below
        #!/bin/sh
        xsetroot -solid grey
        vncconfig -iconic &
        xterm -geometry 160x50+10+10 -ls -title "$VNCDESKTOP Desktop" &
        metacity &
chmod 755 .vnc/xstartup
vncserver                           (start vnc server, give a password if running it first time, note the port number output on screen)
( make sure to kill the server after you using it to free resource on ifarm, 
otherwise it will keep running even after you log out!)
vncserver -kill :port         (replace port with correct port number, note the space before colons)

connect by vncviwer

Next you need to connect to vncserver on ifarm1401 by vncviwer

The simple way is to use vncviewer on ifarm to test see if your vncserver runs ok. It's slow if your machine is not at jlab network

ssh -XY your_lab_username@ifarm1401 (login with Xwindow forwarding enabled)
vncviewer localhost:1               (use other port number if not 1 in last step)

The best way is run vncviewer on your machine which can be anywhere through ssh tunneling