help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Independent differently-configured instances running concurrently


From: W . Greenhouse
Subject: Re: Independent differently-configured instances running concurrently
Date: Tue, 29 Apr 2014 20:24:32 +0000
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

Hans BKK <hansbkk@gmail.com> writes:

> @W. Greenhouse
>
> Thanks for the details about the daemon; is there any benefit beyond
> reducing startup time?

The daemon can be used essentially as a terminal multiplexer (like GNU
Screen/tmux), except it works across X sessions, too. So combined with
ssh (with or without X forwarding), it gives you a network-transparent,
text-oriented Emacs "desktop". It is similar to the utility one would
get as a text-tool user by using GNU Screen or tmux, thus keeping open
their mailclient, chat client, editor windows, etc., all preserved for
them and ready to use from a remote terminal; I can walk away from my
home desktop, ssh into it, and have the same emacs state waiting for me.

The daemon also allows remote evaluation of code, from one Emacs
instance to another via `server-eval-at' or from any arbitrary program
which can shell out to an Emacs daemon via emacsclient --eval.

Reducing startup time is probably the least interesting and least
important feature of the daemon. :)

> I'm sure I'll put it to use for my evolving "production" setup once
> I'm actually using emacs.
>
>> I don't normally use multiple instances, because I find it more
>> convenient to have kill ring/command history/buffers shared and
>> available from any of my emacsclients, but sometimes when testing a
>> new configuration I will start up a second daemon
>
> Well pretty much all I'm doing is testing configuration stuff ATM. Not
> sure what the benefit would be of having multiple daemons running?

The same as for multiple Emacs processes in general; it may be that for
organizational purposes (e.g. dividing home from work tasks, or giving a
separate instance to mail/IRC/whatever) you want the processes isolated
from each other, or you may want this for testing new configurations in
isolation from your main Emacs daemon process.

> I assume if I change a given config I'd need to kill that
> daemon-instance as well as any client frames to see the effects.

Not really. An important feature of Emacs as a Lisp-based environment is
being able to rewrite your environment in real time. Anything that can
be done in terms of Emacs programming and configuration (including
redefining functions in the Emacs "standard library") can be done in a
running session: in the *scratch* buffer or IELM (different variations
on REPL-like interaction), by remote evaluation on an emacs daemon, or
by evaluating parts of an elisp library as you edit it. But a second
instance can be used to hack and break things in isolation from your
real work environment. (I don't bother doing this very often because
even when I hack and break things in my main instance, Emacs is quite
conscientious about backing up my real work; between the auto-save and
backup facilities, data loss is essentially nonexistent.)

--
Best,
WGG

Reply to list only, please.
Off-list replies will be filtered and deleted.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]