cygwin putty 시작 오류: 그래픽 환경을 감지할 수 없습니다.

cygwin putty 시작 오류: 그래픽 환경을 감지할 수 없습니다.

cygwin/XX 서버(1.17.1-2)를 시작한 다음 x11 전달을 위해 퍼티를 활성화하면(X 디스플레이 위치가 다음으로 설정되고 localhost:10.0MIT-Magic-Cookie-1이 확인됨) 여전히 오류가 발생합니다.

    Startup Error: Unable to detect graphics environment

pycharm과 같은 프로그램을 시작하려고 할 때. 내 Windows 컴퓨터나 Linux 컴퓨터에서는 DISPLAY변수를 설정하지 않습니다. Windows 트레이의 cygwin 아이콘 위로 마우스를 가져가면 이 표시되므로 Windows와 Linux 시스템 모두에서 사용해 보았습니다 cygwin x server :0.0. export DISPLAY=:0.0그런데 그때 이해가 됐어요

Start Failed: Failed to initialize graphics environment

java.awt.AWTError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.
        at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
        at sun.awt.X11GraphicsEnvironment.access$200(X11GraphicsEnvironment.java:65)
        at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:115)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:74)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:264)
        at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:103)
        at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82)
        at sun.awt.X11.XToolkit.<clinit>(XToolkit.java:128)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:264)
        at java.awt.Toolkit$2.run(Toolkit.java:860)
        at java.awt.Toolkit$2.run(Toolkit.java:855)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:854)
        at com.intellij.ui.AppUIUtil.updateFrameClass(AppUIUtil.java:155)
        at com.intellij.idea.StartupUtil.prepareAndStart(StartupUtil.java:94)
        at com.intellij.idea.MainImpl.start(MainImpl.java:20)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at com.intellij.ide.plugins.PluginManager.lambda$start$0(PluginManager.java:75)
        at java.lang.Thread.run(Thread.java:745)

DISPLAY=:0퍼티를 제거하기 위해 다양한 조합( ) 을 시도했지만 X display location도움이 되지 않았습니다.

설정:

  • 리눅스 박스는Red Hat Enterprise Linux Server release 6.6 (Santiago)
  • Windows는 Windows 7 Enterprise 64비트입니다.
  • Putty 버전 0.68 릴리스 컴파일러: Visual Studio 2015 / MSVC++ 14.0(_MSC_VER=1900)

감사해요

답변1

options 을 사용하여 startxwin을 시작해야 합니다 -listen. 예를 들어 내 단축키는 다음과 같습니다.

C:\cygwin64\bin\run.exe --quote /usr/bin/bash.exe -l -c "cd; exec /usr/bin/startxwin -- -listen tcp"

https://sourceware.org/ml/cygwin-announce/2015-04/msg00050.html

"-nolisten tcp"가 이제 기본값이므로 서버는 Unix 도메인 소켓의 로컬 연결만 허용합니다. 이전 동작을 복원하는 데 사용할 수 있는 "-listen" 옵션이 추가되었습니다.

관련 정보