遠端linux伺服器怎麼開啟xserver服務

2021-12-24 08:27:21 字數 3109 閱讀 2625

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系統

電腦遠端怎麼開啟,電腦遠端伺服器怎麼開啟

這裡以windows 7作業系統為例,首先我們進入計算機的系統,然後進入桌面,找到 計算機 選項,右鍵點選 計算機 找到屬性功能並開啟計算機的系統視窗,找到 高階系統設定 選項,並直接點選進入系統屬性的視窗進行下一步設定。之後我們在系統屬性視窗中找到遠端功能的選項,然後左鍵點選遠端功能。在遠端功能的...

linux伺服器上安裝mysql,遠端連結就是連不上

根據你的描述 問題出現在mysql本身的服務上,和grant還沒有關係。1,netstat an grep listen看看3306前面的偵聽是0.0.0.0,還是內網的,還是外網的。如果僅是內網的或者本機的127.0.0.1,即使你釋出了內網,或者本機防火牆,都是不可以訪問的。變更配置是在my.c...

如何重新啟動linux裡的x伺服器

linux是個作業系統,裡面的伺服器是個什麼東西。如果是重啟服務的話,是service 服務名 restart 這是重啟服務。首先確定你是什麼發行版,不同發行版管理服務的方式和所使用的命令都不太一樣一樣 linux下重啟x伺服器,一般用如下命令 service x restart 我只知道重啟 sh...