当前位置:文档之家› CentOS VNCServer设置

CentOS VNCServer设置

VNC 是用来显示在另一台计算机上运行的 X 窗口工作阶段。有异于一个远程的 X 连接,xserver 是在远程的计算机上运行,而不是在本地的工作台上。你的工作台(Linux 或 Windows)只是显示远程机器所显示(真实或虚拟)的东西。

设置一个 vnc 服务器有数个不同方法。这份教学文档示范如何利用 CentOS 所提供的 vncserver 服务来设置 VNC。

1. 安装所需的组件
服务器的组件名叫 vnc-server。请执行 rpm -q vnc-server 这个指令。

它的输出应该是 package vnc-server is not installed 或类似 vnc-server-4.0-11.el4。

假如服务器未被安装,请用这个指令来安装它:yum install vnc-server。

客户端的程序是 vnc。假若 rpm -q vnc 表示它未被安装,你可以用 yum install vnc 这个指令来安装它。

请安装一个窗口管理员来取得一个正常的图像式桌面。举个例说,你可以用 yum groupinstall "GNOME Desktop Environment" 这个指令来安装 Gnome 桌面及所需的组件。其它受欢迎的桌面环境包括 KDE 及 XFCE-4.4。XFCE 比 Gnome 及 KDE 更为轻量,而且已收录在 extras 软件库内。

如果你采用 CentOS 5,yum groupinstall "GNOME Desktop Environment" 可能会投诉 libgaim.so.0 被遗漏了。这是一个已知的错误。详情请参阅 CentOS-5 常见问题集。

2. 设置未加密的 VNC
我们会设置 VNC 给 3 位用户。他们分别是 larry、moe 及 curly。

你须要执行下列步骤来设置你的 VNC 服务器:

创建你的 VNC 用户。 设置用户的 VNC 口令。 编辑服务器的设置。 创建及自定 xstartup 脚本。 引导 VNC 服务。 测试每位 VNC 用户。 设置 VNC 服务在开机时自动启用。 加入选择性的改动。 2.1. 创建你的 VNC 用户
以 root 的身份:


$ su -
# useradd larry
# useradd moe
# useradd curly
# passwd larry
# passwd moe
# passwd curly
2.2. 设置用户的 VNC 口令
登录每个户口,并执行 vncpasswd。这样做会创建一个 .vnc 目录。


[~]$ cd .vnc
[.vnc]$ ls
passwd
2.3. 编辑服务器的设置
编辑 /etc/sysconfig/vncservers,并在文件底部加入以下内容。


VNCSERVERS="1:larry 2:moe 3:curly"
VNCSERVERARGS[1]="-geometry 640x480"
VNCSERVERARGS[2]="-geometry 640x480"
VNCSERVERARGS[3]="-geometry 800x600"

Larry 及 Moe 将会有 640 乘 480 的画面。Curly 将会有 800 乘 600 的画面。

2.4. 创建 xstartup 脚本
我们会通过以 root 的身份引导及停止 vncserver 来创建 xstartup 脚本。


# /sbin/service vncserver start
# /sbin/service vncserver stop

登录每个户口并编辑 xstartup 脚本。就以 Larry 为例,首先登录成为 larry。


[~]$ cd .vnc
[.vnc] ls
mymachine.localnet:1.log passwd xstartup

编辑 xstartup。原有的应该看似:

#!/bin/sh

# Uncomment the following two lines for normal desktop:
# unset SESSIO

N_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 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &

这加入下面这行来确定 xterm 会经常存在。假若你希望在 VNC 内执行用户的正常窗口管理员,请按指示除去两行的注释符号。请注意,在一个解像度及色彩深度都可能被降低的 VNC 窗口内,整个桌面将会颇狭窄,及看起来怪怪的。如果你不除去那两行的注释,你的 VNC 窗口将会有班点底色。


#!/bin/sh
# 加入下面这行来确定 xterm 会经常存在。
( while true ; do xterm ; done ) &
# 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 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &
2.5. 引导 VNC 服务器
以 root 身份引导 vncserver。


# service vncserver start
2.6. 测试每位 VNC 用户2.6.1. 以支持 java 的浏览器进行测试
让我们假设我们机器拥有 192.168.0.10 这个 IP 地址。连接到每个户口的 URL 将会是:


Larry 是 http://192.168.0.10:5801
Moe 是 http://192.168.0.10:5802
Curly 是 http://192.168.0.10:5803

连接到 http://192.168.0.10:5801 。一个 java 程序的窗口将会弹出,表示你要连接到机器的 1 号端口。击按 [ok] 按钮。输入 larry 的 VNC 口令,然后一个 640x480 窗口将会通过 larry 缺省的窗口管理员被打开出来。iptables 防火墙必须开放以上这些端口 5801、5802 及 5803 给客户端的 IP 地址或子网络。

2.6.2. 以 vnc 用户机进行测试

Larry 用: vncviewer 192.168.0.10:1
Moe 用: vncviewer 192.168.0.10:2
Curly 用: vncviewer 192.168.0.10:3

要以 vncviewer 测试 larry,执行 vncviewer 192.168.0.10:1。输入 larry 的 VNC 口令,然后一个采用 larry 的缺省窗口管理员的 640x480 窗口将会打开。vncviewer 这个客户端会连接到 590X 这个端口,当中 X 值等于 1、2、3 分别对应 larry、moe 及 curly,因此防火墙必须开放这些端口给客户端的 IP 地址或子网络。

2.6.3. 开机时引导 vncserver
要在开机时引导 vncserver,请输入 /sbin/chkconfig vncserver on 这个指令。

VNC 的基本设置现在已经完成。以下部份是选择性的改善方法来增强安全性及功能。

3. 通过 ssh 隧道将 VNC 加密
你将会通过一条 ssh 隧道来连接。你必须能够用 ssh 登录该机器上的一个户口。举个例说,vncserver 机器上的户口是 larry。

编辑 /etc/sysconfig/vncservers,并加入 -localhost 这个选项。 VNCSERVERS="1:larry 2:moe 3:curly"
VNCSERVERARGS[1]="-geometry 640x480 -localhost"
VNCS

ERVERARGS[2]="-geometry 640x480 -localhost"
VNCSERVERARGS[1]="-geometry 800x600 -localhost"

/sbin/service vncserver restart

进入另一台拥有 vncserver 的机器并测试 VNC。
vncviewer -via larry@192.168.0.10 localhost:1

vncviewer -via moe@192.168.0.10 localhost:2

vncviewer -via curly@192.168.0.10 localhost:3

按预先设置,很多 vncviewer 都会针对它认为是「本地」的连接停用压缩的选项。请查阅 vncviewer 的使用手册来启用/强加压缩。否则,表现可能会很差劲!

4. 在注销后恢复
如果你注销你的桌面管理员,它不会再存在!

我们已在 xstartup 内加入了为我们打开 xterm 的那一行,好让我们能重新引导我们的窗口管理员。
gnome 的话,输入 gnome-session。

kde 的话,输入 startkde。

相关主题
文本预览
相关文档 最新文档