Есть ли причина не запускать клиентов удаленно, а просто использовать локальный дисплей? Таким образом, практически все, что вам нужно на локальных машинах, — это клиент ssh и сервер X Window.
ssh -X (user)@(server) "emacsclient -c"
Правки для комментариев:
Эта команда запускает новый клиент для подключения к существующему серверу Emacs (который, как предполагается, уже запущен). Вы можете использовать "emacsclient -a '' -c"
для автоматического запуска emacs --daemon
, если существующего сервера нет, но я не знаю, хотите ли вы, чтобы подключающийся пользователь запускал сервер.
На самом деле, если честно, я довольно не уверен насчет многопользовательской стороны этого, поскольку я никогда не делал этого раньше. Аутентификация для вышеперечисленного обрабатывается ssh, но вполне могут возникнуть последующие проблемы с разрешениями или аналогичные проблемы, когда сервер и клиенты запускаются разными пользователями.
Этот подход должен быть возможен с Windows/Cygwin в качестве клиента и/или сервера, поскольку Cygwin предоставляет пакеты Emacs, OpenSSH и X.org. (Я регулярно использую Windows/Cygwin в качестве локального дисплея для Emacs, работающего в Linux.) Однако его может быть сложнее настроить, и любые проблемы с разрешениями, вероятно, будут другими, когда вы используете Cygwin.
Я менее уверен, как это будет работать без Cygwin. NTEmacs, конечно, не будет общаться с X.org, поэтому я полагаю, что в этом случае вы будете работать с терминалом. (Возможно, есть и другие варианты, но Cygwin кажется мне наиболее интегрированным подходом к использованию всех Emacs, SSH и X в Windows).
Наконец, я предполагаю, что вы, вероятно, получаете ошибку «Отказано в соединении», потому что на локальном хосте не запущен демон sshd? Я бы сказал, что настройка ssh выходит за рамки этого вопроса, но для этого есть много ресурсов в Интернете.
person
phils
schedule
29.07.2011