emacs: Initial Options
C.2 Initial Options
===================
The initial options specify parameters for the Emacs session. This
section describes the more general initial options; some other options
specifically related to the X Window System appear in the following
sections.
Some initial options affect the loading of the initialization file.
Normally, Emacs first loads ‘site-start.el’ if it exists, then your own
initialization file if it exists, and finally the default initialization
file ‘default.el’ if it exists (Init File). Certain options
prevent loading of some of these files or substitute other files for
them.
‘-chdir DIRECTORY’
‘--chdir=DIRECTORY’
Change to DIRECTORY before doing anything else. This is mainly
used by session management in X so that Emacs starts in the same
directory as it stopped. This makes desktop saving and restoring
easier.
‘-t DEVICE’
‘--terminal=DEVICE’
Use DEVICE as the device for terminal input and output. This
option implies ‘--no-window-system’.
‘-d DISPLAY’
‘--display=DISPLAY’
Use the X Window System and use the display named DISPLAY to open
the initial Emacs frame. Display X, for more details.
‘-nw’
‘--no-window-system’
Don’t communicate directly with the window system, disregarding the
‘DISPLAY’ environment variable even if it is set. This means that
Emacs uses the terminal from which it was launched for all its
display and input.
‘-batch’
‘--batch’
Run Emacs in “batch mode”. Batch mode is used for running programs
written in Emacs Lisp from shell scripts, makefiles, and so on. To
invoke a Lisp program, use the ‘-batch’ option in conjunction with
one or more of ‘-l’, ‘-f’ or ‘--eval’ (Action Arguments).
Command Example, for an example.
In batch mode, Emacs does not display the text being edited, and
the standard terminal interrupt characters such as ‘C-z’ and ‘C-c’
have their usual effect. Emacs functions that normally print a
message in the echo area will print to either the standard output
stream (‘stdout’) or the standard error stream (‘stderr’) instead.
(To be precise, functions like ‘prin1’, ‘princ’ and ‘print’ print
to ‘stdout’, while ‘message’ and ‘error’ print to ‘stderr’.)
Functions that normally read keyboard input from the minibuffer
take their input from the terminal’s standard input stream
(‘stdin’) instead.
‘--batch’ implies ‘-q’ (do not load an initialization file), but
‘site-start.el’ is loaded nonetheless. It also causes Emacs to
exit after processing all the command options. In addition, it
disables auto-saving except in buffers for which auto-saving is
explicitly requested, and when saving files it omits the ‘fsync’
system call unless otherwise requested.
‘--script FILE’
Run Emacs in batch mode, like ‘--batch’, and then read and execute
the Lisp code in FILE.
The normal use of this option is in executable script files that
run Emacs. They can start with this text on the first line
#!/usr/bin/emacs --script
which will invoke Emacs with ‘--script’ and supply the name of the
script file as FILE. Emacs Lisp then treats the ‘#!’ on this first
line as a comment delimiter.
‘-q’
‘--no-init-file’
Do not load any initialization file (Init File). When
Emacs is invoked with this option, the Customize facility does not
allow options to be saved (Easy Customization). This
option does not disable loading ‘site-start.el’.
‘--no-site-file’
Do not load ‘site-start.el’ (Init File). The ‘-Q’ option
does this too, but other options like ‘-q’ do not.
‘--no-site-lisp’
Do not include the ‘site-lisp’ directories in ‘load-path’ (
Init File). The ‘-Q’ option does this too.
‘--no-splash’
Do not display a startup screen. You can also achieve this effect
by setting the variable ‘inhibit-startup-screen’ to non-‘nil’ in
your initialization file (Entering Emacs).
‘-Q’
‘--quick’
Start emacs with minimum customizations. This is similar to using
‘-q’, ‘--no-site-file’, ‘--no-site-lisp’, and ‘--no-splash’
together. This also stops Emacs from processing X resources by
setting ‘inhibit-x-resources’ to ‘t’ (Resources).
‘-daemon’
‘--daemon[=NAME]’
Start Emacs as a daemon—after Emacs starts up, it starts the Emacs
server and disconnects from the terminal without opening any
frames. (Optionally, you can specify an explicit NAME for the
server.) You can then use the ‘emacsclient’ command to connect to
Emacs for editing. Emacs Server, for information about
using Emacs as a daemon.
‘--no-desktop’
Do not reload any saved desktop. Saving Emacs Sessions.
‘-u USER’
‘--user=USER’
Load USER’s initialization file instead of your own(1).
‘--debug-init’
Enable the Emacs Lisp debugger for errors in the init file.
Entering the Debugger on an Error (elisp)Error Debugging.
---------- Footnotes ----------
(1) This option has no effect on MS-Windows.