emacs tramp double-hop ssh более ранние решения просто не работают

Постановка задачи:

Подключитесь к machineB (jupiter) через [email protected]. Моя проблема ближе всего к ссылке 1 ниже. Однако никакая информация в ссылках не заставляет его работать. Что еще хуже, emacs -debug-init не дает никакой полезной информации ... по крайней мере, для новичка в Emacs, такого как я.

Одна такая отладочная информация:

Введен отладчик - ошибка Lisp: (void-variable tramp-default-proxies-alist) add-to-list (tramp-default-proxies-alist ("\\ 'jupiter \\'" nil "/ ssh: creta @ recog .vision.uni-bonn.de: ")) eval-buffer (# nil" /home/creta/.emacs.d/init.el "nil t); Чтение в позиции буфера 159 загрузка с преобразованием кода ("/ home / creta / .emacs.d / init.el" "/home/creta/.emacs.d/init.el" tt) load ("/ home /creta/.emacs.d/init "tt) # [0" \ 205 \ 262

Может ли дефис в домене (uni-bonn) иметь значение? Я даже пробовал с uni-bonn и другими комбинациями, но это не имеет значения.

Я могу использовать tramp to ssh для creta @ recog .... by Cx Cf /ssh:[email protected]: RET PASSWORD ... но позже я не знаю, как использовать ssh дальше в jupiter, который это моя рабочая станция.

Я последовал совету здесь:

Ссылка 1: Как я могу использовать Emacs Tramp to double hop ssh?

Ссылка 2: Открыть файл через SSH и Sudo с помощью Emacs

Ссылка 3: Emacs Tramp ssh double hop

Ссылка 4: http://comments.gmane.org/gmane.emacs.tramp/7578

Ссылка 5: http://www.gnu.org/software/emacs/manual/html_node/tramp/Multi_002dhops.html

Было бы здорово, если бы эту надоедливую вещь разрешили.

Большое спасибо. Хорошего дня!

РЕДАКТИРОВАТЬ 1: Я не возражаю, если мне нужно дважды ssh (сначала в домен, а затем на рабочую станцию), хотя я не знаю, хорошая ли это идея. возможность работать с файлами, как если бы они были локальными в emacs (с его diredplus и другими полезностями), является приятной особенностью.

РЕДАКТИРОВАТЬ 2: Я использую Emacs 24.2 на машине Ubuntu (Natty 11.04 -> должен обновиться в ближайшее время), если это помогает.


person snowmonkey    schedule 13.03.2013    source источник
comment
Обратите внимание, что в новом блестящем Emacs 24.3 было реализовано нечто аналогичное (но более надежное, чем) старому методу multi:. / восстановлено. См. gnu.org/software/tramp/#Ad_002dhoc-multi_002dhops (или если вы используете 24.3, C-h i g (tramp) Ad-hoc multi-hops RET).   -  person phils    schedule 14.03.2013
comment
Спасибо за внимание. Планировал обновиться в апреле. Это полезно.   -  person snowmonkey    schedule 14.03.2013


Ответы (1)


Указанное вами сообщение об ошибке вызвано тем, что TRAMP не загружается до того, как вы попытаетесь его настроить. Попробуйте использовать что-то вроде этого:

(require 'tramp)
(add-to-list 'tramp-default-proxies-alist ...)

Или (лучше с точки зрения времени загрузки, но больше подвержено сложным ошибкам, связанным с цитированием):

(eval-after-load "tramp"
   '(add-to-list 'tramp-default-proxies-alist ...))
person François Févotte    schedule 13.03.2013
comment
сладкий! Это помогло. мой сервер входа в систему uni не работает последние 2 часа, но SSH с двойным переходом работает в другом месте. С (setq tramp-default-method ssh) мне нужно только пароль C-x C-f / user @ host: RET, и я закончил. Благодаря тонну! Странно, я потратил на это почти 3 часа. Следует научиться лучше отлаживать код elisp. какие-нибудь советы? - person snowmonkey; 13.03.2013
comment
У меня нет никаких замечательных подсказок ... Я полагаю, что elisp похож на любой другой язык: лучший способ учиться - это практиковаться. Я, например, действительно начал изучать elisp, когда начал настраивать и расширять его для своих нужд. - person François Févotte; 14.03.2013