Eu gostaria de poder executar o emacs em um computador:
server $ emacs --daemon
E conecte-se a ele de outro:
local $ emacsclient -c server
Isso é possível? Se sim, como?
daemon
emacsclient
networking
liszt
fonte
fonte
Respostas:
Você não pode usar o emacsclient para se conectar a uma instância do Emacs em execução em um computador remoto. Esse conceito cliente-servidor está relacionado a processos (locais), não a nós da rede. No entanto, você pode usar várias tecnologias de rede para efetuar login no computador remoto, conectar-se a um servidor emacs em execução no local e exibir a tela do emacsclient localmente. Dependendo do sistema operacional usado, a rede pode ser feita via SSH (terminal / X-Forwarding), VNC, RDP etc.
ATUALIZAÇÃO :
Como algumas pessoas apontaram, o emacsclient realmente tem uma opção para se conectar ao servidor via TCP. No entanto, o emacsclient nunca foi projetado para ser usado remotamente, a opção de soquete TCP é necessária para compatibilidade com sistemas não UNIX (ou seja, sistemas operacionais nos quais soquetes de domínio UNIX não estão disponíveis, como o Windows).
fonte
Provavelmente não é o que você pediu, mas supondo que você tenha uma configuração ssh com o encaminhamento X, você pode iniciar o emacsclient no servidor e encaminhá-lo para o DISPLAY remoto. (Aviso: código digitado diretamente no formulário da web)
fonte
Pode não ser o que você deseja, mas apenas para ver se pode ajudá-lo.
Normalmente, trabalho em uma máquina virtual inicializada com o Vagrant, tenho meu
~/.emacs.d
diretório sincronizado entre minha máquina (local) e a máquina virtual (remota), colocando o seguinte noVagrantfile
arquivo:Além disso, minha configuração do Emacs inicia automaticamente um servidor na inicialização:
Portanto, quando inicio um servidor Emacs dentro da máquina virtual, posso conectar-me a ele com o seguinte:
nome da máquina virtual é o nome da máquina virtual que eu configurei no meu ~ / .ssh / config:
Nota: Antes de iniciar o servidor Emacs dentro da máquina virtual, verifico se o
~/.emacs.d/server/server
arquivo não está presente (se for apenas removê-lo) porque, caso contrário, não funcionará.fonte
.ssh/config
. Você só precisa especificar oHost
. Na dúvida, você pode usar a saída do comando:vagrant ssh-config
para definir seu~/.ssh/config
arquivo.emacsclient e TRAMP
Abrir automaticamente arquivos remotos no emacs local
Eu tive sucesso com a primeira solução. O segundo parece ser mais simples, ainda estou para experimentar.
fonte