Apple OS X: Install X Window System (XQuartz) For SSH X11 Forwarding

How do I fix this problem on OS X and enable X11 forwarding with ssh command ? How do I install XQuartz (X11.app) server on Apple OS X Mountain Lion or Mavericks?
Tutorial details | |
---|---|
Difficulty | Intermediate(rss) |
Root privileges | Yes |
Requirements | OS X v10.8/10.9+ |
Estimated completion time | 10m |
The latest version of Apple OS X Mountain Lion and Mavericks no longer ships with X11.app i.e. XQuartz server. You need to download and install the server before using ssh with X11 forwarding.
Step #1: Download and Install XQuartz server
Visit this page and download XQuarz server . Once downloaded the XQuarz package, install the server by double clicking the package icon in your Downloads folder. Please follow the instructions on-screen to complete the installations.
Step #2: ssh X11 forwarding syntax
A tunneling protocol is a network protocol which encapsulates a payload protocol, acting as a payload protocol. Reasons to tunnel include carrying a payload over an incompatible delivery network, or to provide a secure path through an untrusted network. SSH is frequently used to tunnel insecure traffic over the Internet in a secure way. Simply type the following command to use X over ssh:
ssh -X user@RemoteserverNameHere
x-app-name-here &
ssh -X userName@Server-Ip-Address-Here
x-window-app-name-here &
Examples
In this example, login to the Linux based nas01 server as a user called nixcraft:
$ ssh -X nixcraft@nas01
OR
$ ssh -X nas01
You will see XQuartz server in the Dock i.e. a new XQuartz icon sits at the bottom of side of your screen as follows:

Fig.01: X11.app ( XQuartz ) loaded at the Dock
$ app-name
$ /path/to/app-name
$ app-name &
In this example, I am running xeyes on remote server:
$ xeyes
Sample outputs:

Animated gif 01: X11 Forwarding on OS X v10.8+. This demo was tested on OS X 10.9 i.e. Mavericks and Linux remote server.
Edit your ~/.ssh/config file and append the following line and you wouldn't need pass the -X option to ssh command:
ForwardX11 yes
Finally, you can run ssh in the background after running a GUI app as follows:
ssh user@server -f -X app-Name
ssh nixcraft@nas01 -f -X gpass
ssh nixcraft@nas01 -f -X xeyes