I see many people using with UNIX/Linux systems with the usual black 80×25 text box. Many people like it this way, but I find others miss the desktop interface common on other platforms. This post is for users who miss using a computer via a GUI interface. Users miss their GUI because they learn the minimal way to use the UNIX/Linux system. First, you should configure your SSH client so it is comfortable, too.
You can use a UNIX/Linux server with a full display as pictured below. You will get point and click access to the graphical application equivalents under UNIX/Linux. You can comfortably use GUI editors such as gedit, Kate, or jEdit for files. You can start the browser, and if configured, surf the web from the remote server you are using, downloading files and scripts from UNIX/Linux help sites right to the remote machine.
The example below uses Cygwin/X. If you use Xming, you would select Full X. If you don’t select the Full option, then Windows takes over the task of window management and you don’t need to start a window manager. Apple’s X Window system defaults to using its window manager for X, as well. Most X window managers have both a full and windowed mode. You can do the same with Exceed if you are in a corporate setting.
This example shows you how to run an X desktop in Windows under Cygwin/X. I set my display to :1 to use X on port 6001. I then started the X server backgrounded, telling it to use display :1. Lastly, I run the window manager, Window Maker.
$ export DISPLAY=localhost:1
$ X :1 &
$ run wmaker
Window Maker is running on the desktop in Windows through Cygwin. This means asking the Window Manager for an xterm, an XEmacs session, or another X application would start up the application locally.
The desktop can be started up remotely, too. I will use display :0 and will run both at the same time. I set my DISPLAY variable, start X in the background, login remotely with compression and tunnelling, then I start KDE.
$ export DISPLAY=localhost:0
$ X :0 &
$ ssh -CX kubuntu
$ exec startkde
What if you didn’t want to use a full desktop but just wanted to access the applications? You can start a program that can browse application such as Konqueror. This assumes you have started your X server on display :0. I log into Kubuntu and I run Konqueror.
$ export DISPLAY=localhost:0
$ ssh -CX kubuntu
$ exec konqueror
Konqueror will start you out with a blank screen. You must tell it where you want it to go. Select Go/Applications or Enter programs:/ into the URL. You will get the installed applications and can navigate from there. For GNOME, you can use Nautilus and enter computer:/// into the URL. For browsing applications, you can start any application browser that can launch applications such as Konqueror on KDE or Nautilus on GNOME.
I used KDE for the screen shots, but you can start GNOME with gnome-session, olwm on Solaris, or twm if you like your desktop small and light. It is up to you to determine which Window Manager you have. You may even have more than one. Newer versions of Solaris have both GNOME and olwm.
You can use ssh -CXf your.server.com konqueror, which will drop ssh into the background so you can close the invoking window. For Cygwin/X, use the ‘run’ command as you see above in the first example.
You can also assign X to a different windows and have multiple instances running as I have done in this blog. I use multiple windows to assign projects to each of the different windows. I find doing so improves my multitasking abilities. The example above runs KDE on :0 and Window Maker on :1.
I used Window Maker which has to be selected separately with the Cygwin installer since it isn’t installed by default. You can use GNOME or KDE with Cygwin instead of Window Maker, but this requires more advanced work outside the scope of this doc.
Finally, you may use VNC Server, which is a popular choice I have seen used in most organizations I have worked at. It defaults to twm, which uses the classic mouse interactions of older X Window desktops. VNC offers persistence enabling you to disconnect and reconnect from a different location. If my connection dropped, I could lose data or my place in applications. using the methods above. VNC may get flagged in your organization as a security violation since it doesn’t have strong security. I use VNC with the geometry, color, and fixed window options below.
$ vncserver -geometry 1200x964 -depth 24 :32
$ vncviewer $(hostname):32
The desktop approach may be slow, especially when using rich desktop clients such as KDE or GNOME. It may prove unnecessary if you use mostly text based commands for work. The text mode interface is quicker to use over slow connections since it sends far less data over the wire to get output to the user.