Mac OS X 10.7.5에서 Java 1.7.0_67을 사용하고 있습니다. 내가 맥 터미널을 열고 java helloWorld
를 입력 할 때ssh 후에 mac osx에서 Java GUI를 실행하는 방법
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class helloWorld extends JFrame {
helloWorld(String title) {
this.setSize(500,500);
setTitle(title);
}
public static void main(String[] args) {
helloWorld window = new helloWorld("Helloworld");
window.setVisible(true);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
이 잘 실행 : 여기 내 안녕하세요 세계 GUI입니다. 내가 할 수있었습니다 무엇
Exception in thread "main" java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
at java.awt.GraphicsEnvironment.checkedHeadless(GraphicsEnvironment.java:207)
at java.awt.Window.<init>(Window.java:535)
at java.awt.Frame.<init>(Frame.java:420)
at java.awt.Frame.<init>(Frame.java:385)
at javax.swing.JFrame.<init>(JFrame.java:180)
at helloWorld.<init>(helloWorld.java:8)
at helloWorld.main(helloWorld.java:14)
이에서, 자바 1.6에서 작동하는 데 사용 : 나는 다른 호스트에서 내 맥에 ssh를 때, 내 DISPLAY
ENV 변수를 설정, 실행, 나는 다음과 같은 예외가 이것을 연구하는 것이 목적이있는 휴식 인 것 같습니다.
어떻게하면 원격 호스트에서 ssh-ing 한 후 내 gui를 표시 할 수 있습니까? 나는 X11을 사용하고 싶지 않다 (네이티브 GUI 렌더링을 선호한다).
아쉽게도 작동하지 않습니다. '-Djava.awt.headless = false'도 나를 위해 작동하지 않습니다. 내가 이해하는 바에 따르면, 이것은 mac osx가 터미널을 통해 시작된 터미널을 ssh를 통해 시작하는 방법 때문에 Mac 관련 문제입니다. 'ssh -X'도 작동하지 않습니다 – gnr
ssh에서 X11 프로토콜 터널링을 시행하기 위해'ssh -X'를 사용하십시오. –
가능한 복제본 "[No X11 DISPLAY variable"- 의미는 무엇입니까?] (http://stackoverflow.com/questions/662421/no-x11-display-variable-what-does-it-mean) – StackFlowed