VNC的使用

1.确认VNC是否安装
默认情况下,Red Hat Enterprise Linux安装程序会将VNC服务安装在系统上。
确认是否已经安装VNC服务及查看安装的VNC版本
[root@testdb ~]# rpm -q vnc-server
vnc-server-4.1.2-9.el5
[root@testdb ~]#

若系统没有安装,可以到操作系统安装盘的Server目录下找到VNC服务的RPM安装包vnc-server-4.1.2-9.el5.x86_64.rpm,安装命令如下
rpm -ivh /mnt/Server/vnc-server-4.1.2-9.el5.x86_64.rpm

2.启动VNC服务
使用vncserver命令启动VNC服务,命令格式为“vncserver :桌面号”,其中“桌面号”用“数字”的方式表示,每个用户连个需要占用1个桌面
启动编号为1的桌面示例如下
[root@testdb ~]# vncserver :1

You will require a password to access your desktops.

Password:
Verify:
xauth:  creating new authority file /root/.Xauthority

New 'testdb:1 (root)' desktop is testdb:1

Creating default startup script. /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/testdb:1.log

以上命令执行的过程中,因为是第一次执行,需要输入密码,这个密码被加密保存在用户主目录下的.vnc子目录(/root/.vnc/passwd)中;同时在用户主目录下的.vnc子目录中为用户自动建立xstartup配置文件(/root/.vnc/xstartup),在每次启动VND服务时,都会读取该文件中的配置信息。
BTW:/root/.vnc/目录下还有一个“testdb:1.pid”文件,这个文件记录着启动VNC后对应后天操作系统的进程号,用于停止VNC服务时准确定位进程号。

3.VNC服务使用的端口号与桌面号的关系
VNC服务使用的端口号与桌面号相关,VNC使用TCP端口从5900开始,对应关系如下
桌面号为“1”  ---- 端口号为5901
桌面号为“2”  ---- 端口号为5902
桌面号为“3”  ---- 端口号为5903
……
基于Java的VNC客户程序Web服务TCP端口从5800开始,也是与桌面号相关,对应关系如下
桌面号为“1”  ---- 端口号为5801
桌面号为“2”  ---- 端口号为5802
桌面号为“3”  ---- 端口号为5803
……
基于上面的介绍,如果Linux开启了防火墙功能,就需要手工开启相应的端口,以开启桌面号为“1”相应的端口为例,命令如下
[root@testdb ~]# iptables -I INPUT -p tcp --dport 5901 -j ACCEPT
[root@testdb ~]# iptables -I INPUT -p tcp --dport 5801 -j ACCEPT

4.测试VNC服务
第一种方法是使用VNC Viewer软件登陆测试,操作流程如下
启动VNC Viewer软件 --> Server输入“144.194.192.183:1” --> 点击“OK” --> Password输入登陆密码 --> 点击“OK”登陆到X-Window图形桌面环境 --> 测试成功
第二种方法是使用Web浏览器(如Firefox,IE,Safari)登陆测试,操作流程如下
地址栏输入http://144.194.192.183:5801/ --> 出现VNC viewer for Java(此工具是使用Java编写的VNC客户端程序)界面,同时跳出VNC viewer对话框,在Server处输入“144.194.192.183:1”点击“OK” --> Password输入登陆密码 --> 点击“OK”登陆到X-Window图形桌面环境 --> 测试成功
(注:VNC viewer for Java需要JRE支持,如果页面无法显示,表示没有安装JRE,可以到http://java.sun.com/javase/downloads/index_jdk5.jsp这里下载最新的JRE进行安装)

5.配置VNC图形桌面环境为KDE或GNOME桌面环境
如果您是按照我的上面方法进行的配置的,登陆到桌面后效果是非常简单的,只有一个Shell可供使用,这是为什么呢?怎么才能看到可爱并且美丽的KDE或GNOME桌面环境呢?回答如下
之所以那么的难看,是因为VNC服务默认使用的是twm图形桌面环境的,可以在VNC的配置文件xstartup中对其进行修改,先看一下这个配置文件
[root@testdb ~]# cat /root/.vnc/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 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &

将这个xstartup文件的最后一行修改为“startkde &”,再重新启动vncserver服务后就可以登陆到KDE桌面环境
将这个xstartup文件的最后一行修改为“gnome-session &”,再重新启动vncserver服务后就可以登陆到GNOME桌面环境

重新启动vncserver服务的方法:
[root@testdb ~]# vncserver -kill :1
[root@testdb ~]# vncserver :1

6.配置多个桌面
可以使用如下的方法启动多个桌面的VNC
vncserver :1
vncserver :2
vncserver :3
……
但是这种手工启动的方法在服务器重新启动之后将失效,因此,下面介绍如何让系统自动管理多个桌面的VNC,方法是将需要自动管理的信息添加到/etc/sysconfig/vncservers配置文件中,先以桌面1为root用户桌面2为oracle用户为例进行配置如下:
格式为:VNCSERVERS="桌面号:使用的用户名 桌面号:使用的用户名"
[root@testdb ~]# vi /etc/sysconfig/vncservers
VNCSERVERS="1:root 2:oracle"
VNCSERVERARGS[1]="-geometry 1024x768"
VNCSERVERARGS[2]="-geometry 1024x768"

7.修改VNC访问的密码
使用命令vncpasswd对不同用户的VNC的密码进行修改,一定要注意,如果配置了不同用户的VNC需要分别到各自用户中进行修改,例如在我的这个实验中,root用户和oracle用户需要分别修改,修改过程如下:
[root@testdb ~]# vncpasswd
Password:
Verify:
[root@testdb ~]#

8.启动和停止VNC服务
1)启动VNC服务命令
[root@testdb ~]# /etc/init.d/vncserver start
Starting VNC server: 1:root
New 'testdb:1 (root)' desktop is testdb:1

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/testdb:1.log

2:oracle
New 'testdb:2 (oracle)' desktop is testdb:2

Starting applications specified in /home/oracle/.vnc/xstartup
Log file is /home/oracle/.vnc/testdb:2.log

                                                           [  OK  ]
2)停止VNC服务命令
[root@testdb ~]# /etc/init.d/vncserver stop
Shutting down VNC server: 1:root 2:oracle                  [  OK  ]
3)重新启动VNC服务命令
[root@testdb ~]# /etc/init.d/vncserver restart
Shutting down VNC server: 1:root 2:oracle                  [  OK  ]
Starting VNC server: 1:root
New 'testdb:1 (root)' desktop is testdb:1

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/testdb:1.log

2:oracle
New 'testdb:2 (oracle)' desktop is testdb:2

Starting applications specified in /home/oracle/.vnc/xstartup
Log file is /home/oracle/.vnc/testdb:2.log

                                                           [  OK  ]
4)设置VNC服务随系统启动自动加载
第一种方法:使用“ntsysv”命令启动图形化服务配置程序,在vncserver服务前加上星号,点击确定,配置完成。
第二种方法:使用“chkconfig”在命令行模式下进行操作,命令使用如下(预知chkconfig详细使用方法请自助式man一下)
[root@testdb ~]# chkconfig vncserver on
[root@testdb ~]# chkconfig --list vncserver
vncserver       0:off   1:off   2:on    3:on    4:on    5:on    6:off
### TightVNC 使用指南 #### 一、TightVNC 的简介 TightVNC 是一种基于 VNC 协议的轻量级开源软件,支持跨平台远程桌面功能。它允许用户通过网络连接到另一台计算机并控制其图形界面[^2]。 --- #### 二、安装 TightVNC 服务器 要在 RHEL、CentOS 或 Fedora 系统上安装 TightVNC 服务器,请按照以下方法操作: 1. **更新系统包** 更新系统的软件包以确保兼容性和稳定性。 ```bash sudo yum update -y ``` 2. **安装 TightVNC 和其他依赖项** 安装 `tigervnc-server` 软件包及其必要的工具。 ```bash sudo yum install tigervnc-server -y ``` 3. **配置 TightVNC 用户密码** 设置用于验证客户端的身份密码。 ```bash vncpasswd ``` 输入两次相同的密码,并可选地设置只读模式下的密码。 4. **启动 TightVNC 服务** 创建一个新的实例文件 `/etc/systemd/system/vncserver@:1.service` 并编辑如下内容: ```ini [Unit] Description=Remote desktop service (VNC) After=syslog.target network.target [Service] Type=forking User=<your_username> PAMName=login PIDFile=/home/<your_username>/.vnc/%H:%i.pid ExecStartPre=-/usr/bin/vncserver -kill :%i >/dev/null 2>&1 ExecStart=/usr/bin/vncserver :%i -geometry 1280x800 -depth 24 ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.target ``` 替换 `<your_username>` 为您实际使用的用户名。 5. **启用并启动服务** 启动并设置开机自启该服务。 ```bash sudo systemctl daemon-reload sudo systemctl enable vncserver@:1.service sudo systemctl start vncserver@:1.service ``` 6. **防火墙配置** 打开默认的 VNC 端口(通常是 5901),以便外部访问。 ```bash sudo firewall-cmd --add-port=5901/tcp --permanent sudo firewall-cmd --reload ``` --- #### 三、连接至 TightVNC 服务器 为了成功连接到运行中的 TightVNC 服务器,需完成以下几个步骤: 1. **获取目标主机的信息** 记录下服务器的 IP 地址和对应的端口号(如 `172.16.25.126:5901`)。如果未指定,则默认为 `5901` 表示第一个显示编号。 2. **下载并打开 VNC 客户端** 下载适用于您的操作系统版本的 TightVNC Client 或任何其他兼容的 VNC 查看器程序。 3. **输入连接参数** 在客户端窗口中填写完整的地址形式,例如:`<IP>:<display_number>` (即 `172.16.25.126:1` 对应于端口 5901)。 4. **认证登录** 当提示时提供之前设定好的 VNC 密码即可建立会话链接[^3]。 --- #### 四、高级特性——文件传输 除了基本的屏幕共享外,部分实现还提供了附加的功能比如文件交换能力。对于某些环境来说可以直接利用内置选项或者借助第三方插件达成目的;而针对 Web 浏览场景则有专门设计的支持 HTML5 技术方案可供选用[^4]。 ```python import os os.system('scp local_file user@remote_host:/path/to/destination') ``` 上述脚本展示了另一种可能的方式 —— 利用 SCP 命令来进行数据同步作业而非单纯依靠 GUI 工具本身自带的方法论探讨而已并非强制要求必须如此执行每一步骤动作才行哦! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值