热搜词
发表于 2013-4-17 12:46:22 | 显示全部楼层 |阅读模式
ubuntu自带的远程桌面是vino-server,我在网上搜了一下,更多查到的是vnc4server。不过这两个远程桌面着实让我郁闷了一番,所以,其实这篇日志是来 发牢骚的。O(T_T)O

1.vino-server

先说vino是因为它是ubuntu自带的远程桌面。vino的好处是你的控制是跟在本地是一样的,你在远程打开的窗口,当你去本地登录时会发现这些窗口都在,如果两台机器离的不远,你甚至可以看见那个桌面上的鼠标跟着 你窗口的一起在移动。但缺点就是如果你想远程连上vino,必须首先到远程服务器那边登录机器,进入系统(相当于创建了一个Session)之后,才能在本地使用远程桌面连接这个远程服务器。换句话说,你远程重启机器后,就没办法在用vino登录上那台机器了。这个缺点导致Vino-Server有时极为不方便。 那么,我们如果要解决这个问题,可以通过安装VNC Server来解决。


ubuntu下开启vino的方法倒是很简单:

服务端:
点击 系统(System) —> 首选项(Preferences) —> 远程桌面(Remote Desktop)

选上“允许其他人查看您的桌面”、“允许其他用户控制您的桌面”和“要求用户输入此密码”,不要选上“请您确认”。具体开通办法,如下图所示:

01.png


在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),而不是中英文的乘号!)

然后会在当前用户的根目录下生成.vnc的文件夹,进入.vnc的文件之后,修改xstartup文件
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
全部评论0
回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|管理员之家 ( 苏ICP备2023053177号-2 )

GMT+8, 2024-12-24 09:50 , Processed in 0.205107 second(s), 30 queries .

Powered by Discuz! X3.5

Cpoyright © 2001-2024 Discuz! Team