로컬 또는 원격 로그인을 기반으로 Linux에서 그래픽 기반 또는 텍스트 기반 EDITOR를 사용하려면 어떻게해야합니까?


3

.bashrc에 EDITOR 변수를 설정할 수 있습니다. gedit는 우분투에서 멋진 그래픽 편집기입니다. 하지만 PuTTY를 통해 로그인하면 편집기가 실패합니다.

로그인되어 있고 그래픽 편집기를 실행할 수 있는지 여부를 감지하는 가장 좋은 방법은 무엇입니까, 아니면 EDITOR를 적절하게 설정합니까?

답변:


2

~ / .xinitrc (또는 X가 디스플레이 관리자를 통해 시작하는 경우 ~ / .xprofile) :

export EDITOR=gedit
export VISUAL=$EDITOR

.bashrc (또는 쉘용 사용자 초기화 파일)

export EDITOR=emacs
export VISUAL=$EDITOR

내 쉘 초기화 파일에서 X 관련 항목을 유지하려고합니다.


3

... 약간의 장난을 치는 것 ... 이것은 그것일지도 모른다?

if [ "$DISPLAY." == "." ]; then
 export EDITOR='vim'
else
 export EDITOR='gedit'
fi

또는 확인할 수 있습니다. $SSH_CLIENT하지만이 방법은 일반 tty에도 로그인 할 때 작동하므로 더 유연합니다.
whitequark

2
if [ -z $DISPLAY ]
Dennis Williamson

@Dennis : 왜 화재로 경기합니까? if [[ -z $DISPLAY ]] bash / ksh / zsh 또는 if [ -z "$DISPLAY" ] 휴대용 (또는 if [ x"$DISPLAY" = x ] 버그가있는 골동품 Bourne shells에 대한 편집증이라면).
Gilles

@ Gilles : 왜냐하면 -z 정의에 따라 null 및 unset 변수를 처리하는 방법을 알고 있습니다. 그러나 일관된 습관을 갖는 것이 더 나은 한 당신은 정확합니다.
Dennis Williamson

@ 질 : 고마워. 어쨌든 배쉬에서는 항상 이중 괄호를 사용합니다. 나는 결코 생각하지 않았다. -o 단일 브래킷 내부의 케이스 유형.
Dennis Williamson
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.