Xmanager 게시판

$DISPLAY 변수 문의

최종입력: 2012-10-26 07:56 - 초보 | 답글: 4건

 
2012-10-24 15:25 - 초보

$DISPLAY 변수 문의

 
안녕하세요

xstart 를 통하여 linux 접속 시 display 설정이 자동으로 되도록 하려면 어떻게 해야하나요?
예시대로 아래 명령어를 사용하였는데 $DISPLAY 변수가 자동으로 들어가지 않는 모양입니다.
/usr/bin/X11/xterm -ls -display $DISPLAY

echo $DISPLAY 해보면 DISPLAY: Undefined variable. 이렇게 나오거든요,,

재부팅할 때마다 IP가 바뀌기 때문에 alias로 넣기도 어렵습니다.
자동으로 제 PC의 IP를 인식하도록 하려면 어떻게 조치하면 좋을지 조언 부탁드립니다.

감사합니다.

프로그램 버전 : Xmanager 4
연결 방법 : Xstart connection
2012-10-24 18:01 - 넷사랑

Re: $DISPLAY 변수 문의

 
안녕하십니까?
넷사랑컴퓨터 기술지원입니다.

우선 디스플레이 변수 DISPLAY에 대해서는 다음 글을 참고해 보세요.

Xmanager Knowledgebase : DISPLAY 변수의 의미

Xstart 세션이 실행 명령에 있는 $DISPLAY는 'echo $DISPLAY' 명령의 셸 변수 $DISPLAY와는 다릅니다.
Xstart 세션에서 $DISPLAY는 사용자 PC의 IP 주소와 디스플레이 번호를 자동으로 변환하여 리눅스의 셸에 전달합니다. 즉 Xmanager가 처리하는 값입니다.

PC의 IP 주소가 바뀌어도 자동으로 Xmanager가 그 값을 찾아서 전달하므로 실행 명령란의 $DISPLAY는 (IP 주소 등으로) 변경하지 않는 것이 좋습니다.

감사합니다.
2012-10-25 11:01 - 초보

Re: $DISPLAY 변수 문의

 
안녕하세요
답변 감사드립니다.

일단 제 경우는 Xstart의 RLOGIN으로 접속하고 있습니다.
커맨드 : /usr/bin/X11/xterm -ls -display $DISPLAY
(SSH나 telnet은 지원이 안되고 X11가 있을 때와 없을 때의 현상은 동일합니다.)

"연결 상태 창 보여주기"를 활성화 하고 실행을 하였을 경우
아래와 같이 나올 뿐 xterm이 실행되진 않습니다.
Last login: Wed Oct 24 16:37:23 from IP
[ID@SERVER /nas2/ID]

이 상태에서 Xrcmd 창에 아래와 같이 쳐주어야 xterm이 뜹니다.
setenv DISPLAY IP:0.0
xterm

위에 찍혀있는 Last login 부분은 이런 식으로 어제 접속한 로그입니다.
setenv의 과정 없이 바로 접속하기위한 방법 문의드립니다.

감사합니다.
2012-10-25 18:31 - 넷사랑

Re: $DISPLAY 변수 문의

 
겪고 계시는 문제는 DISPLAY의 설정의 문제가 아니고 RLOGIN으로 서버에 접속한 후
xterm 명령을 전달하지 못해 발생하는 문제입니다.

Xstart는 RLOGIN으로 로그인 과정을 마친 후 프롬프트 문자열을 찾습니다.
그 후 '실행 명령'란의 명령을 전달합니다. 이 때 $DISPLAY가 "사용자_PC의_IP주소:디스플레이_번호"로 변환되어 전달됩니다.

문제는 이 프롬프트 문자열을 찾지 못하는 상황입니다.

사용자마다 자신의 프롬프트 문자열을 만들어 사용하는 경우가 있습니다. 이 경우 Xstart에 프롬프트 문자열을 알 수 있도록 등록해야 합니다.

Xstart 프로그램 실행 -> 해당 세션 -> 고급 -> 프롬프트 -> 다음 문자열이 발견되면 셸 프롬프트로 인식

위에서 지금 사용하고 계시는 프롬프트 문자열 중 마지막 문자인 ']'을 추가합니다.

$|%|>|#|} => $|%|>|#|}|]

또는 '다음 시간 동안 기다린 후 셸 프롬프트가 나타난 것으로 인식'을 선택한 후 로그인이 마쳐지기까지의 시간을 감안하여 충분한 시간을 입력하신 후 사용해 보십시오.

감사합니다.
2012-10-26 07:56 - 초보

Re: $DISPLAY 변수 문의

 
답변 감사합니다.
명쾌하게 해결되었습니다!