相信使用过Linux系统的用户都会有这样的感觉,在命令行下敲击键盘,会很爽,但是有些时候,图形化的界面,还是能给我们的工作带来很大的便利。 在Linux中,有很多的图形化界面,当你远程想访问一个linux服务器的图形化界面的时候,VNC就是一个避不开的话题。
VNC是一个服务器,客户端模型的软件。在Linux上运行VNC服务器,在你的windows上,或者是其他机器上运行VNC客户端,就可以很便捷地操作服务器的图形化界面了,前提是服务器的图形化界面可以初始化成功哦。
VNC下载地址,你可以去网上去搜索,很多都有,这里就省得啰嗦。
VNC,在RHlinux中,默认已经安装了。只需要简简单单地一步:
- [root@amber DB2]# vncserver
- You will require a password to access your desktops.
- Password:
- Verify:
- New 'xxx.xxx.com:1 (root)' desktop is xxx.xxx.com:1
- Creating default startup script /root/.vnc/xstartup
- Starting applications specified in /root/.vnc/xstartup
- Log file is /root/.vnc/amber.cn.ibm.com:1.log
如果是你第一次启用VNCserver的话,系统会提示你输入一个密码,这个密码是VNCserver的登陆密码。然后,根据系统提示信息,可以看到系统创建了一个以你hostname:1的vnc地址,这个地址是你登陆VNC的时候,要输入的地址。当然了,你要又敲击一边vncserver,会有hostname:2创建出来。
然后,对VNC进行简单配置:
- vi /root/.vnc/xstartup
- 将其中被注释起来的两行放开:
- unset SESSION_MANAGER
- exec /etc/X11/xinit/xinitrc
然后,vi /etc/sysconfig/vncservers,加入一句: VNCSERVERS="1:root",保存,退出。
对VNC服务重启:service vncserver restart
在客户端VNC里输入 hostname:1 或者是ip:1, 会提示你输入密码,这个密码就是刚刚设置的密码,哈哈,是不是已经可以看到远程Linux的桌面了。
小窍门:
修改密码不仅仅可以在vncserver第一次出现的时候设置,也可以通过vncpasswd来修改;
下面这些是引用Javaeye的一些内容: VNC 点击查看详情。
- 遇到问题 :
- 1、通过# ps -ef|grep vnc查看已经启动了vnc服务,但远程计算机连不上,有可能是防火墙的问题,两种解决方法:
- 1)、关闭防火墙,
- # service iptables stop
- 如果需要的话,可以设置防火墙默认不启动(因为我的linux是我办公用的,所以不习惯开着防火墙)
- # chkconfig iptables off
- 2)、如果你的是服务器的话,就得开着防火墙了,可以编辑防火墙的开放端口,加入vnc的开放端口,默认第一个窗口的开放端口是5901,然后以后的开放窗口会在5901的基础上往上加,如果不知道自己的开放端口是多少,可以通过#ps -ef|grep vnc查看到,以5901为例
- # vi /etc/sysconfig/iptables
- 编辑防火墙的开放端口,插入
- -A INPUT -s 203.171.229.198 -i eth1 -p tcp -m tcp --dport 5901 -j ACCEPT
- 这是我的配置,你可以复制你的iptables文件中的配置,然后改一个端口号就行了。:wq保存退出。
- 执行
- # service iptables restart
- 重新启动防火墙,使刚才的设置生效。
- 现在远程计算机应该就能连上了。
- 2、有的linux版本启动vnc服务以后,远程连接是灰屏,解决方法:
- # vi ~/.vnc/xstartup
- 在最后的
- twm &
- 前加入#,将其注释掉,然后加入
- gnome-session &
- :wq保存退出即可。
- 然后执行
- # service vncserver restart
- 重新启动即可。
- 如果还不行的话,可能是重启的时候报错了,可以
- # vncserver -kill :1
- 关闭1窗口,然后
- # vncserver
- 启动,或许启动汇报错,但后提示,让你删除3个文件,你根据目录删除,重新启动即可。
转载于:https://blog.51cto.com/esc3721/485814