Saya ingin dapat menjalankan emacs di satu komputer:
server $ emacs --daemon
Dan kemudian terhubung dengannya dari yang lain:
local $ emacsclient -c server
Apakah ini mungkin? Jika ya, bagaimana caranya?
daemon
emacsclient
networking
liszt
sumber
sumber
Jawaban:
Anda tidak dapat menggunakan emacsclient untuk terhubung ke instance Emacs yang berjalan di komputer jarak jauh. Konsep client-server ini terkait dengan proses (lokal), bukan node jaringan. Namun, Anda dapat menggunakan berbagai teknologi jaringan untuk masuk ke komputer jarak jauh, melampirkan ke server emacs yang berjalan di sana dan menampilkan layar emacsclient secara lokal. Tergantung pada sistem operasi yang digunakan jaringan dapat dilakukan melalui SSH (terminal / X-Forwarding), VNC, RDP dll.
PEMBARUAN :
Seperti yang ditunjukkan beberapa orang, emacsclient sebenarnya memiliki opsi untuk terhubung ke server melalui TCP. Namun, emacsclient tidak pernah dimaksudkan untuk digunakan dari jarak jauh, opsi soket TCP diperlukan untuk kompatibilitas dengan sistem non-UNIX (yaitu sistem operasi di mana soket domain UNIX tidak tersedia, seperti Windows).
sumber
Mungkin bukan yang Anda minta tetapi dengan asumsi Anda memiliki pengaturan ssh dengan penerusan X, Anda bisa mulai emacsclient di server dan meneruskannya ke DISPLAY jarak jauh. (Penafian: kode yang diketik langsung ke formulir web)
sumber
Ini mungkin bukan yang Anda inginkan tetapi untuk berjaga-jaga jika itu dapat membantu Anda.
Saya biasanya bekerja di dalam mesin virtual yang di-bootstrap dengan Vagrant,
~/.emacs.d
direktori saya disinkronkan antara mesin saya (lokal) dan mesin virtual (jarak jauh) meletakkan yang berikut dalamVagrantfile
file:Konfigurasi Emacs saya secara otomatis memulai server saat startup:
Jadi ketika saya meluncurkan server Emacs di dalam mesin virtual, saya dapat menghubungkannya dengan yang berikut:
nama mesin virtual host adalah nama host dari mesin virtual yang saya konfigurasikan di ~ / .ssh / config saya:
Catatan: Sebelum meluncurkan server Emacs di dalam mesin virtual saya memeriksa bahwa
~/.emacs.d/server/server
file tersebut tidak ada (jika saya hanya menghapusnya) karena jika tidak maka tidak akan berfungsi.sumber
.ssh/config
file Anda . Anda hanya perlu menentukanHost
. Dalam keraguan Anda dapat menggunakan output dari perintah:vagrant ssh-config
untuk mengatur~/.ssh/config
file Anda .emacsclient dan TRAMP
Secara otomatis membuka file jarak jauh di emacs lokal
Saya telah sukses dengan solusi pertama. Yang kedua tampaknya lebih sederhana, saya belum mencobanya.
sumber