Ubuntu 12.04 VNC server 5.0.x [RealVNC] 的配置和使用
实验室的server从10.04 LTS升级到12.04 LTS,升级真是痛苦的过程。很多软件更新后同以前的配置都变的不一样了。这次主要说说作为远程桌面的RealVNC。[本文主要针对linux下的经典gnome配置,windows的请飘过吧。]我们都知道Ubutnu自从引入Unity作为默认桌面后,争议不断,gnome也在这个时候升级到了第三个版本。我想这无疑对用户是个严重的
实验室的server从10.04 LTS升级到12.04 LTS,升级真是痛苦的过程。很多软件更新后同以前的配置都变的不一样了。这次主要说说作为远程桌面的RealVNC。[本文主要针对linux下的经典gnome配置,windows的请飘过吧。]
我们都知道Ubutnu自从引入Unity作为默认桌面后,争议不断,gnome也在这个时候升级到了第三个版本。我想这无疑对用户是个严重的影响,毕竟操作习惯的严重改变挑战了用户对系统的热情,况且两款桌面的同时变化让熟悉gnome风格的fans们有点无所适从。貌似有点跑题,其实不是的。新桌面的引入对VNC配置文件也造成了影响。原来默认针对gnome 2.x的配置文件发现总是出现各种问题,而对gnome 3的支持又不完善。那么RealVNC 5带给了我们什么呢?
1. RealVNC的安装
VNC 5.0的安装倒是没什么太值得探讨的,到官方网站上http://www.realvnc.com/download/去下载。官网提供了debian的安装包,下回来双击运行就是了。
5.0的server跟vnc4server有明显的不同:
首先:VNC分为了免费版,个人版和企业版。就算用免费版也要去申请个license,地址:http://www.realvnc.com/products/vnc/licensing/。
其次:新的VNCsever目前提供了两种VNC接入方式,一种是类似系统自带的远程桌面模式的接口,单用户,远程桌面和本地桌面完全同步。另一种就是多用户的虚拟桌面的登录方式,用户间彼此不干扰,跟原本vnc4server时一样。
2.单用户远程桌面。
新版的VNCsever使用了图形界面的控制方式,但是这种方式无法通过SSH等远端的命令启动。对应的程序是vncserver-X11。要记得在more -> option选项中设置密码,否则无法从远程登录。
如果设置完毕,没有问题的话主界面上会用绿色表示,告诉你已经准备等待接入了。这时用vncviewer登录就可以了。
服务端运行后可以用右下角Hide来隐藏。
同多用户的接入不同,用vncviewer接入时地址后面不需要追加桌面号。如 :1。
点击connect后会问你要密码,添刚才在服务端设置的密码就是了。
这种链接方法同windows的3389接入一样,有其他用户登入就会被顶下来,但是设置比较方便,目前还没遇到什么桌面出现问题。
3.多用户接入的配置
现在这个时间点ubuntu 13.04也快发布了,对12.04来说,已经称不上新版了,但正如前面所说,unity和gnome3的引入改变了很多用户的习惯,VNC的设置在KDE下是否有变化我不是太清除。Unity下设置的例子网上也可以搜到。这里介绍的也仅仅是gnome经典桌面下的配置。
gnome桌面目前分为gnome3和gnome-classic。gnome-classic样式跟经典的gnome2是很相像的,但据说内核用的也是gnome3的内核。RealVNC官方网站上也有说VNC在gnome的一些桌面下显示不正确,貌似跟登录管理器或者显卡驱动有些关系,我用gnome3没有成功,但是经典gnome桌面还是可以用这种方法实现的。
如果没有安装经典的gnome桌面的话要先安装。
点击(此处)折叠或打开
- sudo apt-get install gnome-session-fallback
先说启动服务。多用户的服务的启动跟单用户不同,是通过vncserver-virtual来启动的,这一步跟经典到vnc4server一样,而且最重要的是可以通过远程ssh来启动,不像前面的模式,必须手动在那台机器上先启动。第一次用要记得用vncpasswd命令设置密码。每运行一次vncserver-virtual都会新建一个虚拟桌面来供接入。在提示信息中会告诉你当前启动到桌面号。如果要杀掉某个桌面的话用“vncserver-virtual -kill :x”来杀死指定的桌面,x为桌面号对应的数字,注意,kill与冒号间有个空格。
多用户一个最大的问题就是远程桌面链接进来后桌面显示不正确。我们看下配置文件。
新版的默认配置文件没在用户文件夹下(~/.vnc/xstartup),而是在 /etc/vnc下面。
点击(此处)折叠或打开
- #!/bin/sh
-
- # Default VNC Server (Virtual-Mode) start-up script.
- #
- # This file is automatically generated. DO NOT EDIT.
- # To override settings in this file, create or edit /etc/vnc/xstartup.custom
- # and make it executable. This will then be executed instead of this file.
-
- [ -x /etc/vnc/xstartup.custom ] && exec /etc/vnc/xstartup.custom #这里是检查是否有用户自定义的配置文件,如果有优先运行用户自定义的文件,建议不要修改这个文件,而是用自己新定义的文件来运行。
-
- [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
- xsetroot -solid grey
-
- if [ -f /usr/bin/gnome-session ]; then #这里是检查已经安装的session,对其进行设置。虽然原则上安装了应该可以用,但是如果没问题,我们就不会这么纠结了。
- # Some gnome session types won't work with Xvnc, try to pick a sensible
- # default.
- for SESSION in "ubuntu-2d" "2d-gnome"; do
- if [ -f /usr/share/gnome-session/sessions/$SESSION.session ]; then
- DESKTOP_SESSION=$SESSION; export DESKTOP_SESSION
- GDMSESSION=$SESSION; export GDMSESSION
- STARTUP="/usr/bin/gnome-session --session=$SESSION"; export STARTUP
- fi
- done
- fi
-
- if [ -x /etc/X11/Xsession ]; then /etc/X11/Xsession #这里面也是判断该运行那个session。
- elif [ -x /etc/X11/xdm/Xsession ]; then /etc/X11/xdm/Xsession
- elif [ -x /etc/X11/xinit/Xsession ]; then /etc/X11/xinit/Xsession
- elif [ -x /etc/gdm/Xsession ]; then /etc/gdm/Xsession gnome-session
- elif [ -x /etc/kde/kdm/Xsession ]; then /etc/kde/kdm/Xsession
- elif [ -x /usr/dt/bin/Xsession ]; then
- XSTATION=1 DTXSERVERLOCATION=local /usr/dt/bin/Xsession
- elif [ -x /usr/dt/bin/dtsession ]; then /usr/dt/bin/dtsession
- else
- if which twm > /dev/null 2>&1; then #用过vnc4server的朋友应该对这里非常熟悉,我们那个时候为了登入gnome桌面也要对这里进行相应的修改的。
- xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
- twm
- else
- xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop"
- fi
- fi
-
- vncserver-virtual -kill $DISPLAY #最后这里是如果有已存在的链接先杀掉。我不太清楚它的意义。以前的没有也用的好好的。
原始文件的问题在于,它检测的列表里存在多个可登入的session时,它会按默认顺序来登入,而且默认是没有gnome的配置的。对于登入经典gnome来说,我们自己写个配置文件就可以了。
点击(此处)折叠或打开
- #!/bin/sh
-
- [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
-
- xsetroot -solid grey
-
- DESKTOP_SESSION="gnome-fallback"; export DESKTOP_SESSION
- GDMSESSION="gnome-fallback"; export GDMSESSION
- STARTUP="/usr/bin/gnome-session --session=gnome-fallback"; export STARTUP
-
- vncconfig -iconic &
- xterm -geometry 1680x1050+10+10 -ls -title "$VNCDESKTOP Desktop" &
- gnome-session-fallback
第3行:跟默认配置比起来默认配置的第一行要去掉,否则就成了反复运行用户自定义的配置文件了。
第5行:没有变化。
第7~9行:环境设置部分不要依赖系统去判断了,不过你从默认配置的路径中应该知道你去哪里查找你都安装了哪些session和系统可能回去检查调用哪些。只要按照路径去看看就清除了。
由于我们用的是经典gnome,那么将$SESSION变量都替换成gnome-fallback就可以了。这里要注意,跟上面安装的名称是不一样的,上面的是“gnome-session-fallback”,但/usr/share/gnome-session/sessions/下的名字是“gnome-fallback”,一定要亲自去查看下在添。
第11行:没有变化。
第12行:是远程接入时默认桌面大小的设置,这个完全可以在初始化桌面时在参数中指定,这里原来默认的是80x24,改不改我没看出啥作用。启动时设置为:
点击(此处)折叠或打开
- vncserver-virtual -geometry 1680x1050 #你自己显示器的分辨率
第13行:最后一行以前vnc4时也要修改,登入gnome桌面要改为 gnome-session,在现在这个版本下对应的session就是“gnome-session-fallback”。
多用户的登录跟以往没什么区别。
地址后面“冒号+桌面号”,connect后填上密码就可以进入了。
写了一堆,还有很多细节没有提及,其它桌面的接入也没有尝试是否正常,有兴趣的可以自己根据自己的情况修改下,看看是不是可以正常运行。这里就起到个抛砖引玉的作用吧。
更多推荐
所有评论(0)