SSH+tmux를 통해 Vim 클라이언트 서버 인스턴스를 실행할 수 있습니까?

SSH+tmux를 통해 Vim 클라이언트 서버 인스턴스를 실행할 수 있습니까?

나는 약 1년 동안 vim 팬이었고 몇 가지 훌륭한 작은 요령을 외웠습니다. 나는 터미널(사무실)에서 Ubuntu 개발을 많이 합니다.

내가 가장 중요하게 생각하는 것 중 하나는 tmux가 내 세션을 처리하도록 하여 Gnome이나 다른 것이 종료하기로 결정하더라도 아무것도 잃지 않도록 하는 것입니다.

또한 vim 클라이언트 서버(Cb :neww 'vim --servername d')를 내 tmux 창 중 하나로 실행하고 이를 사용하여 작업하려는 파일을 수신하는 동시에 다른 tmux 창에서 다양한 종류의 작업을 수행하도록 합니다. 일의. 즉, 편집 중인 내용을 혼동하지 않고 vim을 열 수 있습니다.

SSH를 통해 원격으로 작업할 때 tmux 세션에 연결하고 계속하지만 문제가 있습니다. vim이 클라이언트 서버 인스턴스를 시작하지 않습니다.

X와 관련된 것 같지만 SSH를 통해 로컬 tmux와 tmux의 차이점을 찾을 수 없는 것 같습니다.

답변1

예, X 속성을 사용하여 통신합니다. X11 전달을 허용하려면 -X 옵션을 사용하여 원격 SSH 세션을 실행해 보세요. 서버 측에서 기능을 활성화해야 할 수도 있습니다. 기존 세션에 이미 시작 시 로컬 환경 변수가 있으므로 DISPLAY 환경 변수를 "localhost:10.0"으로 수동으로 조정해야 할 수도 있습니다.

답변2

이것은 @keith에 대한 의견으로 더 적합하지만 조금 더 자세히 설명하고 싶었습니다.

.ssh/config그의 답변은 연결할 때 간단한 -X를 사용하여 문제를 완벽하게 해결했지만 파일에 다음을 추가하여 한 단계 더 발전했습니다.

Host mydevserver.example.com
ForwardX11 yes

또한, 제가 자주 사용하는 오프사이트 헤드리스 개발 서버에 대해서도 이 작업을 반복해 보고 싶습니다.

  1. 가장 기본적인 X11 구성요소를 설치하기 위해 yum을 사용했습니다: yum group install 'X11 Desktop Environment'
  2. 필요에 따라 X를 시작하기 위해 내 zsh 별칭 파일에 별칭을 생성했습니다(개발 시스템에서는 성능이 여전히 중요합니다!)
    alias initFakeDisplay=startx -- /usr/bin/Xvfb :2 -screen 0 1024x768x24 &

그런 다음 나중에 X11 전달이 활성화된 상태로 연결하고 동일한 tmux+vim 기술을 사용하여 vim 클라이언트 서버를 실행할 수 있습니다.

관련 정보