如何調用遠程桌面,比較常見的有兩種方式:Xmanager及VNC
正好今天鼓搗了一下,特整理如下:
Xmanager
Xmanager的調用也有兩種方式:
一、直接在Xshell中調用
這時需設置會話屬性,如下圖所示,需在“隧道”選項上勾選“轉發X11連接到(X):”
二、用Xstart登錄遠程桌面
如圖,主機,用戶名和身份驗證是必須的,協議必須為SSH,關鍵在於命令的填寫(下面詳表),填寫完畢後,即可點擊“運行”
登錄遠程桌面的主要有以下三個命令:
1> gnome-session 調用gnome桌面
2> startkde 調用kde桌面
3> /usr/bin/xterm -ls -display $DISPLAY 調用終端窗口
第一種和第二種比較容易理解,第三種出來的圖形其實如下,其實就是一個終端窗口
注意:這三個命令在Xshell中同樣適用,其實第三個命令實現的效果就是類似於Xshell這樣的終端窗口。
如果報“/usr/bin/xterm: DISPLAY is not set”錯誤,可在終端上設置xhost +或者export DISPLAY=192.168.2.1:0.0,這裡,192.168.2.1指的是客戶端地址。
在實際生產環境中,往往沒有必要登陸到遠程桌面,直接調用應用程序即可,譬如,安裝Oracle,直接執行./runInstaller即可。
VNC
VNC主要有兩部分組成:vncserver和vncviewer,其中vncserver是服務器端軟件,提供VNC服務,vncviewer是客戶端軟件,遠程調用VNC服務的。說白了,就是vncviewer能遠程登錄到vncserver所在的主機。
在這裡,我們以RedHat自帶的tigervnc-server作為服務器端軟件。
一、安裝服務器端軟件
# yum install tigervnc-server -y
二、設置vncserver密碼
# vncserver
第一次執行會讓你輸入密碼,至少6位,後續在vncviewer連接服務器端主機中需要用到。
注意:後續可用vncpasswd命令修改密碼
三、啟動vncserver服務
啟動vncserver服務有兩種方式。
第一種:/etc/init.d/vncserver start,此種方式需要編輯配置文件。
[root@node1 ~]# /etc/init.d/vncserver start Starting VNC server: no displays configured [FAILED]
報以上錯誤,需修改配置文件
$ vim /etc/sysconfig/vncservers
添加以下內容:
VNCSERVERS="1:root"
指該服務啟動時,會在root用戶下配置一個VNC服務,對應的端口為1。如果要開啟多個服務,可設置如下:VNCSERVERS="1:root 2:root 3:oracle",指的是會開啟三個VNC服務,其中有2個是在root賬戶下,端口分別是1和2,另一個是在oracle用戶下,端口是3.
PS:網上很多博客會在上述配置文件中同時添加以下內容:VNCSERVERARGS[1]="-geometry 1024x768",配置窗口分辨率的,個人實驗了一下,沒什麼效果,遠程桌面的分辨率還是得在服務器端設置。如圖所示:
修改完配置文件後,再次啟動
[root@node1 ~]# /etc/init.d/vncserver start Starting VNC server: 1:root New 'node1.being.com:1 (root)' desktop is node1.being.com:1 Starting applications specified in /root/.vnc/xstartup Log file is /root/.vnc/node1.being.com:1.log [ OK ]
通過上述輸出可以看出,新生成的桌面地址為node1.being.com:1,其中node1.being.com是本地主機名
下面,我們再看看新生成的桌面對應的窗口
[root@node1 ~]# netstat -ntlup |grep vnc tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 9164/Xvnc tcp 0 0 0.0.0.0:6001 0.0.0.0:* LISTEN 9164/Xvnc tcp 0 0 :::6001 :::* LISTEN 9164/Xvnc
其實,5901是vncserver服務默認的第一個端口,對應的是上述node1.being.com:1中的1.
第二種,直接手動執行# vncserver命令開啟vncserver服務,如下所示:
[root@node1 ~]# vncserver New 'node1.being.com:2 (root)' desktop is node1.being.com:2 Starting applications specified in /root/.vnc/xstartup Log file is /root/.vnc/node1.being.com:2.log
通常這種方式也更為簡便,也不需要配置/etc/sysconfig/vncservers文件。
可根據實際使用場景進行相應的選擇,第一種適用於對VNC有經常性的需求,可設置開啟自啟動,但操作略微麻煩,需修改配置文件,可同時開啟多個服務;第二種適用於對VNC偶然性的需求,操作方便簡單,每次只能開啟一個服務。
這時,我們就可以利用vncviewer登錄
四、用vncviewer遠程登錄
點擊“Connect”
輸入第二步中設置的密碼,點擊“OK”即可登錄。注意:Username為灰,無法填寫,在該例中,因為vncserver服務是在root賬戶下開啟的,所以默認登錄的是root賬戶。
五、關閉vncserver服務
關閉vncserver服務有兩種方式,
# /etc/init.d/vncserver stop
這種方式是依據/etc/sysconfig/vncservers的內容進行關閉,如果VNCSERVERS="1:root 2:root 3:oracle",則關閉時會同時關閉這三個服務,輸出內容如下。而通過手動執行# vncserver命令開啟的vncserver服務則不會被關閉。
[root@node1 ~]# /etc/init.d/vncserver stop Shutting down VNC server: 1:root 2:root 3:oracle [ OK ]
第二種是可以手動關閉指定端口,語法如下:
$ vncserver -kill :1
六、設置開機自啟動
# chkconfig vncserver on
總結:
1> 本次配置是基於RHEL 6.3,6x版本的都不需要配置$user_home/.vnc/xstartup,其中$user_home是執行vncserver命令用戶的家目錄,如果是root用戶執行的,則$user_home指的是/root,如果是oracle用戶執行的,則是/home/oracle,以此類推。6x版本的會默認啟動服務器登錄的窗口,一般是gnome,如果是5x版本的系統,出來的窗口可能較簡陋,則出來的是twm窗口,這時,需配置$user_home/.vnc/xstartup文件。
以root用戶為例
vim /root/.vnc/xstartup
注釋 twm &
添加 gnome-session &
2> 注意:除通過# /etc/init.d/vncserver start開啟vncserver服務外,還可以直接使用# vncserver命令開啟vncserver服務,如下所示:
[root@node1 ~]# vncserver New 'node1.being.com:2 (root)' desktop is node1.being.com:2 Starting applications specified in /root/.vnc/xstartup Log file is /root/.vnc/node1.being.com:2.log
,當然,如果要關閉它,只能使用手工關閉方式
Linux操作系統入門教程:Xmanager 遠程訪問Linux圖形化界面 http://www.linuxidc.com/Linux/2015-05/117893.htm
RedHat Enterprise Linux 6.4配置Xmanager 4 http://www.linuxidc.com/Linux/2013-05/85075.htm
AIX 5.3 下配置 Xmanager 圖形化界面 http://www.linuxidc.com/Linux/2013-02/79340.htm
使用Xmanager連接CentOS 5.5 http://www.linuxidc.com/Linux/2012-12/77035.htm
Xmanager使用總結 http://www.linuxidc.com/Linux/2012-11/74870.htm
CentOS6 VNC服務安裝配置 http://www.linuxidc.com/Linux/2013-04/82510.htm
CentOS下VNC配置和安裝 http://www.linuxidc.com/Linux/2013-05/83975.htm
VNC遠程控制安裝和設置 http://www.linuxidc.com/Linux/2013-01/77769.htm
Windows通過VNC訪問Ubuntu http://www.linuxidc.com/Linux/2012-10/73043.htm