在絕多數情況下,Linux 不需要使用到GUI的桌面環境,但是有時在一些特殊的場景如安裝Oracle的時候,需要有圖形界面進行輔助才可以安裝。
如果要使用Linux的圖形界面,一般有兩種方式:
1、Linux系統安裝X Windows圖形界面,使用vnc遠程。
2、Linux系統啟用X協議,配置X Clent,本地有桌面環境的機器(如Windows)配置X Server,獲取遠程的信息,在本地X server上顯示圖形界面。
方法一:
本機安裝圖形界面
這里以CentOS6.5的機器為例,安裝圖形界面比較簡單,使用yum即可。yum groupinstall "X Window System"
yum groupinstall "Desktop"
yum groupinstall "Font"
然后執行:startx
#或者執行
init 5
如果要啟動時自動加載圖形界面,修改/etc/inittab最后一行的默認配置:vi /etc/inittab
id:5:initdefault: # 5 為圖形模式,3 為默認字符模式
如果是CentOS7 的系統:yum group list #列出可用的GUI軟件包
yum group install "GNOME Desktop" "Graphical Administration Tools"
修改默認運行模式(7和6不一樣):unlink /etc/systemd/system/default.target
ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
reboot
配置VNC
安裝vnc:yum install tigervnc tigervnc-server -y
修改配置:vi /etc/sysconfig/vncserversVNCSERVERS="2:root"
VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost"
設置vnc密碼:vncpasswd
啟動vncserver:vncserver &
這樣,在本地就可以使用vncview遠程連接到Linux圖形界面。
方法二:
在Linux服務器上安裝圖形界面不是一種可取的方法,這樣會降低服務器的性能,所以在這里重點介紹一下第二種方法。
X server 的運行原理是這樣,遠程的X client 做為客戶端主動將數據發送到 x server服務器,X server服務器默認起始監聽本地的6000端口,會根據不同客戶端依次分配。X server將X client 傳輸的數據在本地進行處理,以圖像的方式展現出來,數據傳輸使用的是X11協議。
這里需要先在本地電腦安裝X server,可以使用比較流行的xming也可以使用VcXsrv,這兩個都是開源的產品,當然如果有xmanager也能實現相同的功能。
這里我安裝的是VcXsrv,使用默認的安裝方式即可。
下載鏈接:https://sourceforge.net/projects/vcxsrv/ 配置好本地設置,默認的-1 改為0 ,然后一路點擊默認配置,配置完成后啟動VcXsrv server。
修改ssh配置/etc/ssh/sshd_config為:AllowTcpForwarding yes
X11Forwarding yes
X11UseLocalhost yes
重啟sshd。
配置ssh,這里以xshell為例,如圖:
如果有xmanager可以直接選擇使用xmanager,由於是使用的VcXsrv,所以選擇第二項,填寫的IP為安裝x server的主機,也就是本地電腦IP.
使用重新連接,配置環境變量(此處為X server的IP,配置要與Xshell統一 ):export DISPLAY=192.168.20.171:0.0
xhost +
如果安裝的有xhost,執行 xhost + 此步的時候一直卡着沒有輸出,或者出現“xhost: unable to open display "192.168.20.171:0.0"”,請關閉本地防火牆,並確認本地X server的配置是否正確。
執行測試:# yum install xclock
# xclock
Warning: Missing charsets in String to FontSet conversion
如果此時,在本地出現一個時鍾的圖形就表示配置成功。也可以安裝firefox的方式,執行 firefox命令就可以在本地看到瀏覽器界面。
這個有什么用呢,舉個例子:
如本地遠程安裝Oracle,輸入安裝腳本后,會在本地自動跳出圖形界面,
這樣就配置成功了,基本不占用服務資源。
提示:這里圖形界面的顯示只在當前ssh會話中生效,如果重新開啟一個新的會話需要重新添加“DISPLAY”的環境變量並執行“xhost +”命令,也可以直接將此環境變量保存到本地profile文件中,這樣就不必每次添加。