이맥스
이맥스(Emacs) 사용법 8 - TRAMP(원격 파일 접근)
uridongsu
2025. 3. 7. 03:34
원격 파일 접근 기능
https://www.gnu.org/software/tramp/
TRAMP(Transparent Remote (file) Access, Multiple Protocol)
- 로컬 환경 dired 모드와 동일한 인터페이스로 원격 시스템에 접근 가능
- eshell 을 이용한 원격 환경에서 명령 수행 가능
- 원격 환경에 emacs 설치하지 않아도 됨
접속 방법
C-x C-f (파일 열기)
경로 작성법
/<protocol>:<username>@<hostname>:<path>
/ssh:user@host:/path/to/file
- ssh 접속 방식으로 user 라는 사용자명으로 host 에 접속하고 /path/to/file 에 접근
/ssh::
- 로컬 호스트에 ssh 로 접속
- 홈디렉토리로 이동
윈도우즈의 경우 putty 의 plink 를 이용해 접속하는 경우
/plink:user@host:/path/to/file
putty
팁
sudo 권한으로 접근
https://www.gnu.org/software/tramp/#Combining-ssh-or-plink-with-su_002c-sudo_002c-doas-or-run0
/ssh:user@host|sudo::/path/to/file
단순히 로컬 환경에서도 가능
/sudo::/path/to/file
zsh 사용하는 원격 서버 접속시 emacs 가 멈춰있는 문제
참고:
- https://blog.karssen.org/2016/03/02/fixing-emacs-tramp-mode-when-using-zsh/
- https://www.emacswiki.org/emacs/TrampMode#h5o-9
.zshrc 에 맨 처음에 아래 내용 추가
[[ $TERM == "dumb" ]] && unsetopt zle && PS1='$ ' && return
zshell 에서 화려한(?) 명령 프롬프트 기능이 문제가 되는 것으로 보임
또는 ssh 대신 sshx 프로토콜로 접속하는 방법이 있음
- sshx 는 사용자 설정된 shell 이 아닌 /bin/sh 로 접속함
- 참고: https://www.gnu.org/software/tramp/#index-method-sshx