답변:
이것은 귀하의 질문에 대한 답변이 아니지만 X *를 실행하는 하나의 워크 스테이션에서 다른 워크 스테이션으로 sshing하는 경우 ssh로 X 전달을 설정 하면 실제로 gvim 을 사용할 수 있다고 지적하는 것이 유용하다고 생각했습니다 . 창 정보는 네트워크를 통해 전송되며 gvim은 로컬에서 실행되는 것처럼 팝업됩니다.
~ / .ssh / config에 다음을 추가하십시오.
Host *
ForwardX11 yes
이제 gvim을 실행할 수 있습니다.
원래 워크 스테이션이 Windows이고 X를 실행하지 않는 경우 실제로 Cygwin을 사용하여 X 서버를 로컬로 시작할 수 있습니다. 설정이 완료되면 PuTTy와 같은 인기있는 ssh 클라이언트가 X11 포워딩을 수행하도록 구성하면 gvim이 기본 창 장식 창으로 나타납니다.
나는 좋지 않지만 비어 있지 않은 DISPLAY 변수에 대해 현명하기 때문에 RunningX를 사용하는 garyjohn의 대답을 좋아했습니다.
하지만 .. 더 잘 가고 싶습니다. 나는 종종 스크린 세션을 사용합니다. 집에서 스크린 세션을 시작할 수 있으며 DISPLAY가 정의되어 있습니다. 그런 다음 다른 곳에서 ssh를 입력하면 DISPLAY가 여전히 정의되어 있으며 실제로 집에 표시됩니다! 그럼 .. 'export $ DISPLAY ='를하겠습니다. 이것은 괜찮지 만 그 대답이 이미 확인되었으므로 .bashrc가 처음 실행될 때 유효한 DISPLAY 변수를 찾았습니다. EDITOR는 여전히 gvim으로 설정됩니다.
나는 비슷한 문제에 대한 해결책을 찾기 위해 여기에 왔으며 X-GUI 맨 페이지 탐색에 yelp를 사용하고 싶었지만 X를 사용하지 않을 때 자동으로 전통적인 man 명령으로 드롭 다운했습니다.
man () {
if RunningX
then
yelp "man:$@";
else
/usr/bin/man "$@";
fi
}
EDITOR 문제의 경우 다음과 같은 작업을 수행 할 수 있다고 생각합니다.
EDITOR=vim
vim () {
if RunningX
then
gvim "$@";
else
vim "$@";
fi
}
나는 긴 이야기없이 방금 게시했지만 테스트하지는 않았습니다. 나는 나 자신을 bash 초보자라고 생각한다. 나는 'man command'를 테스트했는데 작동합니다! 나는 편집자를 위해 emacs를 사용하고 있으며, X에 대한 자체 검사를 수행합니다. 심지어 gvim도 설치하지 않았습니다.
if [[ $DISPLAY ]]
에 대한 이중 브라켓 애호가 ...