您的位置:首页 > 运维架构 > Linux

【嵌入式Linux学习七步曲之第一篇 Linux主机开发环境】如何通过vnc图形界面远程控制Linux主机

2008-06-23 20:01 976 查看
如何通过vnc
图形界面远程控制Linux
主机

Sailor_forever

Sailing_9806@163.com

转载请注明

下载地址 http://download.csdn.net/source/510171
http://blog.csdn.net/sailor_8318/archive/2008/06/23/2580047.aspx
【摘要】本文详细介绍了
vnc
服务器的搭建,尤其是为不同用户开启不同的窗口,这样多人协作开发时不会出现相互干扰,大家可以在同一时刻操作同一
Linux

主机,并且相关操作具备不同的用户属性,便于区分不同的开发者。

【关键词】
vnc server
,图形界面,远处操作

在多人协作的项目中,经常需要大家共享信息,而通常这些都是放在
Linux
服务器上的,开发者通过
nfs
在本地
Linux
主机上可以远处操作服务器上的相关资源,但相比图形界面来说还是不友好。因此本文分析了如何可视化远程操作
Linux
服务器,本机甚至可以是
Windows PC
,这种方式最大的好处就是可以做
Windows
下做其他的所有工作,比如代码编辑文档阅读等,实际的编译等才需要用到
Linux

环境。

一、VNC
简介...
1

二、服务器vncserver
的安装及配置...
1

2.1.VNC Server

的安装
...
1

2.2

设置
vnc server

的访问密码
...
2

2.3

启动
vnc server
2

2.4

更改为
kde

或者
gnome

等图形方式登陆
...
2

2.5

为不同的用户开启不同的窗口
...
3

三、客户端的设置及连接...
4

3.1 windows

系统
...
4

3.2 Linux

系统远程控制其他
Linux

主机
...
5


1

VNC

简介

网络遥控技术是指由一部计算机(主控端)去控制另一部计算机(被控端),而且当主控端在控制端时,就如同用户亲自坐在被控端前操作一样,可以执行被控端的应用程序,及使用被控端的系统资源。

VNC

Virtual Network Computing
)是一套由
AT&T
实验室所开发的可操控远程的计算机的软件,其采用了授权条款,任何人都可免费取得该软件。
VNC
软件主要由两个部分组成:
VNC server

VNC viewer
。用户需先将
VNC server
安装在被控端的计算机上后,才能在主控端执行
VNC viewer
控制被控端。(在
windows
中也由一套著名的网络遥控软件――
Symantec
公司推出的
pcAnywhere

VNC server

VNC viewer
支持多种操作系统,如
Unix
系列(
Unix

Linux

Solaris
等),
windows

MacOS
,因此可将
VNC server

VNC viewer
分别安装在不同的操作系统中进行控制。如果目前操作的主控端计算机没有安装
VNC viewer
,也可以通过一般的网页浏览器来控制被控端。

整个
VNC

运行的工作流程如下:
,


1

VNC
客户端通过浏览器或
VNC Viewer
连接至
VNC Server




2

VNC Server
传送一对话窗口至客户端,要求输入连接密码,以及存取的
VNC Server

显示装置。


3

在客户端输入联机密码后,
VNC Server

验证客户端是否具有存取权限。


4

若是客户端通过
VNC Server
的验证,客户端即要求
VNC Server

显示桌面环境。


5

VNC Server
通过
X Protocol
要求
X Server
将画面显示控制权交由
VNC Server

负责。


6

VNC Server
将来由
X Server
的桌面环境利用
VNC
通信协议送至客户端,并且允许客户端控制
VNC Server

的桌面环境及输入装置。

2

服务器
vncserver

的安装及配置

2.1

VNC Server

的安装

VNC Server
下载地址
http://www.linuxeden.com/download/softdetail.php?softid=744
或者到
rmpfind.net

上下载与系统对应的安装包

其实也是非常简单的,一个命令就可以了。

rpm -ivh vnc-3.3.6-2.i386.rpm

2.2

设置
vnc server

的访问密码

vncpasswd

补充说明:
3.3
版的
vnc
,不会自动的建立
/root/.vnc/passwd
文件,需要先手工建立,再运行
vncpasswd

2.3

启动
vnc server

若未用
vncpasswd
设置密码,则第一次运行
vncserver

时,会提示设置密码,再次确定密码。

[

sailing@dding

sailing]$ vncserver

You will require a password to access your desktops.

Password: *****
为了不想任何人都可以任意遥控此计算机。因此当第
1
次启动
VNC server
时,会要求设置网络遥控的密码。

Verify: *****

注意
: vncpasswd
可以更改这个密码
,
或者添加密码

New 'X' desktop is dding:2
一定要记住这一行稍后会用到
,
终端编号

;

Creating default startup script /home/

sailing/.vnc/xstartup

Starting applications specified in /home/

sailing/.vnc/xstartup

Log file is /home/

sailing/.vnc/dding:2.log

每次会启动一个
server,
并有一个代号,如
:1 :2



可以在服务里面选中
vncserver
,这样系统启动时可以默认启动
vnc

服务。否则需要手动启动。

2.4

更改为
kde

或者
gnome

等图形方式登陆

L
inux
上的
vnc server
内定的管理环境是
twm
,不好看,也不方便。

第一次启动后
vnc
使用
twm
客户端(即只能显示个虚拟终端,可在终端里运行界面程序,但是任意时刻只能运行一个),如果要用完整的
KDE
客户端(此时可以显示终端桌面,完全跟本地登陆一样),我们来把它改成
KDE
。修改
$HOME/.vnc/xstartup
这个文件。把
twm
改成
startkde
修改后要重新启动
vnc server
。再次进行
vnc
连接时将显示
KDE

图形界面。

其实是将
root/.vnc/xstartup

这个文件。

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/xstartupn".

[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresourcesn".

xsetroot -solid greyn".

vncconfig -iconic &n".

xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &

wm &

有三种方法修改:

a)
可以将最后一行中的
twm
修改成
gnome
或者
startkde
都可以,保存并重新启动
vncserver
服务;

b)
将文件所有内容清除,写入
gnome-session
,保存并重新启动
vncserver
服务;

c)
也可以写入

unset SESSION_MANAGER

exec /etc/X11/xinit/xinitrc

表示启动默认的图形管理器

即将第
2,3
行的
#

去掉也可以,我就是这么做的。然后重新开一下服务。试一下就
OK
了,

2.5

为不同的用户开启不同的窗口

即可以管理远程登陆的用户,对权限等进行管理。

建立
root

用户的
vncserver
,其对应的窗口号为

1


[root@dding

sailing]# vi /etc/sysconfig/vncservers

///////////////////////////////////

# The VNCSERVERS variable is a list of display:user pairs.

#

# Uncomment the line below to start a VNC server on display :1

# 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/vnc/sshvnc.html>.

VNCSERVERS="1:root 2:

sailing"

表示用
1
登陆即为
root
用户,
2
登陆为

sailing用户

///////////////////////////////////

可以通过以下命令启动或停止
vnc
服务:

# service vncserver start/stop/restart

如果启动了多个
vnc

显示,可以通过以下命令关闭指定显示号的
vnc
服务:

# vncserver -kill :1

(":1"
为指定的显示号)

[root@dding

sailing]# /etc/init.d/vncserver stop

关闭
VNC
服务器:
1:root 2:

sailing
[

确定

]

[root@dding

sailing]# /etc/init.d/vncserver start

启动
VNC
服务器:
1:root 2:

sailing
[

确定

]

3

客户等的设置及连接

3.1

windows

系统

VNC viewer
下载地址
http://download.pchome.net/php/dl.php?sid=2603

Microsoft Windows
上运行
VNC Viewer

直接运行
“vncviewer.exe”,
系统会出现
”Connection details”

对话框。


“Connection details”
对话框中的
“VNC server”
文本框中输入
VNC Server

IP
地址(或主机名及显示装置编号,单击
“OK”
按钮后,
VNC Server
即会开始检查所输入的信息,若是信息错误,系统会出现
“Failed to connect to server”
的错误信息:若是信息正确,则会接着出现
“VNC Authentication”
对话框。

若是在
“VNC Authentication”
对话框中输入的密码正确,就可以成功地打开
Linux
的桌面窗口。

注意:若
vncserver

未启动或者秘密错误都将不能正常登陆。

下图即为从
windows

登陆不同显示装置号对应进入的帐户。

从浏览器远程遥控。

启动
VNC Server
后直接打开
windwos
的浏览器,在地址栏中输入被控端的网址或
IP
地址,并在网址后加上


5800
+显示编号

的端口号即可操控该计算机。

例如: http://10.0.0.247:5801/ (
如果显示编号为
1
,一般第一次设置的显示编号都是
1
,就用
5800

1

5801

)

另外,采用浏览器访问方式,需安装
Java Runtime Environment

环境。

3.2

Linux

系统远程控制其他
Linux

主机

linux
下使用
vncviewer
连接:输入以下命令:

# vncviewer 10.0.0.139:48

(
注:“
10.0.0
..139
”为远程服务器的
IP
地址,“
:48”
即为显示号
)


按要求输入密码,即可以看到远程的桌面。

如果网络速度较差,又希望通过图形界面管理,可以降低显示的颜色深度。执行以下指令:

# vncviewer 219.166.236.11:1 -brg233
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐