Могу ли я закрыть кадры на других дисплеях в emacs на X?

2

Я на работе, на машине Linux. Я ssh в машину альфа, с переадресацией X.

tomfuture@work$ ssh -X alpha

Затем я запускаю X-Windows Emacs.

tomfuture@alpha$ emacs

Это появляется на моем локальном дисплее. Я делаю некоторую работу и иду домой, оставляя Emacs запущенным. На моей машине с Linux я могу подключиться к альфе и открыть новый фрейм emacs, подключенный к тому же emacs.

tomfuture@home$ ssh -X alpha
tomfuture@alpha$ emacsclient -c

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

  1. закрыть раму на работе? или же
  2. закрыть emacs полностью?

Спасибо!

Том Будущее
источник

Ответы:

1

Вы можете закрыть все остальные кадры с помощью функции delete-other-frames, с которой связано C-x 5 1. Вы можете полностью закрыть Emacs, набрав C-x C-cкак обычно. Это завершит Emacs, закрыв все кадры.

Fran
источник
Оба они, кажется, только закрывают кадры на дисплее, на котором я работаю. Моя цель - закрыть кадры, работающие на другом дисплее X-windows.
Том Фьючер
Обе? Если C-x C-c(что убивает Emacs) оставляет фреймы открытыми на других экранах, то эти фреймы не были нарисованы Emacs, который вы убиваете. Возможно ли, что вы используете два Emacs?
Фрэн
ps auxперечисляет только один процесс Emacs. M-x describe-key C-x C-cговорит, что C-x C-cсвязан с save-buffers-kill-terminal. Эта функция описывается как «Предложить сохранить каждый буфер, а затем уничтожить текущее соединение. Если в текущем кадре нет клиента, уничтожьте сам Emacs». Я не уверен, что значит для фрейма иметь клиента, но не похоже, что C-x C-cон предназначен для уничтожения emacs.
Том Фьючер
Попробуйте привязки C-x C-cк save-buffers-kill-emacsпоместив этот код в конец вашего ~/.emacsфайла запуска: (define-key global-map (kbd "C-x C-c") 'save-buffers-kill-emacs). Я подозреваю, что эта функция save-buffers-kill-terminalвызывает поведение, которое вам не нравится.
Фрэн
save-buffers-kill-emacsделает работу (после предупреждения, что он собирается удалить другое соединение, что приятно). Спасибо!
Том Будущий