VNC是一款不错的远程桌面软件,这里记录一下VNC Server的配置过程。
一、安装 VNC
首先检查一下本机是否安装了VNC,CentOS 5默认有安装VNC, CentOS 6.0 是没有安装的。
检查是否安装,输入:
rpm -q vnc vnc-server
得到:
vnc-4.1.2-14.el5_6.6
vnc-server-4.1.2-14.el5_6.6
那恭喜你,机器上已经安装了vnc,如果没有,就得自己安装了。如果得到:
package vnc is not installed
package vnc-server is not installed
提示没有安装,那么就开始安装,输入:
yum install vnc vnc-server
二、把远程桌面的用户加入到配置文件中
vi /etc/sysconfig/vncservers
使用vi编辑器打开配置文件,在文件中添加下面两行命令
VNCSERVERS="1:root" --指定远程用户
VNCSERVERARGS[1]="-geometry1024x768" --指定远程桌面分辨率
这里是只有一个帐号登录,设置分辨率为1024*768,如果你有多个帐号,则按照下面格式配置:
VNCSERVERS="1:user1 2:user2 3:user3"
VNCSERVERARGS[1]="-geometry1024×768"
VNCSERVERARGS[2]="-geometry1024×768"
VNCSERVERARGS[3]="-geometry 800×600-depth 24 -nolisten tcp -nohttpd -localhost"
解释一下这个文件:
VNCSERVERS 这一行是配置在系统启动时启动几个 VNC server,上面的例子里运行了3个 VNC server,其中 user1 在 display :1,user2 在 display :2,user3 在 display :3。
VNCSERVERARGS 这三行,分别为 VNCserver 1, 2, 3 配置启动参数,上面的例子里对user1 和 user2 使用屏幕分辨率 1024×768,对 user3 使用 800×600,24 色,不支持 tcp,不支持 http 连接,只能在本地测试访问。其中:user1,user2,user3需要添加到系统中,如:
useradd user1 //添加用户user1
passwd user1 //设置用户的linux登录密码注释:在启动VNCserver 时,你也可以为 server指定一个 display 参数。你可以把 display 理解为一个桌面,每个用户都可以有自己的桌面。VNC 客户端在连接时,可以指定连接到哪个桌面上。在系统中,display 号不能重复,也就是说,如果有用户已经建立了名为 “:1” 的 display,另外一个用户就不能再使用 “:1” 了,他可以使用 “:2”。
指定 display 号码的启动 VNC server 的命令是:
vncserver:1
三、给你刚刚设置的远程桌面用户 root 设置密码
vncpasswd
设置其他用户密码,如:
su user1 //切换到用户user1
vncpasswd //设置用户的user1登录密码
exit
四、配置桌面类型
设置一下远程桌面使用那个类型的桌面,分辨率多少等等。输入:
vi ~/.vnc/xstartup
得到:
#!/bin/sh
# Uncomment the following two lines fornormal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
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 "$VNCDESKTOPDesktop" &
#twm &
gnome-session &
使用vi编辑器打开配置文件,并进行下列修改
#xterm -geometry 80x24+10+10 -ls -title"$VNCDESKTOP Desktop"& --将它注释,加#代表注释
#twm & --将它注释
gnome-session & --添加它
一般情况下,我们使用的Linux 桌面都是 “Gnome” 桌面,故配置成这个桌面比较习惯。一看便知,将配置文件的最后两行注释掉,并且加入了一行代码,表明使用的是 “Gnome” 桌面。
然后:
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
将这两行前面的#去掉,否则可能会出现一个黑屏,即无法正常显示linux桌面。
service vncserver start"命令启动vncserver,这时候你再用"netstat -tunlp"命令来查看它启用的端口,可以发现有5801,5901,6001。接下来,是给它开防火墙端口放行。把5801这些端口都加入进去。一般来说,直接在图形界面上加端口会更方便。点“系统-管理-安全级别与防火墙”在里面加入上面的端口号就行了。接下来你可以用http://IP:port的方式来WEB登录比如说http://10.1.10.35:5801,也可以在vncviewer里用10.1.10.35:1这种来登录。打开vnc客户端,server框中输入ip:1 (跟输入端口号是一样的,但是这里是桌面号,记住。),这时你便可以轻松的通过友好的远程桌面来控制centOS了。就这样,发现问题我会及时更新。
最后感谢:http://www.laozhe.net/articles/301.html 老者工作室
http://blog.chinaunix.net/uid-8874157-id-3703697.html edgeman03
http://www.jb51.net/os/windows/44493.html
http://liuzhigong.blog.163.com/blog/static/17827237520117103716419/
Q&A:
1、CentOS Linux下安装配置vncserver解决vnc无法显示桌面问题。
vim /root/.vnc/xstartup将里面配置内容全部删除,并将以下配置内容输入,或直接保存成xstartup然后替换即可(不要忘记给xstartup赋予可执行权限chmod +x xstartup)
#****************************vncserver新配置文件内容**********************
#!/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 &
gnome-session &
配置文件修改后,先杀死已运行的服务,vncserver -kill :1 然后再重新启动vnc服务service vncserver restart,再运行vncserver即可,vncserver端口由系统自动分配,运行vncserver可以看到提示,连接时输入IP地址:端口号即可,输入密码后可以操作,如下面启动vncserver分配的端口号是6,root用户
[root@localhost .vnc]# vncserver
New 'localhost.localdomain:6 (root)' desktop is localhost.localdomain:6Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/localhost.localdomain:6.log
2、VNC 服务:no displays configured
[root@localhost ~]# /etc/init.d/vncserver start
启动 VNC 服务器:no displays configured [确定]
要修改/etc/sysconfig/vncservers文件:
#vi /etc/sysconfig/vncservers
VNCSERVERS="2:root"
VNCSERVERARGS[2]="-geometry 800x600 -query localhost"