烂泥:linux学习之VNC远程控制(一)

本文由秀依林枫提供友情赞助,首发于烂泥行天下

最近一直在学习linux的有关知识,因为以前我所有的操作及应用全部在windows下进行的,考虑到以后的个人发展及其他的方面需要,从现在开始要慢慢的学习和接触linux系统了。

我现在使用的红帽的企业版RHEL 5,也有一部分是在RHEL 6上进行实验的。

下面我就开始linux的正式学习了,首先是进行关于远程控制的配置。

实验环境:

服务器端:RHEL 5

客户端:windows

远程登录使用软件:TightVnc(此次实验不进行HTTP登录)

PS:也许你在网上看到很多有关这方面的文章,但是我可以保证他们的都没有这么全面,也没有这么傻瓜式的入门。

在配置远程控制之前,肯定要安装好RHEL的安装,所以此实验是在系统安装好之后进行的。

一、 首先使用rpm -qa|grep vnc命令检查VNC服务是否安装

clip_image001

现在可以看到,VNC服务已经安装了。

但是VNC服务是否已经启动呢?我们可以通过这个命令查看:

Service vncserver status

clip_image002

我们现在可以看出,尽管VNC服务已经安装,但是VNC服务是没有启动的。那么我们如何启动该服务呢?

在启动VNC服务之前,我们还有一些工作要做。

第一、要配置VNC,该配置文件名是vncservers,位于“/etc/sysconfig/”下,我们可以同vi来对此文件进行编辑。

clip_image003

clip_image004

[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文件配置完成后,下面我们就要进行防火墙的相关设置了。首先我们先看看防火墙是否已经开启。

clip_image005

在此我要做一点说明,因为远程控制牵涉到防火墙的问题,所以我在系统安装时就已经把防火墙禁用了。

第三、对远程登录的用户进行VNC密码的设置。我们现已系统管理员root用户为例。

使用vncserver命令,进行密码设置。系统会提示你,要输入两次密码进行确认。

clip_image006

现在我们在切换到普通户用,需要使用的命令是:su 用户名

clip_image007

设置普通用户的VNC登录密码

clip_image008

以上全部设置正确无误后,我们就可以正常启动VNC服务了。启动该服务需要使用到如下的命令:service vncserver start

为了让vnc开机启动,我们可以使用如下的命令:

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

clip_image009

执行该命令之后,我们看看vnc是不是真的已经启动了。使用如下命令进行查看:service vncserver status

clip_image010

好了,现在可以看到服务器端的VNC基本上都已经配置好了。那么下面就应该在客户端进行登录了。

在客户端登陆之前还有几点是我们需要注意的,在文章的开头我已经说了,此次实验不进行HTTP登录,所以我们不考虑HTTP的环境。那么在客户端进行登录时,登录的方式是:IP地址:桌面号。

下面我就开始启动vncserver view,看看登录效果。我使用的使用TightVnc汉化版(如有需要见附件)的viewer:

clip_image011

在VNC主机出输入远程登录的主机IP地址及用户分配的桌面号,然后输入该桌面号对应用户的VNC登录密码。我现在还是已系统管理员root用户为例:

clip_image012

可以很清楚的看到,root现在已经远程登录上我们的服务器,同时我们也发现。尽管已经登陆成功了,但是我们只能输入相应的命令来进行相关的操作。

clip_image013

那有没有登录成功后,是图形界面的呢?

答案是肯定,有的,只不过我们还需要进行相关的设置罢了。无论是系统管理员,还是普通用户我们只要修改这个文件xstartup就行了。

而该文件对于root用户是存在于boot路径下的“.vnc/xstartup”,而对于普通用户是存在home路径(这是相对于root来修改来说)下,如果不是root用户修改那么普通用户可以直接在命令行就行修改。

同时还要说明一点,由于文件夹“.vnc”的属性为隐藏,所以使用“ls”命令是无法查看到的。但是我们可以打开该文件夹,如下图:

clip_image014

clip_image015clip_image016

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 &

呵呵,我们现在要做的就是把以下这段给注释掉:

[ -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 &”,最后此文件内容如下:

#!/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 &

~

clip_image017clip_image018

这些做好后,重启服务器即可。

clip_image019

完成配置文件修改后,在服务器上使用如下命令关闭桌面号,并重新期待能够桌面号:

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

clip_image020

Killing Xvnc process ID 5862

未经允许不得转载:烂泥行天下 » 烂泥:linux学习之VNC远程控制(一)

赞 (0) 打赏

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

支付宝扫一扫打赏

微信扫一扫打赏