Руководства

Как запускать Emacs в клиент-серверном режиме

2011.05.07

Так как даже в англоязычном секторе Сети ни фига не понятно, как это сделать, пишу сам, для того случая, когда забуду, а понадобится.

Контекст

Начиная с Emacs 23, появилась возможность запускать его в режиме демона. Для этого вызываем его так:

emacs --daemon

Emacs запускается в фоне и становится точкой доступа для вызовов emacsclient. Теперь мы вместо запуска нового инстанса Emacs запускаем

emacsclient -c

Клиентская часть подключается к демону практически мгновенно, и демон хранит открытые буфера, историю правок, всё, самостоятельно. Память также расходуется только как бы на один инстанс Emacs. Короче, именно так должен работать Емакс на машине, где он используется в качестве основного и единственного текстового редактора.

Реализация

Теперь о том, как заменить дефолтный запуск Emacs в Debian Squeeze/KDE.

Вообще можно обойтись тем, что вместо

emacs

пользоваться

emacsclient --alternate-editor "" -c

Если в качестве alternate-editor указана пустая строка, emacsclient самостоятельно запустит демона emacs (!) и подконнектится к нему.

Однако, хочется гуёвых удобств.

По умолчанию в плазмоиде Kickoff (меню запуска приложений) находится пункт меню, запускающий Emacs в обычном режиме. Нажав на Kickoff правой лапой, можно добраться до “редактора меню”, в котором найти пункт меню для Emacs, и заменить его строку вызова с emacs на вышеупомянутое emacsclient --alternate-editor "" -c.

Это всё, никаких дополнительных телодвижений типа настройки автозапуска emacs --daemon не надо.

Предыдущий: Как отображать только иконки в Панели закладок в Firefox Следующий: Как вручную установить драйвера NVIDIA в Debian Squeeze