Запуск сервера Emacs из оболочки
Вопрос
Я нахожусь в классе, который использует реализацию Emacs на школьном сервере. Я работаю на Mac, работающем под снежным барсом, и у меня есть собственная реализация Emacs. Чтобы получить доступ к серверу-Emacs, я захожу на сервер по ssh и запускаю Emacs из его расположения. Р>
Я относительно новичок в emacs, и у меня возникает особая проблема, когда я пытаюсь получить доступ к server-emacs из режима оболочки моего local-emacs, имея ssh'd на сервере. Это выдает ошибку "Размер экрана -1х80 слишком мал" и не запускает сервер-emacs. Р>
У меня есть отдельная проблема: когда я пытаюсь сделать это в терминале Apple, он запускает сервер-emacs, но мне очень, очень не нравится интерфейс, когда emacs запускается в терминале. Р>
Я пару раз пытался запустить server-emacs в новом окне, в обоих сценариях, но, видимо, я делаю это неправильно. Р>
Решение
Я думаю, что предложение Трея Джексона о бродяге (или более старомодном 'ange-ftp), вероятно, является вашим лучшим выбором. Р>
В общем, запуск emacs внутри emacs никогда не был хорошей идеей. Вы либо хотите запустить emacs на сервере (в режиме -nw внутри терминала, либо с помощью некоторой магии $ DISPLAY), либо запустить его на своем Mac (через tramp). Нет действительно хорошего способа сделать и то и другое. Р>
Другие советы
Думаю, было бы полезно понять, что ты пытаешься сделать. Р>
Вы просто хотите редактировать файлы на сервере? Если это так, прочитайте документацию для tramp и попробуйте:
C-x C-f //user@server:/path/to/file
Если вы действительно хотите использовать emacs, запущенный на сервере, попробуйте создать фрейм на вашем
(если так, ищите tramp
) Если вы действительно хотите использовать emacs с сервера, но у вас есть окно, отображаемое на вашем mac:
ssh server
setenv DISPLAY mymac:0
emacsclient file &
Предполагается, что вы используете X11 и знаете, как разрешить отображение на вашем Mac. Вы можете получить X11 для Mac здесь а>. р>
Сложно сказать, что вы делаете, но вы, вероятно, захотите подключиться к серверу ssh с X-туннелем, а затем запустить там emacs, который откроет окно на вашем Mac. Р>
Во-первых, не используйте терминал. Р>
На вашем Mac запустите X11 (Google для XQuartz, если у вас его еще нет). Запустите XTerm (он должен делать это по умолчанию). Из этого XTerm, ssh на ваш сервер с опцией -Y:
ssh -Y me@server.something
Это даст вам удаленную оболочку и настройку среды DISPLAY для туннелирования обратно на X-сервер вашего Mac. Проверьте это, запустив оттуда xterm. Если это работает, вы можете вместо этого запустить emacs. Если это работает, вы можете объединить его с вызовом ssh:
ssh -Y me@server.something / usr / bin / emacs # или любой другой путь, который вам нужен
Вы должны настроить ssh так, чтобы он не требовал пароля, но это больше, чем вы просили.