A Step-By-Step guide to X11 (X-Windows System) for Mac OS X users
What Is X11?
X11, also commonly known as X-Windows System or just X is computer software that provides a complete human interface solutions based on a client/server model. It lets you build your own GUI drawings and moving windows for your Mac OS X system.
The Client\Server Model
In this model, the server is an independent machine accessed through a LAN and the client is a local computer. The server lets a user interact with it and it transmits the user’s mouse actions and keystrokes to the client. On receipt of data by the client in a standard Web browser, the client sends instructions to the server, with details on how to display the drawings and animations on the user’s screen.
X11 on Mac OS X
Since X11 is grounded in UNIX, Mac OS X has included it in its installation. In Leopard, X11 is installed automatically and in older versions of Mac OS X, its install had been optional. Some people prefer the older edition of X11 on Leopard. If you wish to install its Tiger version on Leopard,you can get it [here](https://aaroniba.net/articles/x11-leopard.html you will find the install instructions). Once it is successfully installed, you can find it in the Utilities folder.
The Two Types Of Clients
In most cases, the client of X11 runs isolated from the server i.e. on a remote computer, but the client can also run on the server machine. In this case, the interaction between client and server still happens by network protocols, but without requiring a connection to the network.
Running X11 Applications On the Mac
The procedure for running the X11 server on your Mac is very simple. Go to Utilities and double-click on the small X11 icon. Once double-clicked, the XTerm application will open up. XTerm is a terminal emulator for the X Window System. It lets you run any installed UNIX function from its command line interface (CLI).
Running a locally stored application can be achieved by simply entering the name of the application at the XTerm prompt. This will execute the application and tie it up with XTerm so that other applications can not run. This can be useful for testing X11 because various X11 utilities are also installed with X11. Some of these utilities include xclock and xeyes. If you do not wish to tie an application when you run it, you can do so by just adding an ampersand (“&”) sign at the end of your command, for example: “xclock &”. This will execute xclock and show the prompt in the XTerm window and let other programs to be started at the same time.
Applications run on a remote client in a very similar way but it is necessary to first establish a session on the remote client. This simply means that user of the local server must log in to the remote computer by entering the IP of the remote computer and entering a valid user ID and password.
Here is an example command to create a session: “ssh –Y [email protected]”. By entering the command, the remote host willl ask for a password and then show its prompt. On this prompt, the procedure for running an X11 program, which will run on the remote computer is similar to running a locally hosted program.