One of the powers of Linux is the wide range of features you can use to remotely
access systems. Using telnet (or better yet, ssh) you have the full command line features you would if you were logged in locally.
One disadvantage of this is when running graphical applications that share data. If you are
accessing a database, network protocols allow you to share a common data source. Problems arise
when using applications that do not have the built in features. You could save your data locally
and copy it to the remote machine, or you could mount a remote filesystem. Both are possible and even
useful, from time to time. The X Windowing system allows you to go one step further by running the
application on the remote machine and have it appear as if it is running locally. The
keyword is "appear" as only the display (that is, the appearance) is local.
For those of you who are familiar with the Microsoft Windows Terminal Server or products like
Cirtix' Metaframe, the X Windowing protocol is similar in functionality. One key difference
is X is much smaller allows you to work on slower connections. The X Windowing protocol is also an
open standard and not propriatary, unlike the Windows Terminal Server or Metaframe.
Another key difference is the ability to redirect when the application is displayed. For example,
I can tell the X application to start on a compeltely different machine. That is, not the machine
where my X Windows sessions is running or where the application is running.
There are two basic ways of using X Windows to start applications on remote machines.