엄격한 VNC 연결을 사용하여 Raspberry Pi 2 헤드리스 연결을 사용하는 Raspbian에서 간단한 Java Swing 프로그램을 실행할 수 없습니다.

엄격한 VNC 연결을 사용하여 Raspberry Pi 2 헤드리스 연결을 사용하는 Raspbian에서 간단한 Java Swing 프로그램을 실행할 수 없습니다.

저는 Raspberry Pi 2 모델을 사용하고 있으며 운영 체제는 Debian입니다. 나는 JFrame을 열어서 간단한 Java 스윙 프로그램을 시도했는데 훌륭하게 작동했습니다.

나중에 저는 Pi 헤드리스, 즉 모니터, 키보드, 마우스를 연결하지 않고 사용하고 싶었습니다. 그래서 이더넷 포트를 사용하여 연결했습니다. Pi에 소형 VNC 서버가 설치되어 있고 데스크탑 컴퓨터에 VNC 뷰어 클라이언트가 있습니다.

내 PC에서 Pi의 데스크탑을 보고 조작할 수 있지만 동일한 Java 스윙 프로그램을 실행하려고 하면 Java Headless 예외가 발생하고 때로는 인증 오류가 발생하면서 종료됩니다. 온라인으로 검색한 후 몇 가지 내보내기 명령을 시도했지만 DISPLAY아무 소용이 없었습니다.

일부 JRE 또는 운영 체제 관련 매개변수를 설정해야 한다는 것을 알고 있습니다.

아래는 스택이다

pi@raspberrypi:~/prog $ sudo java HelloSwing

클라이언트에 'main' 스레드의 ServerException에 연결할 수 있는 권한이 없습니다. java.awt.AWTError: DISPLAY 변수 값으로 ':1.0'을 사용하여 X11 윈도우 서버에 연결할 수 없습니다.

sun.awt.X11GraphicsEnvironment.initDisplay(네이티브 메소드)

sun.awt.X11GraphicsEnvironment.access(X11GraphicsEnvironment.java:65)에 200달러

sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:115)

java.security.AccessController.doPrivileged(네이티브 메소드)

sun.awt.X11GraphicsEnvironment에 있습니다. (X11GraphicsEnvironment.java:74)

java.lang.Class.forName0(네이티브 메소드)

java.lang.Class.forName(Class.java:259)에서

java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:102)에서

java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:81)에서

java.awt.Window.initGC(Window.java:475)에서

java.awt.Window.init(Window.java:495)에서

java.awt.Window에서. (Window.java:537)

java.awt.Frame.(Frame.java:420)에서

javax.swing.JFrame에서. (JFrame.java:225)

HelloSwing.main(HelloSwing.java:6)에서

관련 정보