Resources

Connecting Remotely


Machines names for nx client and ssh access.


The hostnames for logging into the EE computers via ssh or NX are listed below:

VLSI Lab (1218 Mudd) - vlsi1.cisl.columbia.edu - vlsi18.cisl.columbia.edu

ILAB Lab (1235 Mudd) - micro1.ilab.columbia.edu - micro17.ilab.columbia.edu

1227 Mudd Host names - circuit1.cisl.columbia.edu - circuit12.cisl.columbia.edu

 

back to top

ssh and X11


X11 is the software that provides a graphical user interface for Unix systems, including Solaris and Linux. It is actually a network protocol that was designed to allow Unix programs that utilize a GUI to send their graphical output to a remote display. It is included with nearly every implementation of Unix, including Apple's OS X. X11 implementations exist for Windows as well.
A Brief Introduction To X11

From the X11 Website:
The design of the X Protocol specifies a client-server relationship between an application and its display. In X, the software that manages a single screen, keyboard and mouse is known as an X server.
A client is an application that displays on the X server and is usually termed an X client or simply the application. The X client sends requests to the X server, for example a drawing or information request. The X server accepts requests from multiple clients and returns to the X client replies for information requests, user input and errors.
What does this mean? Essentially, it allows you to use a graphical application on a remote Unix machine, such as CAD or circuit simulation software (which is the X11 client), sending the output to your local computer (the X11 server), where it is displayed on your monitor and subject to control by your local keyboard and mouse.

What You Need

You will need SSH to establish a secure connection to the remote Unix machine. SSH is included on most Unix implementations, including Solaris, Linux and Mac OS X. Windows users need to download a Unix terminal emulation program that supports SSH. An excellent, free terminal emulator for Windows that supports SSH is puTTY, which can be downloaded at the following site. I recommend this program without reservation. Note that puTTY does not include an X11 implementation; you will need to download Windows X11 software separately.

These days, X11 applications can be used with just about every OS out there. If you are using a Unix-based system such as Solaris or Linux, X11 is usually included by default. If you are using Mac OS X, Jaguar or earlier, you will need to download the X11 package from Apple's website.

If you are using Windows, you will need to download compatible X11 software. There are several solid commercial implementations of X11 for Windows on the market. Unfortunately, these implementations are not free and require a nominal fee for use; however, most provide evaluation copies of their software for free. If you are a big Windows fan, I suggest that you invest in a license for one of the following programs, as you're certain to get much use from it during the course of your academic computing career. Some of the more popular ones include:

Free implementations of both SSH and X11 for Windows is included with Cygwin, which is a complete set of Unix and GNU utilities for Windows machines. Cygwin is available free for download at the following website. After installing a complete version of cygwin, you can start up an X11 session from the command line of an open cygwin terminal by issuing the command "startx".

How To Use Remote X Applications

X11 connections between remote systems can be established over an SSH connection to a remote machine. Assuming that you have a working implementation SSH and X11, it is easy to use a graphical Unix application from a remote location.
X11 utilizes a simple authentication mechanism that allows you to specify what systems are allowed to connect to your local system's X11 server. If you are using a Unix-based OS, you will need to issue the following command on your local system, using the name of the remote system that you will be running your X11 application from:

# xhost +sunserver.cisl.columbia.edu

Now, establish a connection to the remote machine using SSH. Make sure that you use the '-X' flag, which sets up X11 forwarding to your local machine.

# ssh -X armstrong@sunserver.cisl.columbia.edu (username@hostname)

Now, assuming that the X11 software is active on the local machine, you can start up a graphical Unix application such as xterm from the remote Unix machine, and have the output displayed on your local display, where it is subject to input from your keyboard and mouse:

# /usr/X11R6/bin/xterm &

If you need any assistance in getting X11 working on your system, please send a email to
back to top

nxclient


    Compressed X11 Sessions Using Nomachine's SSH client and server

    We are pleased to announce that the EE department will begin offering a new remote access technology for the cisl and ilab hosts in 1218 and 1235 Mudd, or more commonly known as the ILAB and VLSI computer labs. The new technology provides the following advantages over the existing X11 mechanisms that we have been using up until this point.

  1. Faster and more responsive X11 GUI. The Nomachine client and server are able to accomplish this by selectively caching elements of the screen that do not change, heavily compressing screen attributes that do need to be refreshed and sending requests and updates in a bulk fashion between the client and server.

  2. Users can suspend their sessions and resume them at a later date. This means that students can keep their Cadence sessions open on the nxserver and resume them from where they left off.

  3. Windows clients no longer need to install Cygwin or xceed in order to use Cadence on their Windows desktops. Instead students install a small binary client application which takes a fraction of the time that Cygwin takes to install.

  4. Full gnome session automatically. This means that when logging into the nxserver students don't have to start up xclients individually, they will get a complete gnome session.

    Nxclient Configuration

  1. APPLY FOR AN ILAB/VLSI ACCOUNT - To set this up, first you must already have an EE account for the machines in 1218 and 1235 Mudd. If you do not have an ILAB or VLSI lab account, please email me at with your uni and the EE class that you are a member of.

  2. DOWNLOAD AND INSTALL THE NOMACHINE CLIENT AND FONTS - Go to http://www.nomachine.com/download.php, download and install the client and the fonts that are appropriate for your platform. The fonts can be downloaded from the add-on section right below the nxclient download on the the nxclient download page. The font downloads are labeled nxfonts-xxx. If you do not install the fonts for a Windows installation, Cadence will not run because it does not have the fonts that it needs to start up. You will see an error that says "X Error of failed request: BadName (named color or font does not exist)" if you have not installed the correct fonts. The Windows client is incompatabile with some versions of Cygwin, so you should make sure that your Cygwin version is compatabile before proceeding. You can read this post if you would like to learn about Cygwin compatability. http://www.nomachine.com/ar/view.php?ar_id=AR12B00117

  3. DOWNLOAD AND CONFIGURE THE CLIENT KEYS - Using WinScp or scp download the ilab.key file from the home directory of your ilab or vlsi account to your desktop. Then, either type /usr/bin/nxclient --wizard from a linux host or go to start -> run -> NX connection wizard in Windows. When the wizard prompts you to enter the name of a host, enter one of names of the hosts outlined in ilab-hosts file in your home directory Keep the port set to 22. Name the session whatever you like.

  4. CONFIGURE NXCLIENT SETTINGS - After finishing the wizard you will see the logon dialog. Click on the button that is labelled Configure... Under the Advanced tab, check the Enable SSL encryption box in the network section. Under the General Tab, under Desktop, make sure that you are using UNIX and GNOME for your settings and for now set the Display screen area to 800x600. I have had better luck resuming sessions on different machines if I set the screen area to a lower value. Click on the key... button. Highlight the existing key and delete it within the text box. Click import and ilab.key file that you just downloaded to your desktop. Click Save until you are back at the logon menu. Enter the user name and password that you normally use to log on to the 1218 and 1235 machines and click login. You should get a new X session.
    To suspend the session, click on the X on the upper right hand corner of the window and select suspend, when it prompts you to terminate or suspend your session.

  5. DISCLAIMER - Please be very careful while using this software. Some parts of it are still unpolished and cause sessions to hang and become unrecoverable from a suspend. In other words save your work often and don't depend on the suspend feature. Please use it to complement your other remote access methods such as x-win32 and cygwin.

    For more information concerning gui remote access methods consult please consult the following document.

    http://www.ee.columbia.edu/index.php?dir=systems&page=x11

    For more information concerning nx please consult the following documents

    http://www.nomachine.com/usage.php

    and

    http://fedoranews.org/contributors/rick_stout/freenx/

    Thanks,

    Bill McCabe
    EE Systems


back to top

X-Win 32


X-Win 32

You may already have a commercial software package called X-Win 32 on your computer that permits the EE servers to display graphics over a remote connection. If this is the case, launchX-Win 32, right click on the system tray icon, and start the X-Config tool. When setting upa new SSH session with the tool, specify /usr/X11R6/bin/xterm -ls as the command to run. When you restart X-Win 32, it should automatically start up a terminal session on the remote server from within which you can run remote applications.

back to top

Cygwin


If you do not have X-Win 32, you can use the free Cygwin package. Install Cygwin by down-
loading and running http://www.cygwin.com/setup.exe. During the installation, you will
be prompted to select various software packages. Make sure to select the X11 package
and (in the Network category) the openssh package. After installation, start Cygwin ei-
ther by clicking on the shortcut installed on your desktop or by selecting the menu option
Start/Programs/Cygwin/Cygwin Bash Shell. Run the command startxwin.bat from
the prompt; another terminal window should subsequently appear. Login to the lab machines
from within this window as described below.

back to top