Running Emacs as daemon
June 30 2018173 words, ~1 min. read
emacs, daemon, windows, linux, freebsd
Windows
- Open startup folder [Hint: Use
Win+Rto bringRunwindow, typeshell:startupin the textbox and press theOKbutton] - Create a shortcut in the startup folder to target
<path-to-emacs-dir>\runemacs.exe --daemon; also, set the value ofStart infolder to<user-home-directory>or openControl Paneland add user environment variableEMACS_SERVER_FILEwith value as<user-home-directory>\.emacs.d\server\server - Start the emacs daemon [double-click the shortcut created above; or
LogoutandLoginagain] - From now on, instead of running
emacsorrunemacs, runemacsclientw -c
Linux / FreeBSD
- In a shell/terminal, invoke
emacs --daemon - From now on, run
emacsclientw -tcoremacsclientw -c, for shell and X accordingly
Note: Though recent emacs distribution come with systemd service for automatic startup, I prefer the following aliases setup in ~/.bashrc
alias ed="emacs --daemon"
alias ec="emacsclient -tc"
alias ek="emacsclient --eval '(kill-emacs)'"
Note : I had issues in setting up the default font, especially in daemon mode; the issue was resolved by adding the following in emacs startup file,
(add-to-list 'default-frame-alist '(font . "Hack-12"))
References
- https://www.emacswiki.org/emacs/EmacsAsDaemon
- https://www.emacswiki.org/emacs/EmacsMsWindowsIntegration