2012-01-10 32 views
0

我使用/bin/sh執行一些命令,但其中一些命令要求我有一個「圖形終端」,我真的不知道是什麼意思,這些命令給我的軟件錯誤的輸出,但正確的輸出上正常的Gnome/KDE終端。如何在Linux下製作一個圖形終端?

我想知道是否有去告訴潛在X Window Session,我的軟件是「圖形終端」?

+0

對不起,但我們在談論X或簡單的詛咒終端用戶界面?該應用程序是一個X應用程序(依賴於AtenaWidgets或Gtk)或簡單地輸出到終端? – BigMike 2012-01-10 09:17:27

+0

我不確定要理解你的問題。你想啓動一個圖形終端,或者檢查你的命令是否從圖形環境啓動? – 2012-01-10 09:18:11

+0

它是一個簡單的C應用程序,沒有依賴關係,它執行一些命令從/ bin來執行一些操作,那就是全部 – killercode 2012-01-10 09:20:13

回答

0

通常情況下,軟件使用X窗口依賴於DISPLAY環境變量。
它的值應該是10.0.0.1:0.0,其中10.0.0.1是您的IP地址(我不確定0.0是什麼,但0.0正常工作)。
您還需要一些X服務器軟件在您的PC上運行,這會顯示窗口。

+0

好吧,虐待現在回到你 – killercode 2012-01-10 08:54:20

+3

爲DISPLAY變量創造一個值幾乎總是一個壞主意,特別是如果你不明白它是如何形成的。 – 2012-01-10 09:16:07

+0

@SimonRichter可能發生的最糟糕的情況是程序在無法連接到無效地址時退出。 – 2012-01-10 09:17:59

1

正如@ugoren表示,DISPLAY變量就是用來從應用程序找到X Window系統。如果X沒有在後臺運行,變量將被取消設置。

您可以開始使用xinit從腳本一個新的X服務器,如果你不能跟舊的;理想情況下,這將是像Xvnc(它不需要硬件訪問)。

1

如果我理解正確你想運行在遠程計算機上的應用程序,或者至少一個不運行任何X Server。如果是這種情況,你可以嘗試使用Xvfb,它創建一個虛擬服務器,允許應用程序連接到它並「繪製」窗口。

+0

如果在遠程機器上,您可以使用'ssh -X'連接到它(在適當配置的情況下,它正在轉發X11)。 – 2012-01-10 11:38:57