태그 보관물: headless

headless

“X11 DISPLAY 변수 없음”-무슨 의미입니까? DISPLAY variable was

Linux 시스템 (Slackware)에 Java 애플리케이션을 설치하려고합니다.

다음과 같은 오류가 발생했는데 이해가되지 않습니다.

문제에 접근하는 방법을 알려주시겠습니까? 감사합니다.

내가 얻는 것은 다음과 같습니다. (일부 X11 DISPLAY 변수를 설정해야하지만 어떤 값을 어떻게 제공해야합니까?)

~$ java -jar gate-5.0-beta1-build3048-installer.jar
- ERROR -

java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
at java.awt.GraphicsEnvironment.checkHeadless(Graphic sEnvironment.java:159)
at java.awt.Window.<init>(Window.java:407)
at java.awt.Frame.<init>(Frame.java:402)
at net.sourceforge.mlf.metouia.borders.MetouiaDotsBuf fer.<init>(MetouiaDotsBuffer.java:105)
at net.sourceforge.mlf.metouia.borders.MetouiaDots.<i nit>(MetouiaDots.java:66)
at net.sourceforge.mlf.metouia.borders.MetouiaToolBar Border.<init>(MetouiaToolBarBorder.java:49)
at net.sourceforge.mlf.metouia.MetouiaLookAndFeel.ini tComponentDefaults(MetouiaLookAndFeel.java:241)
at javax.swing.plaf.basic.BasicLookAndFeel.getDefault s(BasicLookAndFeel.java:130)
at javax.swing.plaf.metal.MetalLookAndFeel.getDefault s(MetalLookAndFeel.java:1591)
at javax.swing.UIManager.setLookAndFeel(UIManager.jav a:537)
at javax.swing.UIManager.setLookAndFeel(UIManager.jav a:581)
at com.izforge.izpack.installer.GUIInstaller.loadLook AndFeel(GUIInstaller.java:373)
at com.izforge.izpack.installer.GUIInstaller.<init>(G UIInstaller.java:116)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newI nstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Construc tor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:30
at com.izforge.izpack.installer.Installer.main(Instal ler.java:62)



답변

메인 디스플레이에 있다면

export DISPLAY=:0.0

또는 csh 또는 tcsh를 사용하는 경우

setenv DISPLAY :0.0

앱을 실행하기 전에

사실 자동으로 설정되지 않아 놀랍습니다. 그래픽이 아닌 터미널에서이 애플리케이션을 시작하려고합니까? 그렇지 않은 경우 기본 .profile, .login, .bashrc 또는 .cshrc를 수정 했습니까?

DISPLAY를 : 0.0으로 설정하면 내가 말했듯이 메인 디스플레이에 앉아 있거나 적어도 메인 디스플레이가 사용자 ID로 로그온되어 있다고 가정합니다. 로그온하지 않았거나 다른 사용자 ID이면 실패합니다.

다른 컴퓨터에서 들어오고 해당 컴퓨터의 기본 디스플레이에 있고 X를 실행하고있는 경우 “ssh -X hostname”을 사용하여 해당 호스트에 연결할 수 있으며 ssh는 X 디스플레이를 다시 전달합니다. . ssh는 또한 DISPLAY 환경 변수가 올바르게 설정되었는지 확인합니다 (위에서 언급 한 다양한 도트 파일에서 엉망이되지 않는 경우). “ssh -X”세션에서 DISPLAY 환경 변수는 “localhost : 11.0″과 같은 값을 가지며, ssh가 로컬 상자로 터널링하는 소켓을 가리 킵니다.


답변

X11 환경에서 실행하고 있습니까? 터미널 창을 사용할 수 있지만 X 내에 있어야합니다 (그래픽 로그인 후 또는 startx를 실행하여).

이미 그래픽 환경에있는 경우 쉘 (bash, sh 등)과 같은 bash의 경우 export DISPLAY = : 0을 시도하고 C 쉘 기반 쉘 (csh, tcsh 등)의 경우 setenv DISPLAY : 0을 시도하십시오.

SSH를 통해 다른 컴퓨터에서 연결 한 경우 -X 옵션을 사용하여 앉아있는 컴퓨터의 그래픽 인터페이스를 표시합니다 (여기서 실행되는 X 서버가있는 경우 (예 : Windows 용 xming 및 표준 Linux X 섬기는 사람).


답변

PuTTy에서 X11 전달 을 활성화해야합니다.

그렇게하려면 PuTTy를 열고 Connection => SSH => Tunnels 로 이동 하여 Enable X11 forwarding을 선택합니다.

또한 서버에 sudo하고 여기에 아래 변수를 내보내십시오 .IP는 로컬 컴퓨터의 IP입니다.

export DISPLAY=10.75.75.75:0.0

여기에 이미지 설명 입력


답변

설명과 유사한 경우 문제가 될 수있는 한 가지 더-X는 전달되지 않고 $ DISPLAY는 원격 측에 ‘xauth’프로그램이 설치되지 않은 경우 설정되지 않습니다. “ssh -Xv ip_address”를 실행할 때 검색하는 것을 볼 수 있으며 찾을 수없는 경우 실패합니다. 이는 상세 모드 (실패 IMO)를 설정하지 않으면 표시되지 않습니다. 일반적으로 동일한 이름의 패키지에서 ‘xauth’를 찾을 수 있습니다.


답변

매우 쉬움,이 같은 문제가 있었는데 내가 한 일은 표시하는 데 도움이 될 앱을 다운로드하고 설치하는 것이었고 오류를 수정했습니다.

이 앱을 다운로드 xming :

http://sourceforge.net/project/downloading.php ?

설치 후이 링크의 설정을 사용하십시오.

http://www.geo.mtu.edu/geoschem/docs/putty_install.html 또는 다음 단계를 따르세요.

PuTTy 및 Xming 설치 / 구성

PuTTy 및 Xming이 PC에 다운로드되면 해당 지침에 따라 설치합니다.

Xming 구성

Xming이 설치되면 ‘XLaunch’라는 응용 프로그램을 실행하고 설정이 다음과 같은지 확인합니다.

  • 디스플레이 설정 창에서 기본 항목을 선택하고 다음을 클릭하십시오.
  • 세션 유형 창에서 다음을 클릭하십시오.
  • 추가 매개 변수 창에서 다음을 클릭합니다 (알림 클립 보드 확인란이 참).
  • 구성을 저장하고 클릭하여 완료합니다.

PuTTy 구성

PuTTy를 설치 한 후 바탕 화면에서 PuTTy 아이콘을 두 번 클릭하고 다음과 같이 구성합니다.

로그인 프로필을 만든 다음 저장하는 것을 보여줍니다.

  • ssh-> X11에서 확인란을 클릭하여 X11 전달을 활성화합니다.
  • X 표시 위치 텍스트 상자에 localhost : 0.0을 입력합니다.

프로필을 저장 한 다음 원격으로 서버에 연결하여 테스트합니다.

건배!!!


답변

이를 수행하는 방법에는 여러 가지가 있습니다. 나는 나에게 편리한 아래 작업을 수행했으며 항상 잘 작동합니다.

  1. 원격 서버에서 xorg-x11-xauth, xorg-x11-font-utils, xorg-x11-fonts를 설치해야합니다.
  2. 로컬 데스크탑에서 Xming 서버를 실행하십시오.
  3. putty에서 서버로 ssh를 보내기 전에 X11 전달을 활성화하고 표시 위치를 localhost : 0.0으로 설정합니다.
  4. 서버에서 .Xauthority 파일이 생성되고 DISPLAY 변수가 이미 설정되어 있음을 알 수 있습니다.

    $ xauth 목록

    $ xauth 추가

테스트하려면 xclock 또는 xeyes를 입력하십시오.

참고 : 사용자를 전환하려면 .Xauthority 파일을 각 사용자의 홈 디렉토리에 복사하고 해당 사용자의 DISPLAY 변수도 내보내십시오.


답변

Byobu 터미널 내에서 스크립트를 실행하면 JDK 8 및 Netbeans를 설치하려고 할 때 Ubuntu 14.04.01에서 동일한 문제가 발생했습니다.

Byobu를 종료하고 (그래픽 터미널에서) 스크립트를 실행하십시오.