免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7127 | 回复: 8
打印 上一主题 下一主题

发个LINUX下VNC安装的教学贴 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-05-20 12:50 |只看该作者 |倒序浏览
本帖最后由 带脚镣跳舞 于 2010-05-20 12:51 编辑

今天装了下VNC,解决了不少问题,写个教学贴,给新手们看看,如果你们碰到同样的问题,就可以迅速解决,无需头疼甚至放弃了。
系统环境
VM+RHEL5.1
[root@localhost .vnc]# uname -r
2.6.18-53.el5xen

本地XP系统安装VNCVIEW去控制VM中的RHEL5.1

下面在LINUX上安装VNCSERVER

1、去www.realvnc.com去下载免费版for x86 linux

2、下载是一个tar.gz文件,解压后进入文件夹,里面有个README,请注意这块不要下载RPM包,依赖问题以及包头的安全签名会让你很郁闷的。

3、解压缩,进入该文件夹,按照readme 要求执行4步

   % ./vncinstall /usr/local/bin
% ./vncinstall /usr/local/bin /usr/local/man
% mkdir -p /usr/local/vnc/classes
% cp java/* /usr/local/vnc/classes

4、启动VNCSERVER,输入连接密码

5、可能会提示linux1x: error while loading shared libraries: libstdc++-libc6.2-2.so.3: cannot open shared object file: No such file or directory
去下载libstdc++-libc6.2-2.so.3,放到/usr/lib里面, (这个我碰到了,通过下载这个SO文件解决了)

下面这个方法在这个版本中不可取,我已经试过,是无效的

在我的系统上ls命令的结果是 libstdc++.so.5.0.7 libstdc++.so.6.0.8
libstdc++.so.6.0.8就是我们要找的,给它做个链接
代码:
$ sudo ln -s libstdc++.so.6.0.8 libstdc++-libc6.2-2.so.3

会出现如下错误:
vncpasswd: symbol lookup error:vncpasswd: undefined symbol: __builtin_vec_new
看到这个错感觉就是那两个库不一样造成的字符未定义


6、继续启动vncserver,可能还有错误,如下

vncext: VNC extension running!
vncext: Listening for VNC connections on port 5901
vncext: Listening for HTTP connections on port 5801
vncext: created VNC server for screen 0
error opening security policy file /usr/X11R6/lib/X11/xserver/SecurityPolicy
Could not init font path element /usr/X11R6/lib/X11/fonts/misc/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/Speedo/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/Type1/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/CID/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/75dpi/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/100dpi/, removing from list!

Fatal server error:
could not open default font 'fixed'
xsetroot: unable to open display 'localhost.localdomain:1'
vncconfig: unable to open display "localhost.localdomain:1"
Warning: This program is an suid-root program or is being run by the root user.
The full text of the error or warning message cannot be safely formatted
in this environment. You may get a more descriptive message by running the
program as a non-root user or by removing the suid bit on the executable.
xterm Xt error: Can't open display: %s


原因:vncserver默认寻找的X系统的字体路径在/usr/X11R6/lib/X11/fonts/下,但RHEL5却在/usr /share/X11/fonts/下
解决:mkdir /usr/X11R6/lib
cd /usr/X11R6/lib
ln -s /usr/share/X11 X11

7、在XP上启用vncview,注意,这个里面填写的IP地址加桌面号,一般是1,但是如果有多人登录桌面可能就不是1,需要询问管理员,如下格式:192.168.1.102:1

[root@localhost ~]# netstat -an |grep 01
tcp        0      0 0.0.0.0:5801                0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:5901                0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:6001                0.0.0.0:*                   LISTEN   

8 、VNC连接成功后,发现只有TWM界面,不是传说中的桌面,修改如下

去掉中以下两行前面的#号,让vnc加载默认图形界面程序
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc

这两行可能有些文件中没有,需要手动添加,没有是显示不了桌面的

修改下面这个东西

把最后一行 twm& 改成------->gonme-session &

附:我的配置文件
#!/bin/sh

[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
gnome-session &
~


9、日志文件中的错误

日志文件位置在root主目录下的隐藏文件 /root/.vnc/localhost.localdomain:1.log 或者是2.log上,这个1和2的区别就是桌面号了,不同的桌面号对应的不同的LOG文件

error opening security policy file /usr/X11R6/lib/X11/xserver/SecurityPolicy
Could not init font path element /usr/X11R6/lib/X11/fonts/Speedo/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/CID/, removing from list!

这个几个错误一直存在,但是目前没有发现VNC正常运行。请大侠们指点指点。

BTW:一般桌面号启动都是1,可以通过命令来控制vncserver :10 那这样桌面号就变成10,登录的时候就是XX.XX.XX.XX:10就OK了

10、把VNC加入服务,每次启动自动开启
这个就不用说了,chkconfig add即可。

论坛徽章:
0
2 [报告]
发表于 2010-05-20 13:18 |只看该作者
不错,收藏,说不定以后能用上

论坛徽章:
0
3 [报告]
发表于 2010-05-20 13:38 |只看该作者
支持一下

论坛徽章:
0
4 [报告]
发表于 2010-05-20 15:16 |只看该作者
RHEL5.1自带vncserver的,有必要这么麻烦么?

论坛徽章:
0
5 [报告]
发表于 2010-05-20 15:18 |只看该作者
如果要在vnc里使用中文输入法在.vnc/xstartup文件里加上“scim -d”

论坛徽章:
0
6 [报告]
发表于 2010-05-20 15:40 |只看该作者
:wink:支持!

论坛徽章:
0
7 [报告]
发表于 2010-05-20 16:07 |只看该作者
支持,尽管笨,很实用

论坛徽章:
0
8 [报告]
发表于 2010-05-21 10:27 |只看该作者
补充:
1安装
vnc
vnc-server

2初始化vnc
vncserver
设置密码
        --(初始化vnc后会在宿主目录下生成一个.vnc的文件夹,下面包括vnc的配置文件)
3添加vnc用户
编辑/etc/sysconfig/vncserver
VNCSERVERS="2:root"

4启动服务
chkconfig --level 35 vncserver on
service vncserver restart

5通过netstat -nal 看5901端口是否开启如果没有开启可使用putty执行下
vncserver  就OK

6使用vncclient连接vnc
ip:192.168.1.x:1
密码:

7如果登陆后没有terminal,说明没有安装xterm包
安装xterm就可以正常使用了


PS
防火墙开启vnc端口
vi /etc/sysconfig/iptables
添加
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5901 -j ACCEPT

OK

论坛徽章:
0
9 [报告]
发表于 2010-05-21 15:42 |只看该作者
不错,收藏
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP