2011-03-07 189 views
22
 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.checkHeadless(GraphicsEnvironment.java:159) 
     at java.awt.Window.(Window.java:432) 
     at java.awt.Frame.(Frame.java:403) 
     at javax.swing.JFrame.(JFrame.java:202) 
     at DrawGUI.(DrawGUI.java:15) 
     at ShapeCreator.(ShapeCreator.java:31) 
     at ShapeCreator.main(ShapeCreator.java:138) 

此錯誤消息是什麼意思?我該如何解決它?獲取HeadlessException:沒有設置X11 DISPLAY變量

+6

您必須將DISPLAY環境變量設置爲X11服務器的地址,例如, 'DISPLAY = localhost:0.0',在啓動Java應用程序之前。 – 2011-03-07 11:07:16

+2

我有同樣的問題,我的DISPLAY變量*是*正確設置和導出 - 我可以啓動一個'xterm'沒有問題,例如。必須在這裏也發生其他事情...... – monojohnny 2012-09-25 09:31:01

+0

偉大的答案@Raphael乙對一個非常模糊的問題。排序我的問題在Raspberry Pi上,當startx被調用時沒有設置DISPLAY。 – RyanfaeScotland 2013-04-11 14:51:06

回答

18

我假設你試圖挖掘一些unix盒子。

確保您的PuTTY設置中啓用了X11轉發功能。

enter image description here

2

您的系統沒有一個GUI管理器。主要發生在Solaris/Linux盒子中。如果您在其中使用GUI,請確保您安裝了GUI管理器,並且您可能還想通過DISPLAY變量來使用Google。

+0

「GUI Manager」不是你所追求的單詞。這是一個X11服務器。而幾乎沒有安裝它是不夠的。你會需要它運行,你需要有'DISPLAY'相應的設置。 – 2011-03-07 11:29:14

0

問題陳述 - 獲取java.awt.HeadlessException異常,同時試圖從應用程序初始化第java.awt.Component中e tomcat環境沒有任何頭(終端)。

問題 - linux虛擬環境沒有虛擬顯示終端。試圖安裝虛擬顯示器 - Xvfb,但Xvfb已被redhat社區取消。

解決方案 - 安裝「的xorg-X11-DRV-vmware.x86_64」用yum安裝了xorg-X11-DRV-vmware.x86_64和執行startx的。最後,將顯示器設置爲:使用導出DISPLAY 0.0 =:0.0,然後執行xhost的+

0

我認爲你正試圖從運行UNIX \ LINUX一些實用程序或shell腳本,其中有一些圖形用戶界面。無論如何

SOLUTION:老兄,你需要的是一個XServer & X11轉發啓用。我使用XMing(XServer)。您已經啓用X11轉發。只需安裝它(XMing)並在使用PuTTY創建會話時保持其運行。

相關問題