cygwin/x의 용량의 압승 ㅆㅂ
cygwin/x의 완벽성 압승 ?


예전에 정리 해놓은줄 알았는데 없길래 다시 정리.
Xming에서 특정 openGL이 제대로 안되서 부랴부랴 다시 찾는데
opengl의 advanced 소스중 일부가 아래와 같은 오류를 발생하며 실행되지 않는 문제가 있다.
이경우에는 cygwin/x로 하면 문제없이 해결된다.
(하지면 용량이 200메가에 ftp.daum.net은 폐쇄되었는지 안되고 -_- 결론은 받는데 한참걸림)

$ gcc -lglut -lGLU accumaa.c
$ ./a.out
freeglut (./a.out):  ERROR:  Internal error <FBConfig with necessary capabilities not found> in function fgOpenWindow
X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  4 (X_DestroyWindow)
  Resource id in failed request:  0x0
  Serial number of failed request:  21
  Current serial number in output stream:  24 

[링크 : http://www.opengl.org/resources/code/samples/glut_examples/advanced/advanced.html ]

'프로그램 사용 > cygwin & Xming' 카테고리의 다른 글

cygwin bash 쉘 시작 위치 지정하기  (0) 2015.12.02
Xwin DISPLAY 고찰(?)  (0) 2015.08.13
Cygwin/X 추려내기 - ing  (0) 2011.09.10
Xming 신버전은 유료?  (0) 2011.09.09
xming + opengl + ssh  (0) 2011.09.08
Posted by 구차니

현재 sourceforge 상의 최신버전은 6.9.0.31 버전이고
font server 쪽으로는 신버전이 올라오고 있으며


2011년 8월 6일 릴리즈로는 7.5.0.39가 최신버전이다.
아무튼 신버전들은 donate 이후 id를 받아서 다운로드 받아야 한다 ㅠ.ㅠ

[링크 : http://www.straightrunning.com/XmingNotes/]

[링크 : http://www.straightrunning.com/XmingNotes/release2.php]


몇 버전부터 지원하는건진 모르겠지만 7.5.0.8 버전에서는 -wgl 옵션을 지원한다.
6.9.0.31 버전에서 -wgl을 넣으니 없는 옵션이라고 배쨈 ㅠ.ㅠ
If Xming's native Windows WGL interface for accelerated OpenGL (-wgl option from 7.5.0.8) doesn't work with a program then you can switch on various diagnostic output. Start Xming with special environment variables set 

[링크 : http://www.straightrunning.com/XmingNotes/trouble.php#head-19]  

아래 블로 링크에서 예제 파일을 받아 해보니 음.. 에러 숫자가 달라졌지만 아무튼
블로그에서 처럼 뜨질 않는데 무슨 차이일려나...
Expose event
X Error of failed request:  BadRequest (invalid request code or no such operation)
  Major opcode of failed request:  143 (GLX)
  Minor opcode of failed request:  182 ()
  Serial number of failed request:  33
  Current serial number in output stream:  41

[링크 : http://cloudlucifer.tistory.com/tag/xming
Posted by 구차니
X Window system은 X Server와 X client로 나누어진다.
X server는 출력을 담당하는 프로그램으로, 키보드 / 마우스 등의 입력을 받아들이며
X client는 X용 프로그램이다.
이런 분리구조로 인해 서버에서 X Server 가 구동되어 있지 않아도, 원격지에서 X server가 구동중이면
서버측의 X client의 출력을 로컬로 끌어올수 있다.



X를 죽이고 나서 Xming으로 gedit을 실행했더니 이상없이 구동된다.
그리고 KDE용 프로그램인 konsole 역시 이상없이 구동된다.
(우분투에서 X죽이는건 다음글 참조)
2010/08/23 - [Linux/Ubuntu] - ubuntu 에서 X window 종료시키기




'프로그램 사용 > cygwin & Xming' 카테고리의 다른 글

Xming 신버전은 유료?  (0) 2011.09.09
xming + opengl + ssh  (0) 2011.09.08
Xming (Cygwin/X) 를 통해 프로그램이 구동되지 않을경우  (0) 2010.03.25
Xming과 VNC 동시사용 불가?  (0) 2009.05.28
Xming --help  (0) 2009.05.19
Posted by 구차니
아래와 같이 localhost:6010에 대한 주소를 받아오지 못한다고 에러가 나면
/etc/hosts 파일이 존재하는지 확인을 해야한다.

$ gedit
_X11TransSocketINETConnect() can't get address for localhost:6010: Name or service not known
cannot open display:
Run 'gedit --help' to see a full list of available command line options.

파일이 존재한다 하더라도, 내용이 없다면 내용을 추가해준다.
$ cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
::1     localhost.localdomain   localhost

Posted by 구차니
포터블 우분투를 실행하면 Xming을 구동하여 사용하는데 옵션이 특이해서
도움말을 찾아보게 되었다.

portable_ubuntu.conf 파일의 내용
kernel=vmlinux
cobd0=images\rootfs.img
cobd3="D:\Documents and Settings\czw5hv\Application Data\Windux\images\root.img"
cofs0=config
cofs1=c:\ #Para tener acceso a la unidad C:
#cofs1=otra_unidad:\ #Si se necesita tener acceso a otras unidades?ej: d:\
#scsi0=cdrom,\Device\Cdrom0 # Para tener acceso al CDROM de la PC
root=/dev/cobd0
ro
initrd=initrd.gz
mem=256
eth0=slirp,00:ff:75:39:D3:C1,tcp:22:22
exec0="Xming\Xming.exe :0 -notrayicon +bs -wm -auth Xauthority -clipboard -multiwindow -dpi 100"
exec1=pulseaudio-0.9.6\pulseaudio.exe # Ejecuta al servidor Pulse Audio para Windows


+bs                    enable any backing store support
-wm                    WhenMapped default backing-store

위의 옵션들에 backing store라는 내용이 들어간다.
이곳저것 검색을 해봐도 딱히 시원한 대답은 없었지만, 검색 내용중 윈도우 내용이 복구 안될 경우
backing store를 X11에 설정한다는 내용이 발견되었다. 아마 clipping 영역 복구가 제대로 되지 않을 때,
강제로 복구 하도록 하는 옵션인거 같기도 하고.. 용어 내용만 봤을 경우 일종의 캐시 구조인거 같기도하고..

(고속일 수록 가격이 비싸고, 저속일수록 가격이 싸다. 단위용량당 가격적인 면에서
레지스터 > 캐쉬 > 메모리(DRAM) > HDD > ODD > TAPE 등의 순서를 피라미드식으로 이루게 되는데
memory hierarchy 라고 한다.)

Unfortunately some XFree86 drivers are buggy, and when you render an accelerated primitive which overlaps an area which is not visible to the user, the driver fails to update the backing store (it only draws the clipped primitive using accelarated functions and does not complete the job by calling the software renderer to update the backing store.)
[출처 : http://www.ibiblio.org/ggicore/documentation/libggi/current/display-x.7.html]


Posted by 구차니
Putty를 사용한 SSH X11 Forwarding은 상당히 유용하지만,
Gnome이나 KDE 같은 윈도우 매니저를 한번에 끌어 올때에는 아름답지 못한 결과를 보여준다.

기본 실행옵션인 -multiwindow로 gnome-session을 실행한 결과

Xming이나 cygwin/X의 경우 기본 실행 옵션이 -multiwindow로 실행되기 때문에
위와 같이 각 윈도우 별로 MS windows(TM)의 윈도우창이 붙게 된다. 그런 이유로 상단의 흰 줄은
Gnome Panel이 떠야 함에도 불구하고 제대로 뜨지 못하는 문제를 보여준다.
그리고 작업표시줄에도 윈도우 별로 별도의 창들이 떠있음을 볼 수 있다.

이를 해결 하기 위해서는
Xwindow 구동 방식옵션을 바꾸어 주어야 하는데,
옵션을 살펴보면 아래와 같이 -multiwindow 외에 -fullscreen 이라는 녀석이 존재한다.

XWin.exe
[-help]
[-clipboard [-nounicodeclipboard] ]
[-clipupdates clip_updates_above_n ]
[-emulate3buttons timeout_in_milliseconds ]
[-engine engine_number ]
[-fullscreen [-depth depth_in_bits_per_pixel ] [-refresh refresh_rate_in_herz ] ]
[-ignoreinput]
[-lesspointer]
[-multiwindow]
[-multimonitors]
[-nodecoration]
[-rootless]
[-screen screen_number width height ...]
[-scrollbars]
[-[no]trayicon]
[-[no]unixkill]
[-[no]winkill]
[-[no]keyhook]
[-swcursor]
[-xkbrules XKBRules ]
[-xkbmodel XKBModel ]
[-xkblayout XKBLayout ]
[-xkbvariant XKBVariant ]
[-xkboptions XKBOptions ]
[-logfile path_to_logfile ]
[-logverbose verbosity_level ]


[-fullscreen [-depth depth_in_bits_per_pixel ] [-refresh refresh_rate_in_herz ] ]
● The -fullscreen parameter tells Cygwin/X to open a given screen in fullscreen mode.
● The -depth parameter can only be used with -fullscreen and a DirectDraw based engine to specify the display depth that should be used for the fullscreen Cygwin/X screen.
● The -refresh parameter can only be used with -fullscreen and a DirectDraw based engine to specify the refresh rate that should be used for the fullscreen Cygwin/X screen.

[-multiwindow]
● Start the integrated Windows-based window manager, which launches each top-level X window in its own Windows window. Not to be used together with -rootless nor -fullscreen.

[링크 : http://x.cygwin.com/docs/ug/configure-cygwin-x-options.html]

아무튼 multiwindow에서 fullscreen으로 옵션을 바꾸어서 실행하면 아래와 같이 나오게 된다.


아쉽게도, 한번에 창을 잡을수가 없어 윈도우 작업표시줄은 윈도우에서, Gnome 화면은 리눅스에서 잡았다.
아무튼 작업표시줄에 나타난 프로그램도 Xming 하나로 하나의 윈도우를 그대로 끌어 오게 되고,
Xwindow 화면 역시 깔끔하게 위의 Gnome-Panel도 제대로 나오게 된다. (참 쉽죠~?)

참고사항 : 이렇게 구동한 윈도우매니저는 shutdown 시에 gnome-session만 종료를 한다.
               다르게 말하자면, 윈도우만 종료되지 컴퓨터 자체가 종료되진 않는다.
Posted by 구차니
XLaunch XDMCP settingsLaunch

XLaunch XDMCP settings
XDMCP settings
Settings for the XDMCP mode. This mode is the most problematic, is not secure, and usually requires altering of the remote machine's settings. The XDMCP protocol will send and receive data on port 177/UDP. But the actual connections will be made to the local port 6000+n /TCP, where n is the display number.

Connect to host
Enables XDMCP and sends 'Query' UDP packets to the specified host.
If you are having problems use Wireshark or equivalent to monitor UDP traffic on the remote host and look for the sequence 'Query' 177/UDP, 'Willing' x/UDP, 'Request' 177/UDP, 'Accept' x/UDP, 'Manage' 177/UDP and see where it stops. If it gets through the sequence then test with local and remote 'xeyes' in multiwindow mode, because the Display Manager acts just like an X client from then on in to provide its login window.

Use indirect connect
Enables XDMCP and sends 'IndirectQuery' packets to the specified host. This host presents a chooser box of several hosts or sends 'ForwardQuery' to another host depending on how it's X Display Manager is configured (via Xaccess file entries).

Search for hosts (broadcast)
Enables XDMCP and broadcasts 'BroadcastQuery' packets to the network. The first responding display manager will be chosen for the session.

XDMCP remote settings
A quick guide to setting insecure XDMCP mode on a remote machine running kdm, gdm, xdm or wdm...
On the remote *nix machine edit the following files, restart the X Display Manager and run at 'init 5'.

Edit the file Xaccess (each Display Manager has its own). Make sure you have a line like this that is uncommented.
 *         #any host can get a login window

Edit the X Display Manager config file (kdmrc, gdm.config, xdm-config or wdm-config) and change
[Xdmcp]
Enable=false (may be shown as 0 in some distributions)
  to
[Xdmcp]
Enable=true (or 1 in some distributions)

or for a xdm style configuration

DisplayManager.requestPort:    0
  to
!DisplayManager.requestPort:    0

출처 : XLaunch Wizard help for Xming - XLaunch XDMCP settings 항목

Posted by 구차니
아래의 링크에서 하는 방법역시 결국에는 SSH X11 forwarding을 사용하는 방식인데
중요한 것은 실행 파일이름이다.


putty에서 X11 forwarding 설정을 하고
gnome 환경이라면 마법의 키워드를 입력한다


gnome-session


그러면 자신의 계정으로 접속된 gnome desktop이 보일것이다!







주의 : 현재 모니터 해상도 그대로 끌려가게 되니 주의해야 한다(전체화면 강제로 됨. 창은 찾아 봐야 할 듯..)

[참고 : http://www.javarush.com/1171424845] -> 원본위치 추적
[원본 : http://blog.studioego.info/417]
Posted by 구차니
이전 문서에 쓰자니..날짜가 넘어갔다 ㅋㅋ
아무튼 Xming을 설치하면 Localhost:0.0에 XServer를 구동한다.


그리고 Putty에서는 아래와 같이 설정한다.

그 다음에 Putty를 통해 접속 한뒤, 프로그램을 실행한다.

주의 : 외부의 것을 끌어 오는 것이므로, 보이는 것은 윈도우지만 실제 편집된 파일은 서버에 저장됨.
Posted by 구차니
이녀석은.. cygwin/x 프로젝트를 이용해서 특화시킨 것으로 보인다.




[공식 : http://www.straightrunning.com/XmingNotes/]
[프로젝트 홈 : http://sourceforge.net/projects/xming/]
[발견 : http://aboutnz.com/272]


$ ssh -Y -l username ip_address_of_remote_server
Y - Enables trusted X11 forwarding

[참고 : http://ganeshbollapragada.blogspot.com/2005/03/cygwinx-displaying-remote-xapps-on.html]


putty에서 X11 forwarding 켜는 옵션의 위치
Posted by 구차니