maczoo.com maczoo.com
매킨토시 사용자 커뮤니티
 
 FAQFAQ    검 색 검 색    회원목록회원목록   유저그룹유저그룹   회원가입회원가입 
 개인정보/환경설정개인정보/환경설정   쪽지 함 확인쪽지 함 확인    로그 인 로그 인  

[OS X] X windows with Solaris and Mac OS X through ssh

 
새 주제글을 작성합니다.   답변글을 작성합니다.    maczoo.com -> Tips & 사용기
이전 글 :: 다음 글  
글쓴이 메세지 내용
ElectronicNomad
the Lord of maczoo
the Lord of maczoo


가입일: 2002년 11월 21일
토론: 1411
사는 곳: a corner of the network

작성글Posted : 화 7 20, 2004 4:19 pm    제목: [OS X] X windows with Solaris and Mac OS X through ssh

제가 속한 한 그룹에서 오고간 토론 중에 발의한 사람의 정리입니다.
궁금하신 분이 있을까 싶지만, ... 아무튼!
---


Background: The CDE session manager on Solaris would not display on Mac
OS X using ssh... only individual X apps worked. Many thanks to Bill Cole,
who came up with the solution, and others who had helpful suggestions.
Many others were interested in the solution.

It's not perfect -- font problems, window resize and window moving is ugly --
but good enough for me. Turns out it was a Mac issue, and here's the
executive summary:
--------------------------------------------------------------------------------
My-Mac % export DISPLAY=:0.0
My-Mac % /usr/X11R6/bin/Xquartz -xinerama&
My-Mac % ssh -X remote-host
remote-host % Xsession&

Here's the solution from Bill, complete with his explanation:
--------------------------------------------------------------------------------
It doesn't 'just work' because the MacOS X X11 application rolls together an
X server called Xquartz and a window manager called 'quartz-wm' that is
tightly integrated to the MacOS native desktop. Xsession can toss the splash
screen (aka 'dthello') and start to set up the normal CDE environment, but
when it come time for the key piece it fails: dtwm chokes.

The choke is on two levels. First, on a single-screen Mac (and maybe on
multi-screen ones as well, but I can't test...) the Xquartz server is
started without Xinerama support, but dtwm can't be made (as far as I've
been able to find) to not try to use the Xinerama extensions. On top of
that, window managers are special and NO window manager will take over a Mac
running the normal X11 application because that includes quartz-wm.

The solution is not for the command-line-phobic, but is pretty simple once
you waste an afternoon working it out. The following all presumes a
Bourne-like default shell, and on Panther that will be bash for most
users...

Open up a terminal window on the Mac, and start Xquartz yourself with
Xinerama support:

DISPLAY=:0.0
export DISPLAY
/usr/X11R6/bin/Xquartz -xinerama

Xquartz should answer with a happy bit of diagnostic:

XFree86 Version 4.3.0 / X Window System
(protocol Version 11, revision 0, vendor release 6600)
[DRI] screen 0 installation complete
Screen 0 added: 1056x770 @ (0,22)
Screen 0 placed at X11 coordinate (0,0).

The user can then minimize that terminal window and use another to do the
normal ssh -X and run Xsession on the Solaris box. To kill Xquartz, the user
can just ^C in that terminal window. Xquartz will also put an icon into the
dock, and clicking on it will switch the user into the X screen. Switching
back out of the X screen requires that Apple's 'Expose' is turned on, making
the various screen corners do wild things with windows that give the user
something to click on that isn't part of the dtwm root.

Since I've just worked this out this afternoon, I don't know if it is safe
to background/nohup/detach Xquartz so that it acts like a daemon, but I
expect that would pose few problems.
--------------------------------------------------------------------------------
Here's the original message:
--------------------------------------------------------------------------------
Don't know if this is a Solaris or Mac OS X issue, but the error message
is showing up on Solaris (ya gotta love integration problems)....

A user on my Solaris 8 system has a Macintosh on their desk running 10.3.4.
He starts X11 on his Mac, and successfully connects to Solaris through
xterm using 'ssh -X'. The DISPLAY is correct (like localhost:11.0), and he
can successfully run individual X applications that display on his Mac. So
far, so good.

However, he can't run the whole session manager. When he tries running
/usr/dt/bin/dtsession, he receives the following error:

X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 128 (XINERAMA)
Minor opcode of failed request: 2 (XINERAMAGetScreenCount)
Resource id in failed request: 0x0
Serial number of failed request: 116
Current serial number in output stream: 116

When he tries running /usr/dt/bin/Xsession, he sees:
Starting the
Common Desktop Environment
CDE Version 1.4

with the Solaris welcome splashpage and an hourglass. This splash page stays
up for four minutes, then disappears.

Miscellany: I can replicate all of this on another Mac, whether or not I'm using
full screen mode in Mac X11. The version of OpenSSH is 3.7.1p1 on the Solaris box.
This kind of thing works just fine under Windows (using SecureCRT for X forwarding
and an X Server).

If anyone has gotten Mac OS X to run the session manager on Solaris in this way,
or has any suggestions, please let me know. I'll definately post a summary for
future googlers.

-- Jim
_________________
my corner of the network | qur animation studio | qur's red stories
맨 위로 가기
santa
the Lord of maczoo
the Lord of maczoo


가입일: 2002년 08월 14일
토론: 4180
사는 곳: store

작성글Posted : 화 7 20, 2004 5:16 pm    제목:

번역해주세요....


^^;;;
맨 위로 가기
thethinker
familiarity
familiarity


가입일: 2002년 12월 31일
토론: 43
사는 곳: 악의 축

작성글Posted : 화 7 20, 2004 8:03 pm    제목:

날림 번역했어요. 헤헤...


전재: 맥 OS 탠에서 솔라리스의 그 CDE 세션 매니저가 씨큐어 셀에서 보여지지가 않는데.. 이게 단독적인 텐 프로그램 에서는 됐었어~. 해결책을 찻아넨 빌 꼴 한테 열라 고마워, 그리고 도움이되는 제안을 해준 다른 모든 아그들에게 도. 열라많은 이들이 해결책에대해 관심을 가져줬어.

이게 완벽한게 아냐, --활자문제, 창 크기조절과 창의 이동이 모<ㅈ> 같에-- 그러나 내가보기엔 괜찮다고봐. 이게 알고보니 맥의 문제였어, 그리고 여기에 실행 가능한 요약이 있지.

--------------------------------------------------------------------------------
My-Mac % export DISPLAY=:0.0
My-Mac % /usr/X11R6/bin/Xquartz -xinerama&
My-Mac % ssh -X remote-host
remote-host % Xsession&

이게 빌이 준 해결책과, 그녀석의 종합적인 설명이지:
--------------------------------------------------------------------------------

이게 그냥 돼는게 아냐, 왜냐면 그 맥 OS 텐 X11 프로그램이 같이 돌지, 액스콰즈라불리는 탠 서버와 '콰즈-wm' 이라 불리는 창관리자가 맥오에스 본래의 데스크탑과 열라 긴밀하게 관련되서 말이지. 액스세션은 'dthello'라고도 불리는 시작화면을 뿌림과 CDE 환경설정을 시작 할수있지만, 이게 중요한 단계에만 가면은 실패하지: dtwm 채함.

이 막히는게 두가지 단계야. 첫째, 화면 하나의 맥에서 (어쩌면 다중화면에서도, 근데 난 이겔 시험해볼수 없었어...) 그 액스콰즈 서버가 엑스 이너라마 익스텐션의 도움 없이 시작을 하는데, dtwm은 (내가 찻은 한도에서) 액스이너라마 익스텐션을 시험하지 못하도록 만들수가없어. 이상태에서, 창관리자들이 특별하지, 그리고 어떤 창관리자도 맥이돌리는 기본 X11 프로그램을 대치할수가 없어, 이유는 거기에 콰즈-wm이 포함되어 있기때문이야.

그 해결책은 커맨드라인의 공포가이 아니고, 열라 간단해 어느 하루 날잡아서 작동되도록 오후를 날려버리면. 다음은 기본 본쉘같은 영역이지, 이게 펜서를 사용하는 대부분의 사용자들을 떠들석 하게 할꺼야...

맥의 터미널 창을 여시게, 그리고 Xquartz를 시작하시게 Xinerama 서포트와 함께:


DISPLAY=:0.0
export DISPLAY
/usr/X11R6/bin/Xquartz -xinerama

Xquartz가 진단결과가 행복하다고 대답혀야겠지:

XFree86 Version 4.3.0 / X Window System
(protocol Version 11, revision 0, vendor release 6600)
[DRI] screen 0 installation complete
Screen 0 added: 1056x770 @ (0,22)
Screen 0 placed at X11 coordinate (0,0).

사용자가 그 터미널 창을 최소화하고 다른 창을 열어 정상적인 ssh -X 와 솔라리스 상자에 있는 Xsession을 돌리도록해. Xquartz를 죽이려면, 사용자는 그냥 ^C를 그 터미널 창에서 하면되지. Xquartz가 또한 독에다가 아이콘을 끼워넣지, 그리고 이걸 클릭하면 액스 스크린에 있는 사용자로 넘어가지. 액스 스크린에서 빠져나오기 위해선 애플의 '익스포제'의 활성화가 필요해, 여러창을 보여주는것같은 희안한 짓은 사용자들에게 dtwm 루트의 일부가아닌 다른것을 클릭할수있게해.

여지껏한게, 오늘 오후 내가 해본거기때문에, 이게 데몬과같이 background/nohup/detach Xquartz 하기에 안전한지 난 몰라, 그래서 난 몇가지 문제가 나오기를 기대하고 있어.

--------------------------------------------------------------------------------
여기에 원본 메세지가있어:
--------------------------------------------------------------------------------

이게 솔라리스 문젠지, 맥 오에스텐의 문젠진 모르겠지만, 오류메세지가 솔라리스에서 나와 (그려 통합<호환> 문제를 사랑혀야겠지)......

내 솔라리스 8 시스템의 한 사용자가 10.3.4의 맥을 돌려. 걔가 X11을 개맥에서 시작을 해, 그리고 성공적으로 솔라리스에 연결이 되걸랑 액스텀과 'ssh -X'를 사용해서. 그 디스플레이가 맛아 (localhost:11.0 같이), 그리고 그녀석 이 성공적으로 독자적인 X프로그램을 돌려 그놈의 맥에서. 여기까진 좋아.

그러나, 그놈은 세션매니저 전채를 돌리지 못해. 그놈이 /usr/dt/bin/dtsession를 돌릴려고하면 개는 다음과같은 에러 메세지를 받는다더군:

X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 128 (XINERAMA)
Minor opcode of failed request: 2 (XINERAMAGetScreenCount)
Resource id in failed request: 0x0
Serial number of failed request: 116
Current serial number in output stream: 116

그놈이 /usr/dt/bin/Xsession를 돌려볼라면 놈은 이런걸 본데:
Starting the
Common Desktop Environment
CDE Version 1.4

솔라리스 환영 시작화면과 함께 그리고 모래시개도. 시작화면이 4분정도 있다가 사라진다.

글: 내가 이 모든 상황을 다른 맥에서 재현할수있어, 맥 X11으로 전채화면을 사용하든 않하든. OpenSSH의 버전은 3.7.1p1야 솔라리스에서. 이딴건 윈도우에선 잘돼 (X forwarding과 an X Server를 위한 SecureCRT를 사용해서 ).

만약 아무나 맥 오에스 텐을 가지고 세션매니저를 솔라리스에서 이방법으로 돌리거나 어떤 제한 할께있으면, 제발 좀 나에게 알려줘. 내가 미래의 구글 사용자를 위해 정말 반듯이 요약을 해서 올릴께.

--짐
맨 위로 가기
이전 게시물보기:   
이전 글 :: 다음 글  
새 주제글을 작성합니다.   답변글을 작성합니다.    maczoo.com -> Tips & 사용기 모든 시간은 GMT + 9시로 출력됩니다.
페이지 : 1/1

 
이동:  
당신은 이 포럼에서 새글을 게시할 수 없습니다
당신은 이 포럼에서 답글을 게시할 수 없습니다
당신은 이 포럼에서 본인의 게시물을 수정할 수 없습니다
당신은 이 포럼에서 본인의 게시물을 삭제할 수 없습니다
당신은 이 포럼에서 투표를할 수 없습니다


Powered by phpBB 2.0.6 © 2001-2003 phpBB Group