SSH 연결에서 로컬 Emacs 서버로 "역방향"으로 연결할 수 있나요?

SSH 연결에서 로컬 Emacs 서버로 "역방향"으로 연결할 수 있나요?

ssh$EDITOR나는 로컬 Emacs에서 편집할 수 있도록 환경 변수(또는 유사한)를 사용하여 원격 컴퓨터에 로그인하고 싶습니다 . 이 경우 특히 로그인하고 명령을 psql사용하여 쿼리를 실행하고 편집할 때입니다. \e psqlEmacs에서 로컬로 편집할 수 있다는 것은 내 작업 흐름에 큰 이점이 됩니다.

나는 항상 이것이 불가능하다고 의심해 왔지만, 포기하기 전에 여기에 던져야겠다고 생각했습니다.

답변1

실제로 사용할 수 있습니다도보 여행가:

TRAMP는 "투명한 원격(파일) 액세스, 다중 프로토콜"을 의미합니다. 이 패키지는 Ange-FTP와 유사한 원격 파일 편집 기능을 제공합니다. 차이점은 Ange-FTP는 FTP를 사용하여 로컬 호스트와 원격 호스트 간에 파일을 전송하는 반면 TRAMP는 rsh와 rcp 또는 ssh/scp와 같이 유사하게 작동하는 다른 프로그램의 조합을 사용한다는 것입니다.

파일 에 다음 줄을 추가합니다 ~/.emacs(원천):

(require 'tramp)
(setq tramp-default-method "scp")

그러면 다음과 같이 원격 파일을 열 수 있습니다.

emacs /remote.server.com:/remote/path/foo.txt

하지만 특히 이 명령과 함께 사용하려면 psql다른 것이 필요합니다. 지금 당장 이것을 테스트할 방법은 없지만 emacs를 로컬 emacs의 별칭으로 설정할 수도 있습니다.가능한일하다. 원격 .bashrc파일에 다음 줄을 추가하세요.

alias emacs='ssh user@local emacs'

답변2

emacs나는 에 대해 잘 알고 있습니다 psql. 하지만...

sshfs이를 사용하여 원격 서버를 설치하고 모든 작업을 로컬에서 수행할 수 있는 것 같습니다 .

sshfs user@host mount/directory/
cd mount/directory && emacs

원격 머신에서 명령을 실행해야 하는 경우 마운트를 사용한 sshfs다음 ssh액세스 할 수 있습니다.SSH 이스케이프 문자를 사용하여 SSH 세션을 일시중지하세요.컴퓨터에서 emacs를 실행합니다(mount를 사용하여 원격 파일 편집 sshfs).

또 다른 솔루션원격 컴퓨터에 설치 emacs하고 구성을 복사합니다(저는 vim 콘텐츠에 대한 git 저장소에 집계된 이 솔루션을 선택했습니다).

답변3

이것은 당신이 설명하는 방식으로 수행될 수 없습니다. SFTP(아마도 FUSE를 통해)를 사용하여 원격 시스템의 파일을 편집할 수 있습니다. 스크립트와 파이프를 사용하여 정말 창의적인 작업을 수행할 수도 있지만 내장된 기능은 아닙니다.

관련 정보