系统集成论坛

标题: VNC默认端口修改 [打印本页]

作者: 思考的牛    时间: 2011-4-12 18:32
标题: VNC默认端口修改
vnc的默认端口是5901,这个说法是不对的。vnc并不是只有一个端口。

以前另一个文章介绍了nvcserver的配置用户的过程,里面提到了桌面号,这个桌面号就可以端口有密切关系

先看看这个配置
VNCSERVERS="1:oracle 2:root"
VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp -nohttpd"
......
这里是摘自/etc/sysconfig/vncservers里的一段。 这里就配置了2个桌面,一个桌面号是1, 一个是2.

vncserver在调用的时候,会根据你的配置来启用server端的监听端口, 从5900开始,加上你的桌面号,比如这里的哦oracle就是5901,root就是5902

所以通过这里的桌面号也是可以达到我们的目的的,根据你的目标端口来设定用户的周面好,虽然可以解决,但是总是感觉有些没有拉干净的感觉,这不是这次的研究内容,还是找个痛快的方式吧。

这次的研究主要就是颠覆这样的默认规则,直接的深入进去,我要直接修改5900+为15900+

在网上没有找到比较好的方法和文档,自己动手吧

从vncserver这个启动命令开始吧,
[root@redflag1 ~]# which vncserver
/usr/bin/vncserver

[root@redflag1 ~]# file /usr/bin/vncserver
/usr/bin/vncserver: a perl script text executable

[root@redflag1 ~]# grep "59" /usr/bin/vncserver -n
18:# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
118:$vncPort = 5900 + $displayNumber;
238:# n is taken if something is listening on the VNC server port (5900+n) or the
257:# (5900+n) or the X server port (6000+n).
274: if (!bind(S, pack('S n x12', $AF_INET, 5900 + $n))) {


经过这几个回合,解决方法已经大白于天下了。

这里启动的脚本hard code了5900,我们可以替换这里就OK了

先定义一个$default_port=15900
然后替换118和274行的5900为$default_port就可以了

现在启动服务
[root@redflag1 ~]# service vncserver restart

查看端口
[root@redflag1 ~]# netstat -l | grep 159
tcp 0 0 *:15901 *:* LISTEN
tcp 0 0 *:15902 *:* LISTEN

已经成功了。用vncviewer链接一下。可以了。
作者: 思考的牛    时间: 2011-4-12 18:38
标题: Ubuntu 10.04 修改远程桌面(VNC)默认端口5900的方法
为了修改这个端口可谓大费周章。以前的Ubuntu版本中可以直接设置远程桌面的端口,但是9之后的版本不行了。试了很多方法也没成功,终于在英文论坛中找到方法,解决成功,特此记下,给大家提供个方便

1. Alt+F2 打开 “运行应用程序” 运行 gconf-editor(Gnome Configuration Editor)

2. 在左边的列表里找一下:/desktop/gnome/remote_access,把右边alternative_port属性改成你要的。(默认是5900)


3.在alternative_port点击右键,选择设为默认值,并输入授权密码

4.确认enabled和use_alternative_port的复选框(Checkbox)是选中的

退出重启就能生效了。




欢迎光临 系统集成论坛 (http://bbs.xtjc.com/) Powered by Discuz! X3.1