1樓:夜獨行孤單
大多數時候我們不希望在伺服器上安裝圖形介面,但有時候有些程式需要圖形介面,比如安裝oracle的時候。此時,可以配置讓linux使用遠端的x server進行圖形介面顯示。
首先要明確的是linux x window system的基本原理,x是一個開放的協議規範,當前版本為11,俗稱x11。x window system由客戶端和服務端組成,服務端x server負責圖形顯示,而客戶端庫x client根據系統設定的display環境變數,將圖形顯示請求傳送給相應的x server。
因此,我們只需要在遠端開啟一個x server,並在目標機器上相應的設定display變數,即可完成圖形的遠端顯示。
“真理體驗”版
環境:遠端無圖形機器a(ip 192.168.
9.135,os centos 6.2),本地有圖形機器b(ip 192.
168.1.135,os centos 6.
2),子網192.168.0.
0x server是gnome等桌面環境的基礎,一個桌面環境通常包含了xdm(x display manager,通常的圖形化使用者登入介面就屬於xdm)、視窗管理器(x server顯示的圖形是沒有“視窗”邊框的,通過替換視窗管理器可以實現不同的視覺效果,比如實現3d效果的compiz)等元件。
進行圖形顯示並不需要桌面環境,只要有x server即可。
現在要在b機器上開啟一個x server,然後配置a機器的display環境變數指向b上面的x server,在a上啟動一個圖形程式,圖形應該在b上面進行顯示。
linux提供了一個startx指令碼來啟動x server,startx指令碼通過呼叫xinit來完成此工作。xinit完成兩個工作,首先在後臺啟動一個x server,然後根據配置啟動一系列客戶端程式連線到x server,這些客戶端程式只有最後一個可以並且必須在前臺執行,當這個前臺的客戶端程式退出時x server將被關閉。
b機器上有桌面環境,檢視程序可以看到如下程序在執行:
/usr/bin/xorg :0 -nr -verbose -audit 4 -auth /var/run/gdm/auth-for-gdm-ikd3i7/database -nolisten tcp vt1
這表示在display 0上執行著一個x server,這裡的x server是xorg。出於安全考慮,這個x server不監聽tcp連線(-nolisten tcp),所以無法通過網路連線上這個x server。x server可以通過tcp和域套接字進行連線,後面講述display變數時會詳細描述。
我們可以通過startx或直接使用xinit來手動啟動一個x server,startx的選項與xinit相同,選項直接傳遞給xinit。xinit選項分為兩個部分,以符號 “--”為界,前面是客戶端選項,後面是x server選項。
startx [ [ client ] options ... ] [ -- [ server ] [ display ] options ... ]
要注意的是“client”(即要執行的客戶端程式)必須以絕對路徑的形式出現。如果不指定“client”,startx或xinit會根據使用者和系統全域性的配置檔案啟動一個客戶端程式(一般xinit預設啟動xterm程式)。
現在我們啟動一個x server:
xinit /usr/bin/xterm -- :1 &
這個命令可以在桌面環境下的終端裡面執行,也可以在字元終端下執行。機器b上的桌面環境顯示在終端ctrl-alt-f1上,f2-f6都是字元終端,f7-f12留給圖形終端。在b機器的f2字元終端上執行以上命令,將在f7終端出現xterm。
接下來要配置a機器的display變數,以便將圖形顯示到b機器上。以另一終端登入a機器,設定display變數:
export display=192.168.1.135:1.0
display變數的格式為[address]:.。其中address為x server地址,如果address為空,則通過域套接字連線到本地的x server。numa為display number,這與傳遞給xinit的display選項對應,這個display number為x server的監聽埠號送去6000。
因此,實際上此時b機器上的x server在監聽6001埠,可以使用netstat命令驗證。numb為screen number(可能是多顯示器的情況下指定顯示在哪個顯示器,未驗證),通常情況下都為0.
現在關閉b機器的防火牆(或者開啟相應埠),以便a機器的x客戶端程式可以連線上b機器上的x server。然後在a機器上剛才設定display變數的那個會話中,啟動一個帶有圖形介面的程式,圖形將會顯示在b機器的f7終端上。
如果提示無法連線到display指定的x server,可能是由於x server開啟了訪問控制。在a機器上已設定display變數的會話中使用xhost命令檢視授權資訊:
xhost
如果顯示無法開啟display,則可以確定是因為x server開啟了訪問控制。
在b機器f7終端由xinit開啟的xterm中使用xhost授權a機器訪問:
xhost + 192.168.9.135
然後在b機器f7終端xterm上使用xhost命令檢視acl,可以看到192.168.9.
135已獲得授權。此時,在a機器已設定display的會話中執行xhost,同樣可以看到acl,再執行圖形程式,圖形應顯示在b機器f7終端上。
2樓:左左經驗
如何使用xshell連線linux伺服器,怎麼使用xshell連線centos系統
linux遠端伺服器如何安裝xserver
3樓:雲修網
哦,我估計你要重灌下了,你現在裝的是沒有帶桌面的版本。裝的時候選上桌面,就可以了。
4樓:大大蟲
linux放開xdmcp,然後windows裝個xmanager就可以連線了
5樓:左左經驗
如何使用xshell連線linux伺服器,怎麼使用xshell連線centos系統
在linux系統上如何連線遠端伺服器?
6樓:左左經驗
如何使用xshell連線linux伺服器,怎麼使用xshell連線centos系統
php查web伺服器版本,linux伺服器,更新PHP版本,phpinfo還顯示以前的版本
其實原理就是 server http user agent 這個伺服器變數,然後再借助正則,就得到了。function get os else if eregi win 9x agent strpos agent,4.90 else if eregi win agent ereg 98 agent ...
linux的web伺服器怎麼配置
要看你安裝的是什麼系統,我這裡安裝的是centos 然後再安裝nginx mysql php 就這幾個,你參考下。樓主什麼系統?ubuntu系統。sudo apt install nginx linux作為web伺服器是如何進行預設首頁設定的 一般是在相關http伺服器的配置檔案中指定,例如ngin...
如何開啟伺服器端口,伺服器如何開啟埠
你好。電腦的埠如何開啟呢,一般伺服器用到遠端或者其他系統需要開啟特定埠如何操作呢?方法 步驟。首先在右下角電腦連線右鍵開啟網路連線設定。選擇乙個正常使用的網路連線右鍵屬性。開啟本地連線屬性後看到高階選項。在高階裡面點選設定。在這個介面裡開啟例外。新增埠就好了。輸入要新增的埠號。點選確定重啟就好了。怎...