Я хотел бы иметь возможность запускать emacs на одном компьютере:
server $ emacs --daemon
А потом подключитесь к нему из другого:
local $ emacsclient -c server
Это возможно? Если так, то как?
daemon
emacsclient
networking
Лисзт
источник
источник
Ответы:
Вы не можете использовать emacsclient для подключения к экземпляру Emacs, запущенному на удаленном компьютере. Эта концепция клиент-сервер связана с (локальными) процессами, а не с сетевыми узлами. Однако вы можете использовать различные сетевые технологии для входа на удаленный компьютер, подключения к работающему на нем серверу emacs и локального отображения экрана emacsclient. В зависимости от используемой операционной системы работа в сети может осуществляться через SSH (терминал / X-Forwarding), VNC, RDP и т. Д.
ОБНОВЛЕНИЕ :
Как отмечали некоторые люди, emacsclient действительно имеет возможность подключиться к серверу через TCP. Тем не менее, emacsclient никогда не предназначался для удаленного использования, опция сокета TCP необходима для совместимости с не-UNIX системами (то есть операционными системами, где сокеты домена UNIX недоступны, как Windows).
источник
Возможно, это не то, о чем вы просили, но при условии, что вы настроили ssh с X-forwarding, вы можете запустить emacsclient на сервере и переслать его на удаленный DISPLAY. (Отказ от ответственности: код, введенный непосредственно в веб-форму)
источник
Это может быть не то, что вы хотите, но на всякий случай посмотрите, может ли это как-то вам помочь.
Я обычно работаю в виртуальной машине, загруженной с помощью Vagrant, мой
~/.emacs.d
каталог синхронизируется между моей машиной (локальной) и виртуальной машиной (удаленной), помещая вVagrantfile
файл следующее:Кроме того, моя конфигурация Emacs автоматически запускает сервер при запуске:
Поэтому, когда я запускаю сервер Emacs внутри виртуальной машины, я могу подключиться к нему следующим образом:
имя хоста виртуальной машины - это имя хоста виртуальной машины, которую я настроил в моей ~ / .ssh / config:
Примечание: перед запуском сервера Emacs внутри виртуальной машины я проверяю, что
~/.emacs.d/server/server
файл отсутствует (если я просто удаляю его), потому что иначе он не будет работать.источник
.ssh/config
файле. Вам просто нужно указатьHost
. В случае сомнений вы можете использовать вывод команды:vagrant ssh-config
установить свой~/.ssh/config
файл.истощение и TRAMP
Автоматически открывать удаленные файлы в локальном Emacs
У меня был успех с первым решением. Второй, кажется, проще, я еще не попробовал.
источник