Chciałbym móc uruchomić emacsa na jednym komputerze:
server $ emacs --daemon
A następnie połącz się z nim z innego:
local $ emacsclient -c server
czy to możliwe? Jeśli tak to jak?
daemon
emacsclient
networking
Liszt
źródło
źródło
Odpowiedzi:
Nie można używać programu emacsclient do łączenia się z instancją Emacs działającą na komputerze zdalnym. Ta koncepcja klient-serwer jest związana z procesami (lokalnymi), a nie węzłami sieci. Możesz jednak użyć różnych technologii sieciowych, aby zalogować się na komputerze zdalnym, podłączyć się do działającego tam serwera emacs i wyświetlić lokalnie ekran emacsclient. W zależności od używanego systemu operacyjnego połączenie sieciowe może odbywać się za pośrednictwem SSH (terminal / X-Forwarding), VNC, RDP itp.
AKTUALIZACJA :
Jak niektórzy zauważyli, emacsclient faktycznie ma opcję połączenia z serwerem za pośrednictwem TCP. Jednak emacsclient nigdy nie miał być używany zdalnie, opcja gniazda TCP jest wymagana dla kompatybilności z systemami innymi niż UNIX (tj. Systemami operacyjnymi, w których gniazda domenowe UNIX są niedostępne, takie jak Windows).
źródło
Prawdopodobnie nie to, o co prosiłeś, ale zakładając, że masz konfigurację ssh z X-forwardingiem, możesz uruchomić emacsclient na serwerze i przekazać go do zdalnego WYŚWIETLANIA. (Uwaga: kod wpisany bezpośrednio w formularzu internetowym)
źródło
To może nie być to, co chcesz, ale na wszelki wypadek, czy może ci to pomóc.
Zwykle pracuję na maszynie wirtualnej uruchomionej za pomocą Vagrant, mam
~/.emacs.d
zsynchronizowany katalog między moją maszyną (lokalną) a maszyną wirtualną (zdalną), umieszczając wVagrantfile
pliku:Ponadto moja konfiguracja Emacsa automatycznie uruchamia serwer podczas uruchamiania:
Kiedy więc uruchamiam serwer Emacs na maszynie wirtualnej, mogę się z nim połączyć w następujący sposób:
nazwa hosta maszyny wirtualnej to nazwa hosta maszyny wirtualnej, którą skonfigurowałem w moim ~ / .ssh / config:
Uwaga: Przed uruchomieniem serwera Emacs na maszynie wirtualnej sprawdzam, czy
~/.emacs.d/server/server
plik nie jest obecny (jeśli tak, po prostu go usuwam), ponieważ w przeciwnym razie nie zadziała.źródło
.ssh/config
pliku. Musisz tylko określićHost
. Wątpliwości możesz użyć danych wyjściowych polecenia:vagrant ssh-config
do ustawienia~/.ssh/config
pliku.emacsclient i TRAMP
Automatycznie otwieraj zdalne pliki w lokalnych emacach
Miałem sukces z pierwszym rozwiązaniem. Drugi wydaje się prostszy, jeszcze go wypróbowałem.
źródło