C.6 Specifying the Display Name
The environment variable DISPLAY tells all X clients, including
Emacs, where to display their windows. Its value is set by default
in ordinary circumstances, when you start an X server and run jobs
locally. Occasionally you may need to specify the display yourself; for
example, if you do a remote login and want to run a client program
remotely, displaying on your local screen.
With Emacs, the main reason people change the default display is to
let them log into another system, run Emacs on that system, but have the
window displayed at their local terminal. You might need to log in
to another system because the files you want to edit are there, or
because the Emacs executable file you want to run is there.
The syntax of the DISPLAY environment variable is
‘host:display.screen’, where host is the
host name of the X Window System server machine, display is an
arbitrarily-assigned number that distinguishes your server (X terminal)
from other servers on the same machine, and screen is a
rarely-used field that allows an X server to control multiple terminal
screens. The period and the screen field are optional. If
included, screen is usually zero.
For example, if your host is named ‘glasperle’ and your server is
the first (or perhaps the only) server listed in the configuration, your
DISPLAY is ‘glasperle:0.0’.
You can specify the display name explicitly when you run Emacs, either
by changing the DISPLAY variable, or with the option ‘-d
display’ or ‘--display=display’. Here is an example:
emacs --display=glasperle:0 &
You can inhibit the direct use of the window system and GUI with the
‘-nw’ option. It tells Emacs to display using ordinary ASCII on
its controlling terminal. This is also an initial option.
Sometimes, security arrangements prevent a program on a remote system
from displaying on your local system. In this case, trying to run Emacs
produces messages like this:
Xlib: connection to "glasperle:0.0" refused by server
You might be able to overcome this problem by using the xhost
command on the local system to give permission for access from your