Запуск Emacs на декількох TTYs на екрані


1

Під час роботи з EMACS над SSH, чи існує спосіб, щоб створити новий кадр тієї ж сесії emacs на іншому терміналі?

У моєму випадку використання у мене є екран, тому у мене є кілька терміналів, і я можу відновити, який псевдотермінал вони прив'язані до pts. Припустимо, що у мене є два "вікна" (у вікні екрану GNU). Перший додається до / dev / pts / 12, а другий додається до / dev / pts / 13. Я запускаю emacs на першому вікні. Чи є спосіб для мене почати новий кадр тієї ж сесії на другому вікні?

Я граю з аргументами, що передаються make-frame але здається, що використання, яке дозволяє мені вказати термінал, вимагає, щоб термінальний об'єкт вже існував, і я не бачу жодного способу створення нового термінального об'єкта.

Відповіді:


1

Я думаю, що моє питання могло бути погано сформоване. Моя мета полягала в тому, щоб мати доступ до одного сеансу emacs (із загальними буферами, налаштуваннями тощо). Я до сих пір не знаю, як відправити кадр emacs з існуючого процесу emacs до довільного терміналу, але легко підключитися до існуючого сеансу emacs з довільного терміналу. Це можна здійснити за допомогою сервера emacs і emacsclient.

По-перше, ви повинні запустити сервер emacs. Якщо у вас немає відкритих emacs, ви можете просто запустити emacs --daemon запустити emacs у фоновий режим і дозволити йому запустити сервер. Якщо у вас вже є emacs, ви можете запустити M-x server-start.

По-друге, від терміналу, з якого ви хочете підключитися до сервера emacs, запустіть emacsclient -t. Це створить новий кадр на поточному терміналі, підключеному до існуючої серверної сесії emacs. The -t Прапор повідомляє emacsclient створити кадр у стилі tty, як якщо б ви запустили emacs з -nw прапор. Якщо ваш термінал пов'язаний з дисплеєм X і має набір DISPLAY, ви можете замість цього запустити emacsclient -c який створить нове вікно X з новим кадром emacs, підключеним до існуючого сеансу emacs.

Більш детальну інформацію про використання emacsclient можна знайти на його сторінці.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.