# Еmacs как демон
Andrew Lobanov (tavern,1) → All – 06:32:59 2020-08-05
Давно знал о сабжевой возможности, но никогда не пользовался. А тут попробовал в очередной раз и мне очень понравилось.
Дело в том, что у меня значительно разбух .emacs и время запуска, соответственно, стало неудобоваримым. Всё это усугубляется тем, что порой я запускаю несколько экземляров (например, как редактор в цезии) и длительный запуск утомляет.
Суть проста: экземпляр emacs запускается в режиме демона без пользовательского интерфейса. Последний запускается в виде клиента и потому стартует очень быстро.
Запустить emacs в качестве демона очень просто:
Для запуска клиента с графическим фреймом и всеми возможностями графической версии достаточно просто выполнить
Если же хочется запустить клиент в терминале, то
Вот и всё. Но есть ещё тонкости некоторых настроек, которые перестают работать в режиме демона и клиента. У меня проявились две: не подхватился шрифт и не выключался scrollbar.
Обе проблемы решились весьма просто.
И проблема с шрифтом решена.
Scrollbar же я убрал не так красиво, но вполне действенно. В ~/.Xdefaults добавил строчку
Теперь в фреймах отсутствует scrollbar.
Возможность эта достаточно известна, но вдруг кому-нибудь покажется полезным иметь emacs всегда запущенным, а пользовательский интерфейс вызывать по необходимости.
Что удобно, открытые буферы и их состояние, запущенные elisp-программы не зависят от клиента и выполняются демоном. Можно хранить состояние между вызовами интерфейса. Можно открыть несколько фреймов emacs и работать в них одновременно, если по какой-либо причине неудобно использовать окна emacs в одном фрейме. И самое главное -- молниеносный запуск клиента. Теперь писать в секту сторонним редактором стало очень удобно и быстро.
Andrew Lobanov (tavern,1) → All – 06:32:59 2020-08-05
Давно знал о сабжевой возможности, но никогда не пользовался. А тут попробовал в очередной раз и мне очень понравилось.
Дело в том, что у меня значительно разбух .emacs и время запуска, соответственно, стало неудобоваримым. Всё это усугубляется тем, что порой я запускаю несколько экземляров (например, как редактор в цезии) и длительный запуск утомляет.
Суть проста: экземпляр emacs запускается в режиме демона без пользовательского интерфейса. Последний запускается в виде клиента и потому стартует очень быстро.
Запустить emacs в качестве демона очень просто:
====
$ emacs --daemon
====
Для запуска клиента с графическим фреймом и всеми возможностями графической версии достаточно просто выполнить
====
$ emacsclient -c
====
Если же хочется запустить клиент в терминале, то
====
$ emacsclient -nw
====
Вот и всё. Но есть ещё тонкости некоторых настроек, которые перестают работать в режиме демона и клиента. У меня проявились две: не подхватился шрифт и не выключался scrollbar.
Обе проблемы решились весьма просто.
====
(setq default-frame-alist '((font . "Iosevka-12")))
====
И проблема с шрифтом решена.
Scrollbar же я убрал не так красиво, но вполне действенно. В ~/.Xdefaults добавил строчку
====
emacs.verticalScrollBars: false
====
Теперь в фреймах отсутствует scrollbar.
Возможность эта достаточно известна, но вдруг кому-нибудь покажется полезным иметь emacs всегда запущенным, а пользовательский интерфейс вызывать по необходимости.
Что удобно, открытые буферы и их состояние, запущенные elisp-программы не зависят от клиента и выполняются демоном. Можно хранить состояние между вызовами интерфейса. Можно открыть несколько фреймов emacs и работать в них одновременно, если по какой-либо причине неудобно использовать окна emacs в одном фрейме. И самое главное -- молниеносный запуск клиента. Теперь писать в секту сторонним редактором стало очень удобно и быстро.