Удаленный запуск Emacs между несколькими машинами - PullRequest
5 голосов
/ 25 февраля 2010

Я использую Emacs удаленно, используя X-Server на клиенте Windows и сервере Linux. Я заметил, что могу остановить его с помощью ctrl-z, а затем набрать fg 1, чтобы он снова заработал. Есть ли какой-нибудь способ, которым я мог бы заставить его остановиться на машине, на которой я работаю, а затем войти в другую машину и начать с того места, где я остановился? Когда я запускаю новый сеанс ssh, задание emacs не связано с моим терминалом. Должен быть какой-то способ «украсть» его.

Также, возможно, есть функция Emacs, которая делает в основном то же самое. Тем не менее, я думаю, что закрытие и повторное открытие всех моих файлов и буферов займет довольно много времени.

Ответы [ 3 ]

6 голосов
/ 25 февраля 2010

Расширяя идею использования emacsclient , вы можете взглянуть на то, что кто-то сделал для решения проблемы редактирования файла с компьютера, отличного от того, где он начал запускать Emacs .

Начиная с Emacs 23, вы можете запускать emacsclient в окнах терминала , используя опцию -nw.

Другие решения, которые вы, возможно, захотите попробовать, - использовать:

  1. экран GNU
  2. VNC

В течение многих лет я использовал экран для «прикрепления» и«отсоединиться» от виртуального терминала, который звучит как ваша модель использования.Если у вас есть возможность использовать графику ... vnc действительно хорош, просто выполняйте свою работу в сеансе vnc и подключайте к нему любую машину.

И ваша последняя идея уже реализована пакетом рабочий стол (который входит в комплект Emacs).Взгляните на вики-страницу для управления сессиями , которая включает другие альтернативы рабочему столу, а также дополнения для рабочего стола для ленивой загрузки файлов.

2 голосов
/ 25 февраля 2010

Вы можете запустить emacs как сервер и использовать emacsclient для подключения к нему. Вы можете открыть несколько подключений к одному и тому же серверу emacs через ttys или X11.

При этом C-X C-C закроет ваше соединение и оставит сервер работающим.

Простой способ сделать это, вызвав emacs следующим образом. Он подключится к серверу, если он запущен, или создаст его.

emacsclient --alternate-editor="" -c
1 голос
/ 25 февраля 2010

Иногда я буду на работе и мне придется выбегать за дверь, оставляя сеанс Emacs таким, каким он был. Позже я открою экземпляр Emacs на той же машине (обычно с использованием удаленного SSH) и обнаружу, что у меня есть файлы, открытые в Emacs. Теперь хорошие новости. Emacs позволяет вам «красть» эти файлы, используя M-x recover-this-file. Я рекомендую одно из решений Трея, если вы можете планировать заранее. Если нет, то вы можете использовать эту технику восстановления файлов, чтобы продолжать движение.

...