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

 

如何通过vnc 图形界面远程控制Linux 主机

Sailor_forever   [email protected] 转载请注明

下载地址 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

 

你可能感兴趣的:(windows,linux,server,服务器,嵌入式,图形)