Originally Posted by jefro
X or some form of X is not as common as it used to be. Normally you would not transmit an X application to your local X server over the internet. X is a pretty old system and not easy to secure. There are better and faster ways to remote desktop.
Well then call me abnormal. I use X to run GUI applications on remote hosts all the time. It is done routinely in many, many situations. If the X traffic is transmitted between hosts via a SSL tunnel, it is as secure as virtually any other traffic on a network. It just happens that doing so also simplifies the process of connecting remote X clients to the local X server.
A server, generically, is some long-running process that can be accessed by a client, and which performs some specified service to that client. In the case of X, the server provides the service of creating and maintaining windows, and drawing graphics and text on the windows, and serving keyboard and pointer activity back to the client. The clients that request it to do so are graphical X applications. In order for an X client application to find an X server, it uses the content of the $DISPLAY environment variable. By documented standard, $DISPLAY contains a hostname (optional), server number, and screen identifiers. The X client adds the number 6000 to the server number, and makes a TCP connection to the port identified by that sum. X traffic is conveyed between client and server on that TCP connection.
I think jefro
is trying to explain that in most scenarios, the server is on a host that is remote, and your local workstation hosts the client side of a client-server application. Mail servers, and web servers are good examples of this arrangement. In the case of X, the server is generally at your local workstation, while the X clients are applications that may run on remote hosts. Some people find this confusing, probably due to lack of clear understanding of the client-server relationship.