Я считаю, что лучше всего запускать мои оболочки на удаленных машинах в emacs с помощью TRAMP (используя ssh
команда в локальной оболочке не работает для моих нужд). Тем не менее, я знаю, как запустить оболочку TRAMP, только если я впервые посещаю удаленный файл с C-x C-f
а затем сделать M-x shell
из этого буфера. Тем не менее, я хотел бы открыть оболочку на удаленной машине, используя TRAMP, до открыть любой файл на этом удаленном хосте, но не могу найти объяснения, как это сделать в моих поисках. Возможно ли это сделать?
5
sshpass
? Вы бы предпочли вводить пароль каждый раз?Ответы:
Tramp вступает в игру, когда каталог по умолчанию является удаленным. Таким образом, вы можете изменить его, как вы делаете это с открытием удаленного файла (или каталога) заранее.
Но вы можете написать небольшую команду, например так:
Тогда вы можете позвонить
M-x my-shell
источник
M-x customize-variable
explicit-shell-file-name
в\bin\bash
чтобы избежать пропущенных ошибок оболочки.я использую Dired получить доступ к удаленной машине и открыть там оболочку.
Вот функция, которую я использую, взятая и измененная из Конфигурация emacs Тихона Йелвиса :
Пример:
источник
Хотя в руководстве не указано слишком четко
C-u M-x shell
позволяет указать имя буфера оболочки, а также что более важно в вашем случае позволяет вам указатьDefault directory
, который может взять строку, как Бродяга/ssh:server:/my/path
,Альтернативой является открытие dired (
C-x d
), а не фактический файл, если выM-x shell
из директории оболочка открывается с контекстом директории dired.источник