emacsclient − tells a running Emacs to visit a file


emacsclient [options] files ...


This manual page documents briefly the emacsclient command. Full documentation is available in the GNU Info format; see below. This manual page was originally written for the Debian GNU/Linux distribution, but is not specific to that system.

emacsclient works in conjunction with the built-in Emacs server.

You can either call emacsclient directly or let other programs run it for you when necessary. On GNU and Unix systems many programs consult the environment variable EDITOR (sometimes also VISUAL) to obtain the command used for editing. Thus, setting this environment variable to ’emacsclient’ will allow these programs to use an already running Emacs for editing. Other operating systems might have their own methods for defining the default editor.

For emacsclient to work, you need an already running Emacs with a server. Within Emacs, call the functions ‘server-start’ or ‘server-mode’. (Your ‘.emacs’ file can do this automatically if you add either ‘(server-start)’ or ‘(server-mode 1)’ to it.)

When you’ve finished editing the buffer, type ‘C-x #’ (‘server-edit’). This saves the file and sends a message back to the ‘emacsclient’ program telling it to exit. The programs that use ‘EDITOR’ wait for the "editor" (actually, ‘emacsclient’) to exit. ‘C-x #’ also checks for other pending external requests to edit various files, and selects the next such file.

If you set the variable ‘server-window’ to a window or a frame, ‘C-x #’ displays the server buffer in that window or in that frame.


The programs follow the usual GNU command line syntax, with long options starting with two dashes (‘-’).
−a, −−alternate-editor=EDITOR

if the Emacs server is not running, run the specified editor instead. This can also be specified via the ‘ALTERNATE_EDITOR’ environment variable. If the value of EDITOR is the empty string, run ‘emacs --daemon’ to start Emacs in daemon mode, and try to connect to it.

-c, −−create-frame

create a new frame instead of trying to use the current Emacs frame

−F, −−frame-parameters=ALIST

set the parameters of a newly-created frame.

−d, −−display=DISPLAY

tell the server to display the files on the given display.

−e, −−eval

do not visit files but instead evaluate the arguments as Emacs Lisp expressions.

−f, −−server-file=FILENAME

use TCP configuration file FILENAME for communication. This can also be specified via the ‘EMACS_SERVER_FILE’ environment variable.

−n, −−no-wait

returns immediately without waiting for you to "finish" the buffer in Emacs.

−nw, −t, −−tty

open a new Emacs frame on the current terminal

−s, −−socket-name=FILENAME

use socket named FILENAME for communication.

−V, −−version

print version information and exit

−H, −−help

print this usage information message and exit


Normally, the exit status is 0. If emacsclient shuts down due to Emacs signaling an error, the exit status is 1.


The program is documented fully in Using Emacs as a Server available via the Info system.


This manual page was written by Stephane Bortzmeyer <bortzmeyer@debian.org>, for the Debian GNU/Linux system (but may be used by others).


This manual page is in the public domain.

More Linux Commands

glFogf(3gl) - specify fog parameters - Linux manual page....
Fog is initially disabled. While enabled, fog affects rasterized geometry, bitmaps, and pixel blocks, but not buffer clear operations. To enable and disable fog

xrx(1) - RX helper program (Commands - Linux manual page)...
The helper program may be used with any Web browser to interpret documents in the RX MIME type format and start remote applications. xrx reads in the RX documen

XtLastEventProcessed(3) - last event, last timestamp process
XtLastEventProcessed returns the last event passed to XtDispatchEvent for the specified display and NULL if there has been no event. The client must not modify

ccosf(3) - complex cosine function - Linux manual page......
The complex cosine function is defined as: ccos(z) = (exp(i * z) + exp(-i * z)) / 2 VERSIONS These functions first appeared in glibc in version 2.1. CONFORMING

getpwent_r(3) - get passwd file entry reentrantly (ManPage)
The functions getpwent_r() and fgetpwent_r() are the reentrant versions of getpwent(3) and fgetpwent(3). The former reads the next passwd entry from the stream

vfscanf(3) - input format conversion - Linux manual page....
The scanf() family of functions scans input according to format as described below. This format may contain conversion specifications; the results from such con

gnutls_x509_crt_get_raw_issuer_dn(3) - API function.........
gnutls_x509_crt_get_raw_issuer_dn.3 - This function will return a pointer to the DER encoded DN structure and the length. RETURNS On success, GNUTLS_E_SUCCESS (

Tk_RedrawImage(3) - use an image in a widget (Man Page).....
These procedures are invoked by widgets that wish to display images. Tk_GetImage is invoked by a widget when it first decides to display an image. name gives th

tc-sfq(8) - Stochastic Fairness Queueing - Linux man page...
Stochastic Fairness Queueing is a classless queueing discipline available for traffic control with the tc(8) command. SFQ does not shape traffic but only schedu

XUngrabKeyboard(3) - grab the keyboard - Linux manual page
The XGrabKeyboard function actively grabs control of the keyboard and generates FocusIn and FocusOut events. Further key events are reported only to the grabbin

msgget(2) - get a message queue identifier - Linux man page
The msgget() system call returns the System V message queue identifier associated with the value of the key argument. A new message queue is created if key has

pnmsmooth(1) - smooth out an image - Linux manual page......
This program is part of Netpbm(1) pnmsmooth smoothes out an image by replacing each pixel with the average of its width X height neighbors. It is implemented as

We can't live, work or learn in freedom unless the software we use is free.