xterm으로 외부에서 접속시 프로그램 실행하면 화면이 안떠요. [3]

xterm으로 외부에서 접속시 프로그램 실행하면 화면이 안떠요.

2009-09-02 16:56 - 임태호

linux 서버 A, B가 있습니다.
그리고 고정아이피 한개가 있습니다.

고정아이피(222.xxx.xxx.xxx)를 공유기사용해서 PC(192.168.10.2~9)와 서버 A(192.168.10.10),B(192.168.10.11)를 사용중인데요,
공유기 DMZ 설정을 통해서 고정아이피를 서버 A로 설정하여 집이나 외부에서 xstart를 사용하여 접속하고 사용하려고 합니다.

그런데 외부에서 서버 A로 접속하면 아무 문제 없는데,
서버 A로 접속한후 telnet 으로 서버 B에 접속하여
프로그램을 실행하면 화면이 뜨질 않습니다.

과거에 이러한 문제를 xhost +, setenv DISPLAY ...이런것들로 해결했던거 같은데.. 잘 안되네요.

왜 이런문제가 발생하는지와 어떻게 해결 해야 되는지 방법좀 갈켜주세요ㅜㅜ

PS: 같은 공유기에 물려 있는 즉 같은 네트워크에 있는 PC로 xstart를 사용하여 서버 A에 접속하여 telnet으로 서버 B에 접속하여 작업하면 아무 문제 없습니다.
그러나 네트워크를 벗어나, 외부로 벗어나 접속하면 이와 같은 문제가 발생합니다.ㅜㅜ

제품명 : Xmanager 3.0
연결 방법 : Xstart connection


Re: xterm으로 외부에서 접속시 프로그램 실행하면 화면이 안떠요.

2009-09-02 18:16 - 넷사랑

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

우선 문제 상황에 대한 자세한 설명에 감사드립니다.

외부의 PC에서 DMZ으로 설정한 서버A의 X응용프로그램을 실행시킬 수 있느냐의 문제가 중요한 것 같습니다. Xmanager는 X응용프로그램을 위한 그래픽 디스플레이 서버로서 Xserver라고 합니다. 즉 서버에 해당하는 프로그램입니다.
따라서 서버A에서 외부의 PC로 TCP 6000번(상황에 따라서 6000번 이상)을 통해서 통신이 이루어져야 합니다. 그런 환경이어야만 서버B의 X응용프로그램이 실행될 수 있습니다.
단순히 외부의 PC에서 서버A로 텔넷 등의 통신이 이루어진 것만으로는 외부의 PC 환경에 부족한 부분이 있을 수 있다는 것입니다.

다음과 같이 해 보시기 바랍니다.

1. Xstart에서 서버A의 Xterm을 실행시킵니다.(이게 실행되지 않는다면 외부의 PC의 네트워크 환경에 방화벽, 사설망 구성 등 장애요소가 있는 것입니다.)
2. 위의 xterm에서 'echo $DISPLAY' 명령을 실행시켜 나온 결과값을 기억해 놓습니다.(ex. xxx.xxx.xxx.xxx:0)
3. telnet으로 서버B에 접속합니다.
4. 'echo $DISPLAY' 명령을 실해하여 결과값이 나오지 않거나 위 2의 결과와 같지 않다면 다음 명령으로 DISPLAY 값을 위 2와 같게 합니다.
DISPLAY=xxx.xxx.xxx.xxx:0; export DISPLAY
셸이 csh 계열이라면
setenv DISPLAY xxx.xxx.xxx.xxx:0
5. 사용하고자 하는 X응용프로그램을 실행합니다.

또는 사용하고 있는 서버A와 서버B에 SSH 프로토콜을 사용하여 접속할 수 있다면 이어지는 SSH 접속으로 이런 문제를 해결할 수 있습니다.

1. Xstart에서 SSH 프로토콜을 통하여 서버A의 xterm 실행
2. 위의 xterm에서 서버B에 telnet이 아닌 ssh를 통한 접속(-X 옵션을 사용합니다.)
ssh -X 서버B
3. 서버B에서 원하는 X응용프로그램 실행


문제가 해결되지 않아 다시 문의하시고자 한다면,
- 외부의 PC 환경에 대한 내용과
- Xmanager 로그
- 그리고 각 단계별로 나온 에러 메시지 등을 보내 주시기 바랍니다.

감사합니다.


Re: xterm으로 외부에서 접속시 프로그램 실행하면 화면이 안떠요.

2009-09-02 18:50 - 임태호

외부의 PC에서 DMZ으로 설정한 서버A의 X응용프로그램은 잘 실행 됩니다.
그러나 1~5와 같은 방법으로 하였으나 실행은 되나 display가 되지를 않아요ㅜㅜ (실행된것은 top으로 process확인할수 있거든요~)

그런데 setenv 로 ip 설정하는 부분에서, 'echo $DISPLAY' 로 하면 가상아이피(192.168.10.3:0.0)로 나오는데 괜찮은가요??
192.168.10.3 이 ip는 xstart 실행한 제 pc입니다.
제 소견으로는 이 가상ip는 같은 공유기 아래에서만 유효하지,외부로 나가면 소용이 없지 않을까요??


그리고 ssh는 깔려 있지를 않아서 해보지 않았습니다.
ssh외에는 telnet으로는 방법이 없는지요??


Re: xterm으로 외부에서 접속시 프로그램 실행하면 화면이 안떠요.

2009-09-03 10:49 - 넷사랑

서버A의 X응용프로그램을 외부의 PC에서 구동할 수 있다면 서버A와 같은 네트워크 위상에 있는 다른 장비의 X응용프로그램도 telnet 접속을 통해 구동시킬 수 있습니다.

서버A에 접속한 사용자의 시작스크립트(에 DISPLAY를 강제로 설정하는 부분이 있는지 확인해 보시기 바랍니다. DISPLAY는 접속지의 주소로 자동 설정하게 되어 있으나 가끔 강제로 설정하는 경우가 있습니다. C셸을 쓰시니 .cshrc, .login을 확인하여 이런 부분이 있으면 삭제하셔야 합니다.

서버A에서 echo $DISPLAY 명령을 실행했을 경우 외부 PC의 IP 주소가 나와야 합니다.

문제가 해결되지 않아 다시 문의 하시고자 한다면 다음 정보를 꼭 확인해 주세요.

1. 외부의 PC 환경에 대한 내용 : 방화벽의 유무, 공유기 같은 사설망 환경 유무. IP 주소를 알려 주시면 도움이 됩니다.(IP 주소부의 세자리 숫자 중 최소한 앞 2개 정도)
2. Xmanager 로그 : /forum/xmanager/10646/Xmanager_로그_파일_얻는_방법
3. 서버A에서 내린 echo $DISPLAY 명령의 결과가 192.168.10.3:0.0라면 서버A의 X응용프로그램도 구동이 될 수 없습니다. 실행이 된다니 의문입니다. 192.168.10.3 IP 주소가 외부의 PC IP 주소인지 확인해 주세요.

감사합니다.


이전 조회수: 224