Acho que minha pergunta pode ter sido mal formada. Meu objetivo era poder acessar uma única sessão do emacs (com buffers comuns, configurações, etc). Eu ainda não sei como enviar um emacs de um processo existente do emacs para um terminal arbitrário, mas é fácil se conectar a uma sessão existente do emacs a partir de um terminal arbitrário. Isso pode ser feito usando um servidor emacs e emacsclient
.
Primeiro, você deve iniciar um servidor emacs. Se você não tiver o emacs aberto, você pode simplesmente executar emacs --daemon
para iniciar o emacs em segundo plano e permitir que ele inicie um servidor. Se você já tem o emacs aberto, você pode executar M-x server-start
.
emacsclient -t
. Isso criará um novo quadro no terminal atual conectado à sessão existente do servidor emacs. O -t
sinalizador diz ao emacsclient para criar um quadro no estilo tty, como se você tivesse lançado o emacs com o -nw
flag. Se o seu terminal estiver associado a um display X e tiver DISPLAY configurado, você poderá executar emacsclient -c
, o que gerará uma nova janela X com um novo quadro emacs conectado à sua sessão emacs existente.
Há mais detalhes para o uso do emacsclient em sua página man.