Общий сеанс Emacs без общих учетных записей пользователей
В настоящее время я работаю в группе, редактирую латексные файлы для представления. Поскольку несколько человек редактируют один и тот же файл, и со многими несвязанными изменениями для грамматики или фраз, использование репозитория не будет работать, потому что каждое извлечение потребует объединения изменений вручную. Поскольку мы все знакомы с emacs, нам бы хотелось иметь общий сеанс, в котором мы все можем редактировать файл.
Я знаю, что это возможно, если мы находимся на одной учетной записи пользователя, либо через M-x make-frame-on-display
или с помощью emacs --daemon
а также emacsclient
, Однако, насколько мне известно, для этого потребуется либо общая учетная запись пользователя, которую мы не имеем прав доступа, либо один из нас, чтобы предоставить доступ к нашей личной учетной записи, что не будет хорошей практикой.
Есть ли способ поделиться сессией emacs без совместного использования учетной записи пользователя?
1 ответ
Обратите внимание, что благодаря способности Emacs предоставить доступ кому-либо в Emacs - это фактически дать ему доступ к своей учетной записи.
Тем не менее, есть несколько способов (предположим, что вы работаете под Unix или Linux):
Чтобы Mx make-frame-on-display работал, вам нужно только авторизовать другой хост, чтобы иметь доступ к вашему экрану
xauth list
Перечислим MIT-MAGIC-COOKIE вашего дисплея, который вы можете передать другу, чтобы он отправил вам рамку на вашем дисплее, используяmake-frame-on-display
, Вы не можете отменить COOKIE, но генерируется новый, если вы выходите из системы, затем входите в систему.xhost +
удалит все контроль доступа. Так что если вы находитесь в месте, которому можно доверять, вы можете временно сделатьxhost +
принять кадр, тогдаxhost -
добавит контроль доступа обратно.xhost +foo
а такжеxhost -foo
будет делать то же самое только для хостаfoo
Вы можете настроить свой сервер Emacs на прием соединения через TCP, используя переменную
emacs-use-tcp
,
Все это, как говорится, последствия для безопасности всего этого сложны. Использование Floobits или Rudel, как предложено Крисом, кажется мне гораздо лучшим решением.