exceed 프로그램의 대안으로 cygwin을 쓸수있나요?
글쓴이: ysch0i / 작성시간: 금, 2004/03/12 - 6:44오후
흠... 예전엔 exceed라는 프로그램을써서
제 컴퓨터(MS윈도우)에서 gnuplot등의 x프로그램을 띠었습니다.
그때 당시에는 제 컴퓨터에서 익시드 실행하고 리눅스 서버로 텔넷으로 들어가서 setenv DISPLAY IP주소:0.0 이렇게 치고나서
프로그램 실행시키면 그 창이 제 컴퓨터에서 창이 딱 떳거든요.?
사정상 익시드를 더이상 사용하지 못하게 되었는데요, cygwin을 깔면 같은 기능을 할수있는건지요?
나름대로 검색해봤는데, X에 대한 개념도 없고 알지못하는 xhost라는 프로그램은 또 뭔지...
cygwin깔아서 xhost + 리눅스서버아이피주소
이렇게 쳐야하는것 아닌가요? 이렇게 치니 unabe to open 제컴IP주소... 이런식으로 나오던데.
뭐가 뭔지 도무지 모르겠습니다. 어느 컴퓨터에서 어떤 명령인지 순서를 좀 알려주시면 감사하겠습니다.
ps. cygwin에서 X만 깔았습니다.
Forums:
putty 쓰세요.그냥 됩니다.대부분의 경우 X11 forward
putty 쓰세요.
그냥 됩니다.
대부분의 경우 X11 forwarding을 써야할 것입니다.
-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂
그... X11 포워딩 하는게 복잡한가요?
물론 putty에 대해서 많은 분들이 쓰시는건 알지만
이왕 사논 secureCRT를 놀리기도 그렇고 이게 오래쓰다 보니 또 편하구 그렇습니다.
그 X11포워딩인가?가 복잡하지 않으면 알려주시면 안될까요?
제가 xhost의 맨 패이지를 보고 이해하기로는
cygwin이 깔려있는 윈도우 아이피 주소는 A
리눅스 서버의 아이피 주소는 B라구 한다면
일단 제 컴퓨터에서 cygwin을 뛰우고
거기서 xhost + B(리눅스에서 제 컴퓨터로 창여는 것을 허락?)
하고 한다음에
리눅스 컴퓨터로 텔넷으로 들어가서
setenv DISPLAY A:0.0(리눅스 컴에 창을 뛰우지 말고 내 컴에서 뛰우도록)
이렇게 한다음에
xgraph aaa.txt이런식으로 하면 될것 같은데....
서명없어요.
방금 putty를 깔았는데...
HangulPuTTY 0.53b.h3를 깔았습니다.
putty를 이용해서 telnet 으로 리눅스 서버에 들어가서 DISPLAY설정해주고 뛰워보니깐 안되는데... 그냥 되는것 맞는가요?
서명없어요.
exceed 같은경우엔 Xserver 로 생각이 됩니다.putty
exceed 같은경우엔 Xserver 로 생각이 됩니다.
putty 는 X11 forward만이 되지 Xserver 기능은 없습니다.
넷사랑컴퓨터인가에서 나온 Xserver ( 이름이 맞는지 모르겠음;;; )를 까시는것도 같은 기능입니다.
------------------------------------------------------------------------------------------------
Life is in 다즐링
xmanager를 말씀하시는것 같은데....
그거 상용이라서...
사용하기에 문제가 있습니다.
cygwin에서 기초?X윈도우가 뜨는걸 보면
cygwin으로도 되는것 같긴한데... 방법을 찾지 못하겠습니다.
어떤분 올려주신 bat파일이 있긴 한데 그대로 복사해다가 실행하니 오류가 나는군요...
서명없어요.
cygwin X 서버와 exceed, Xmanager 는 모두 다 비슷한
cygwin X 서버와 exceed, Xmanager 는 모두 다 비슷한 프로그램입니다. cygwin의 X서버로 필요한 일을 모두 하실 수 있을 것 같군요.
저도 그렇게 추측은 갑니다만... 도데체 "어떤"명령을 주어야 하는건지요
저도 그렇게 추측은 갑니다만... 도데체 "어떤"명령을 주어야 하는건지요?
man페이지를 보고
위에서 질문드린것처럼 명령을 하면 어떤게 잘못된것인지요?
혹시 cygwin에서 XServer를 따로 무슨 백그라운드?처럼 뛰어야 되는건가요?
서명없어요.
Re: 그... X11 포워딩 하는게 복잡한가요?
XWin.exe를 안띄우신거 아닌가요?
putty 설정창의 트리뷰에서 connection>ssh를 선택하면 enable X11 forwarding이 있습니다.
그리고, \cygwin\usr\X11R6\bin\statxwin.bat 를 사용하면 XWin을 쉽게 띄울 수 있습니다. 열어서 내용을 좀 보시면 윈도우 형태 바꾸는 것도 쉽게 가능합니다.
-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂
와우 해결되었습니다 감사합니다 ^^
음... 아까
http://ropas.kaist.ac.kr/~bum/Cygwin.html
이 사이트를 참조하라는 글... 그리고
startxwin.bat파일을 말씀하시는걸 듣고 해봤더니 되는군요!
제가 잊어먹을까봐 혹시 그리고 저처럼 처음 접하는 분들깨 도움이되라고 초간단이지만 적어보면...
위의 URL은 사실 제가 이해를 잘 못하겠었습니다.
(폰트 경로라든지 그런것들 말입니다.)
암튼 잘 몰라도
C:\cygwin\usr\X11R6\bin\startxwin.bat
실항하면 bash창이 뜨는데요
거기다가
xhost 123.123.123.100
이렇게 리눅스 서버 아이피 주소 더해주시고
리눅스 서버로 어떤프로그램이든지 텔넷으로 들어가셔서
setenv DISPLAY 123.123.123.123:0.0
이렇게 사용하는 컴퓨터 IP넣어주신후 xgraph같은것 실행하면 잘됩니다.
답변 주신 그리고 관심 가져주신 분들깨 감사드립니다.
이제 돈 걱정 라이센스 걱정안하고 쓸수있어서 마음이 편합니다 =)
서명없어요.
저쪽 리눅스 서버에 ssh나 telnet으로 들어가서 매번 DISPLAY
저쪽 리눅스 서버에 ssh나 telnet으로 들어가서 매번 DISPLAY 환경변수 설정하는 것도 사실 좀 귀찮습니다... 게다가 윈도우즈 컴퓨터가 아이피공유기 뒤에 있으면 DISPLAY 환경변수 설정으로는 저쪽 리눅스 서버의 엑스 어플들의 디스플레이를 이쪽으로 당겨 쓰기도 힘들구요. 이런 경우 제일 편한 방법은
1. 저쪽 리눅스 서버에 들어갑니다.
2. 수퍼유저로 변신한다음.. X11 forwarding 옵션을 sshd 설정에 추가합니다. 즉, /etc/ssh/sshd_config (혹은 /etc/sshd_config) 파일에
X11Forwarding yes
옵션을 추가합니다.
이렇게 하고 나면 윈도우즈 컴퓨터에서 우선 startxwin.bat로 엑스 서버를 띄운 다음 ssh로 저쪽 리눅스 서버로 접속하면 그 다음부터는 DISPLAY 환경변수 설정을 안해줘도 알아서 리눅스 서버 엑스 어플의 디스플레이가 윈도우즈 컴퓨터쪽으로 담겨집니다.
cygwin에 포함된 XFree86의 문제는 이것이 좀 많이 느리다는 것이지요. 무난하게 쓰기에는 Xmanager만한 솔루션이 없는 것 같습니다. 평가판 기한 제한이 있기는 하지만 필요할 때마다 잠깐씩 깔아 써도 되고.... 참고로 하세요.
"I conduct to live,
I live to compose."
--- Gustav Mahler
다들 아시는 얘기지만... 질문하신 분이 엑스 서버와 클라이언트 구분이
다들 아시는 얘기지만... 질문하신 분이 엑스 서버와 클라이언트 구분이 잘 안되시는 것 같아서 몇자 붙여봅니다.
우선, 리눅스 서버와 윈도우즈 컴퓨터는 아래와 같이 구성되어 있지요. 일반적인 느낌으로는 윈도우즈 컴퓨터가 클라이언트로 생각이 됩니다. 리눅스 서버는 서버구요.
그런데 여기서 엑스 어플.... 정확히 말하면 엑스 클라이언트는 동작하기 위해서 디스플레이 서비스가 필요합니다. 이 서비스를 제공해 주는 것은 엑스 서버이구요. 따라서 엑스 서버와 엑스 클라이언트를 위의 그림에 같이 덧씌워서 그려보면 다음 모양이 되지요.
주의해서 보아야 할 점이 클라이언트로 느껴지는 윈도우즈 컴퓨터가 엑스의 관점에서는 엑스 "서버" 역할을 하고 있고, 서버로 보이는 리눅스 서버에서는 사실상 엑스 "클라이언트"가 돌아가고 있습니다.
여기서 클라이언트-서버 개념을 한번 더 생각해보지요. 간단하게 말하면, 클라이언트- 서버는 서비스의 개념으로 파악할 수 있습니다. 서비스를 "제공" 하는 시스템은 서버가 되는 것이고 서비스를 "이용"하는 시스템은 클라이언트가 되는 것이지요. 웹 서비스를 제공하는 시스템은 웹 서버가 되고 웹 서버가 제공하는 서비스를 이용하는 시스템은 웹 클라이언트가 됩니다. 따라서 웹 브라우저에 자주 웹 클라이언트라는 단어가 잘 붙는 것이구요. 주지하다시피, 클라이언트와 서버는 분리 가능합니다.
즉, 위 그림에서는 윈도우즈 컴퓨터의 eXceed나 Xmanager, cygwin의 XFree86은 모두 "엑스 디스플레이 서비스"를 제공하는 엑스 서버입니다. 그리고 리눅스 컴퓨터에는 엑스 클라이언트들이 들어가 있구요. 엑스 클라이언트들은 제대로 동작하기 위해 엑스 서버의 디스플레이 서비스를 받을 필요가 있습니다.
클라이언트와 서버의 관점에서 위의 명령들을 하나하나 이해해보죠. 우선... 대전제가 사용자는 윈도우즈 컴퓨터 앞에 앉아 있다는 겁니다.
1. 우선 엑스 서버를 띄워서 엑스 디스플레이 서비스를 시작해야겠죠. cygwin의 XFree86을 startxwin.bat로 실행하고 나면 엑스 서버가 작동합니다.
2. 그 다음, xhost [리눅스 컴퓨터 아이피] 명령은 "서버"에게 내리는 명령입니다. 엑스 서버는 xhost 명령을 받으면 해당 아이피에서 들어오는 엑스 디스플레이 서비스 요청을 거부하지 않고 받아들이게 됩니다. 굳이 xhost 명령을 만들어 놓은 이유는 보안 때문에 그렇습니다.
3. 그 다음, telnet이나 ssh로 리눅스 컴퓨터에 들어갑니다. 이제 사용자는 원격으로 엑스 클라이언트 컴퓨터에 들어가 있는 것이죠.
4. setenv DISPLAY xx.xxx.xx.xx.:0 명령은 엑스 "클라이언트"에게 가는 명령입니다. 아이피 주소는 당연히 "서버"인 윈도우즈 컴퓨터 아이피가 되겠죠. 이 명령을 내리는 이유는 이제부터 리눅서 컴퓨터에서 실행되는 엑스 클라이언트들이 어디로 가야 엑스 디스플레이 서비스를 받을 수 있는지 가르쳐 주기 위해서입니다.
5. 엑스 클라이언트를 실행시킵니다. (xterm이나 xgraph같은...) 그러면 이 엑스 클라이언트들은 DISPLAY 환경변수를 보고 윈도우즈 컴퓨터 아이피로 디스플레이 서비스 요청을 보내고... 서비스 요청을 받은 윈도우즈 컴퓨터쪽 엑스 서버는 엑스 클라이언트가 그려내는 모습을 엑스 서버가 위치한 윈도우즈 컴퓨터 화면에 그려냅니다. 사용자의 입장에서는 저쪽 리눅스 컴의 어플의 디스플레이를 이쪽으로 끌어다 쓰는 느낌이 들게 되겠지요. 어쨌든, 여기서 중요한 것은 사용자가 쓰는 컴퓨터에 일반적인 상식과는 달리 엑스 "서버"가 돌고 있다는 사실입니다. 이것이 사람을 헛갈리게 만드는 것이죠.
6. 여기서 sshd_config의 X11Forwarding은 ssh와 리눅스 컴쪽의 sshd가 접속할 때 알아서 DISPLAY 정보를 윈도우즈 컴쪽에서 리눅스 컴쪽으로 넘겨 줍니다. 그리고 양쪽 엑스 클라이언트-서버 사이의 통신을 모두 ssh 연결을 이용해서 처리합니다. 암호화까지 알아서 해 주니 보안의 측면에서도 참 편리한 셈이죠.
이상입니다. 의외로 클라이언트-서버 모델이 쓰면서도 한번씩 헛갈릴때가 많은 것 같아서 한번 길게 늘여 써 봤습니다.
"I conduct to live,
I live to compose."
--- Gustav Mahler
댓글 달기