其中Vino-Server是Ubuntu自带的远程桌面服务器,也就是在系统(System) —> 首选项(Preferences) —> 远程桌面(Remote Desktop)下,可以很容易开启,然后就可以使用VNC Viewer进行远程桌面连接。具体开通办法,可以参见《Ubuntu下开启远程桌面的方法》。不过,这种自带的Vino-Server方式有一个最显著的缺点:那就是当你重启机器之后,必须首先到远程服务器那边登录机器,进入系统(相当于创建了一个Session)之后,才能在本地使用远程桌面连接这个远程服务器。这个缺点导致Vino-Server有时极为不方便。
那么,我们如果要解决这个问题,可以通过安装VNC Server来解决。在Ubuntu下安装VNCServer的过程非常简单:
(1)安装VNCServer
使用ssh登录Ubuntu,执行命令:sudo apt-get install vnc4server
(2)关闭原来Ubuntu Server自带的远程桌面
可以先使用VNCViewer连接到Ubuntu上,然后在系统(System) —> 首选项(Preferences) —> 远程桌面(Remote Desktop)下,去掉第一个勾。这个时候你的VNCViewer就会自动断开。
(3)配置VNCServer
在ssh到Ubuntu的命令行中,运行如下命令:vncpasswd,注意不用加sudo。
这个命令是为当前用户设定远程桌面密码的。
(4)启动VNCServer
vncserver -geometry 1280×800 -alwaysshared :1
这个命令包含了3个参数,第一个参数geometry表示分辨率,你可以指定适合自己桌面的分辨率;第二个参数alwaysshared表示运行多个人同时连接到同一个桌面;第三个参数:1表示开启一个1号远程桌面,此时你可以使用ip:1来连接这个远程桌面。(注意:上面1280与800之间的连接符为英文字母x(xyz的x),而不是中英文的乘号!)
vim .vnc/xstartup (假设你此时在用户根目录下)
注释掉 twm & (即在这一行的最开头加上一个#) ,在文件最后添加一行gnome-session &,保存退出。
(5)使用VNCViewer连接这个远程桌面
在VNCViewer中,输入ip加桌面号,即 X.X.X.X:1 即可连接刚才的远程桌面,密码为之前设定的密码。
这样,当你再次重启服务器之后,就不必跑到服务器前登录系统,而可以首先使用ssh登录Ubuntu,执行以上第4步命令,就可以开启一个远程桌面,然后就可以使用VNCViewer连接这个远程桌面了。
我也曾经尝试能否在Ubuntu下自动启动VNCServer,自动启动一个远程桌面,不过很遗憾,在网上查到的方法多是针对其他的Linux的方 法,在Ubuntu下目录结构完全不同,一些极少数在Ubuntu下自动启动VNCServer的文章也不适合Ubuntu 9.04 Server版,因此最终我没有在Ubuntu 9.04 Server上实现自动启动VNCServer的方法。就是每次重启机器之后,得先多一步ssh启动VNCServer的步骤。先这么用着吧。
备注:另外,如果想要关闭一个远程桌面,可以使用如下命令:
vncserver -kill :1
其中,":1"表示的创建远程桌面时的桌面号。
修改分辨率:vncserver -geometry 1280×800