最近一直在學習linux的有關知識,因為以前我所有的操作及應用全部在windows下進行的,考慮到以後的個人發展及其他的方面需要,從現在開始要慢慢的學習和接觸linux系統了。
我現在使用的紅帽的企業版rhel 5,也有一部分是在rhel 6上進行實驗的。
下面我就開始linux的正式學習了,首先是進行關于遠端控制的配置。
實驗環境:
伺服器端:rhel 5
用戶端:windows
遠端登入使用軟體:tightvnc(此次實驗不進行http登入)
ps:也許你在網上看到很多有關這方面的文章,但是我可以保證他們的都沒有這麼全面,也沒有這麼傻瓜式的入門。
在配置遠端控制之前,肯定要安裝好rhel的安裝,是以此實驗是在系統安裝好之後進行的。
一、 首先使用rpm -qa|grep vnc指令檢查vnc服務是否安裝

現在可以看到,vnc服務已經安裝了。
但是vnc服務是否已經啟動呢?我們可以通過這個指令檢視:
service vncserver status
我們現在可以看出,盡管vnc服務已經安裝,但是vnc服務是沒有啟動的。那麼我們如何啟動該服務呢?
在啟動vnc服務之前,我們還有一些工作要做。
第一、要配置vnc,該配置檔案名是vncservers,位于“/etc/sysconfig/”下,我們可以同vi來對此檔案進行編輯。
[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檔案配置完成後,下面我們就要進行防火牆的相關設定了。首先我們先看看防火牆是否已經開啟。
在此我要做一點說明,因為遠端控制牽涉到防火牆的問題,是以我在系統安裝時就已經把防火牆禁用了。
第三、對遠端登入的使用者進行vnc密碼的設定。我們現已系統管理者root使用者為例。
使用vncserver指令,進行密碼設定。系統會提示你,要輸入兩次密碼進行确認。
現在我們在切換到普通戶用,需要使用的指令是:su 使用者名
設定普通使用者的vnc登入密碼
以上全部設定正确無誤後,我們就可以正常啟動vnc服務了。啟動該服務需要使用到如下的指令:service vncserver start
為了讓vnc開機啟動,我們可以使用如下的指令:
chkconfig vncserver on或者是 chkconfig ––level 35 vncserver on
執行該指令之後,我們看看vnc是不是真的已經啟動了。使用如下指令進行檢視:service vncserver status
好了,現在可以看到伺服器端的vnc基本上都已經配置好了。那麼下面就應該在用戶端進行登入了。
在用戶端登陸之前還有幾點是我們需要注意的,在文章的開頭我已經說了,此次實驗不進行http登入,是以我們不考慮http的環境。那麼在用戶端進行登入時,登入的方式是:ip位址:桌面号。
下面我就開始啟動vncserver view,看看登入效果。我使用的使用tightvnc漢化版(如有需要見附件)的viewer:
在vnc主機出輸入遠端登入的主機ip位址及使用者配置設定的桌面号,然後輸入該桌面号對應使用者的vnc登入密碼。我現在還是已系統管理者root使用者為例:
可以很清楚的看到,root現在已經遠端登入上我們的伺服器,同時我們也發現。盡管已經登陸成功了,但是我們隻能輸入相應的指令來進行相關的操作。
那有沒有登入成功後,是圖形界面的呢?
答案是肯定,有的,隻不過我們還需要進行相關的設定罷了。無論是系統管理者,還是普通使用者我們隻要修改這個檔案xstartup就行了。
而該檔案對于root使用者是存在于boot路徑下的“.vnc/xstartup”,而對于普通使用者是存在home路徑(這是相對于root來修改來說)下,如果不是root使用者修改那麼普通使用者可以直接在指令行就行修改。
同時還要說明一點,由于檔案夾“.vnc”的屬性為隐藏,是以使用“ls”指令是無法檢視到的。但是我們可以打開該檔案夾,如下圖:
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 &
~
這些做好後,重新開機伺服器即可。
<b>完成配置檔案修改後,在伺服器上使用如下指令關閉桌面号,并重新期待能夠桌面号:</b><b></b>
vncserver –kill :1 (注意有空格)
killing xvnc process id 5862