天天看點

linux學習之VNC遠端控制(一)

最近一直在學習linux的有關知識,因為以前我所有的操作及應用全部在windows下進行的,考慮到以後的個人發展及其他的方面需要,從現在開始要慢慢的學習和接觸linux系統了。

我現在使用的紅帽的企業版rhel 5,也有一部分是在rhel 6上進行實驗的。

下面我就開始linux的正式學習了,首先是進行關于遠端控制的配置。

實驗環境:

伺服器端:rhel 5

用戶端:windows

遠端登入使用軟體:tightvnc(此次實驗不進行http登入)

ps:也許你在網上看到很多有關這方面的文章,但是我可以保證他們的都沒有這麼全面,也沒有這麼傻瓜式的入門。

在配置遠端控制之前,肯定要安裝好rhel的安裝,是以此實驗是在系統安裝好之後進行的。

一、 首先使用rpm -qa|grep vnc指令檢查vnc服務是否安裝

linux學習之VNC遠端控制(一)

現在可以看到,vnc服務已經安裝了。

但是vnc服務是否已經啟動呢?我們可以通過這個指令檢視:

service vncserver status

linux學習之VNC遠端控制(一)

我們現在可以看出,盡管vnc服務已經安裝,但是vnc服務是沒有啟動的。那麼我們如何啟動該服務呢?

在啟動vnc服務之前,我們還有一些工作要做。

第一、要配置vnc,該配置檔案名是vncservers,位于“/etc/sysconfig/”下,我們可以同vi來對此檔案進行編輯。

linux學習之VNC遠端控制(一)
linux學習之VNC遠端控制(一)

[root@localhost ~]# cat /etc/sysconfig/vncservers

# the vncservers variable is a list of display:user pairs.

#

# uncomment the lines below to start a vnc server on display :2

# as my ‘myusername’ (adjust this to your own). you will also

# need to set a vnc password; run ‘man vncpasswd’ to see how

# to do that.

# do not run this service if your local area network is

# untrusted! for a secure way of using vnc, see

# <url:http://www.uk.research.att.com/archive/vnc/sshvnc.html>.

# use "-nolisten tcp" to prevent x connections to your vnc server via tcp.

# use "-nohttpd" to prevent web-based vnc clients connecting.

# use "-localhost" to prevent remote vnc clients connecting except when

# doing so through a secure tunnel. see the "-via" option in the

# `man vncviewer’ manual page.

#vncservers="2: myusername"

#vncserverargs[2]="-geometry 800×600 -nolisten tcp -nohttpd -localhost"

以上是vcnservers檔案的内容,請注意我标注出來的兩行。我們的配置主要是針對這兩行進行的。而修改此配置檔案的目的:

一、确定能進行遠端登入的使用者,及第一次遠端登入系統的顯示桌面号

二、确定使用者遠端登入成功後,配置使用者登入後的桌面及其他相關項(這個我會下一篇做詳細的介紹)

我們現在要做的就是要把這兩行的注釋去掉,同時還要增加相應的項,修改後的結果如下:

vncservers="1: root 2:lanni 3:jinyang"

vncserverargs[2]="-geometry 800×600 -nolisten tcp -nohttpd -localhost"

說明:其中vncservers="1: root 2:lanni 3:jinyang"

中1:root,表示root使用者在第一次遠端登入時,使用的桌面号為1,以此類推,使用者lanni使用的是2,使用者jinyang使用的是3

而vncserverargs[2]="-geometry 800×600 -nolisten tcp -nohttpd -localhost",是使用者登入後對桌面進行配置的相關參數

第二、vncservers檔案配置完成後,下面我們就要進行防火牆的相關設定了。首先我們先看看防火牆是否已經開啟。

linux學習之VNC遠端控制(一)

在此我要做一點說明,因為遠端控制牽涉到防火牆的問題,是以我在系統安裝時就已經把防火牆禁用了。

第三、對遠端登入的使用者進行vnc密碼的設定。我們現已系統管理者root使用者為例。

使用vncserver指令,進行密碼設定。系統會提示你,要輸入兩次密碼進行确認。

linux學習之VNC遠端控制(一)

現在我們在切換到普通戶用,需要使用的指令是:su 使用者名

linux學習之VNC遠端控制(一)

設定普通使用者的vnc登入密碼

linux學習之VNC遠端控制(一)

以上全部設定正确無誤後,我們就可以正常啟動vnc服務了。啟動該服務需要使用到如下的指令:service vncserver start

為了讓vnc開機啟動,我們可以使用如下的指令:

chkconfig vncserver on或者是 chkconfig ––level 35 vncserver on

linux學習之VNC遠端控制(一)

執行該指令之後,我們看看vnc是不是真的已經啟動了。使用如下指令進行檢視:service vncserver status

linux學習之VNC遠端控制(一)

好了,現在可以看到伺服器端的vnc基本上都已經配置好了。那麼下面就應該在用戶端進行登入了。

在用戶端登陸之前還有幾點是我們需要注意的,在文章的開頭我已經說了,此次實驗不進行http登入,是以我們不考慮http的環境。那麼在用戶端進行登入時,登入的方式是:ip位址:桌面号。

下面我就開始啟動vncserver view,看看登入效果。我使用的使用tightvnc漢化版(如有需要見附件)的viewer:

linux學習之VNC遠端控制(一)

在vnc主機出輸入遠端登入的主機ip位址及使用者配置設定的桌面号,然後輸入該桌面号對應使用者的vnc登入密碼。我現在還是已系統管理者root使用者為例:

linux學習之VNC遠端控制(一)

可以很清楚的看到,root現在已經遠端登入上我們的伺服器,同時我們也發現。盡管已經登陸成功了,但是我們隻能輸入相應的指令來進行相關的操作。

linux學習之VNC遠端控制(一)

那有沒有登入成功後,是圖形界面的呢?

答案是肯定,有的,隻不過我們還需要進行相關的設定罷了。無論是系統管理者,還是普通使用者我們隻要修改這個檔案xstartup就行了。

而該檔案對于root使用者是存在于boot路徑下的“.vnc/xstartup”,而對于普通使用者是存在home路徑(這是相對于root來修改來說)下,如果不是root使用者修改那麼普通使用者可以直接在指令行就行修改。

同時還要說明一點,由于檔案夾“.vnc”的屬性為隐藏,是以使用“ls”指令是無法檢視到的。但是我們可以打開該檔案夾,如下圖:

linux學習之VNC遠端控制(一)
linux學習之VNC遠端控制(一)

xstartup檔案内容如下:

#!/bin/sh

# uncomment the following two lines for normal desktop:

# unset session_manager

# exec /etc/x11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup

[ -r $home/.xresources ] && xrdb $home/.xresources

xsetroot -solid grey

vncconfig -iconic &

xterm -geometry 80×24+10+10 -ls -title "$vncdesktop desktop" &

twm &

呵呵,我們現在要做的就是把以下這段給注釋掉:

然後再添加一行“gnome-session &”,最後此檔案内容如下:

#[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup

#[ -r $home/.xresources ] && xrdb $home/.xresources

#xsetroot -solid grey

#vncconfig -iconic &

#xterm -geometry 80×24+10+10 -ls -title "$vncdesktop desktop" &

#twm &

gnome-session &

~

linux學習之VNC遠端控制(一)

這些做好後,重新開機伺服器即可。

linux學習之VNC遠端控制(一)

<b>完成配置檔案修改後,在伺服器上使用如下指令關閉桌面号,并重新期待能夠桌面号:</b><b></b>

vncserver –kill :1 (注意有空格)

linux學習之VNC遠端控制(一)

killing xvnc process id 5862

繼續閱讀