昨天花了很久把Amazon EC2的instance搞出来一个图形界面,操作什么的方便了很多。
过程主要参考了视频教程http://www.youtube.com/watch?v=WeIw4CjwQ44
1. 注册Amazon AWS账户,这个过程需要输入有效地信用卡和用户信息。Amazon EC2向用户提供免费的micro instance,内存613M,存储空间8G,每月750小时。只使用这个虚拟机的话是不会收费的。
2. Launch instance。选择一个Ubuntu 12.04 64bit的Image。配置不用改,一路下去,直到在AWS console中看到instance running。
中间有一步要下载一个.pem文件,把这个文件命名为mine.pem,下载之。
3. 到http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html这个页面下载for Windows on Intel x86的PuTTY和PuTTYgen。
4. 打开PuTTYgen,点击Load按钮,加载刚才下载的mine.pem.
选中mine.pem,点击open。然后会弹出一个对话框,点击OK,点击Save private key --> Yes --> 把private key保存为mykey.ppk。
PuTTYgen的操作就算结束了。
5. 运行PuTTY.exe.
HostName or IP address这一栏输入ubuntu@,然后在后面紧接着copy paste Instance的Public DNS,像这样。
然后去SSH下的Auth
在Private key file for authentication这个地方导入刚才生成的mykey.ppk文件,Open --> Yes,会进入下面这个命令行。被涂掉的地方是private IP。
这样就进入到刚才申请到的那个instance里了。
6. 接下来在ubuntu里安装vnc4server。
sudo apt-get update
sudo apt-get install vnc4server
7. 安装好vnc4server后要修改~/.vnc/xstartup这个文件,这一步至关重要。本人昨天花了一下午加一晚上,主要就是卡在这个地方。
先运行vncserver :0,生成一个桌面,同时会在~目录下生成一个.vnc文件夹。这步必不可少。
用vi打开.vnc文件夹下的xstartup文件:
sudo vi .vnc/xstartup
然后进入vi界面。按i键进入insert模式,这样可以编辑文档。
下面要做几个事情:
(1)去掉"#Uncomment the following two lines..."这行话下面的两行的#,这样这两行就不再是comment。
(2)在最后两行话的开头分别加上#或彻底删除之。
(3)在vncconfig -iconic &这行下面添加
gnome-session --session=gnome-classic &
安装gnome:
sudo apt-get install gnome-shell
如果运行时显示没有执行xinitrc的权限的话,要在第二行的exec后加上sh,或者把xstartup设置成chmod +x(命令:chmod +x ~/.vnc/xstartup.)。
然后Esc,:w保存,:q退出vi,这个文件就算编辑好了。如下图:
8. 这部分参考http://blog.csdn.net/zszhi2011/article/details/8473734
在~目录下新建.xsession文件,在.xsession里写一句话“gnome-session --session=gnome-classic”.
没有这个文件直接启动tightvnc viewer的话,会出现"failed to add session ubuntu"的错误。
9. 生成桌面0。
在PuTTY中键入:
vncserver :0
这个会生成一个桌面,编号为0。
如果这是第一次运行vncserver,程序会要求用户输入一个6位以上的密码并verify。把这个密码设为123456。
然后会出现如下输出,说明桌面已经生成。
可以向上面的命令里添加两个参数,设置分辨率和颜色深度。depth设为16,32的话在我的机器上颜色就不对了。
vncserver -geometry 1024x768 -depth 16 :0
如果想停止这个桌面:
vncserver -kill :0
这样instance上的vncserver就跑起来了。
在.vnc下面会相应的生成一个.log文件,如果用vi打开的话,看能会看到若干错误:
我最后也没有能解决这些问题,但是貌似不影响vnc的运行。
10. 在win7中,到http://download.cnet.com/TightVNC-64-bit/3000-7240_4-75708712.html这个页面上下载一个tightvnc,安装之。
11. 回到aws console中,查看instance的security group
在边栏中的Network & Security中找到security group,点击之。
选中launch-wizard-1,在下面的Inbound标签中的Port Range中输入5900-5910的端口,这将是vnc4server中桌面0-10所对应的端口号。然后Add Rule--> Apply Rule Changes。
结果如下。echo request是用来接收ping的。
12. 在win7中打开 Tightvnc Viewer。在Remote Host中输入instance的public DNS,然后在后面输入":桌面编号",0号桌面的话就输入":0",1号输入“:1”,以此类推。
点击Connect,输入刚才设置的密码 123456。OK之。
然后可见如下界面: