SunRay 在 GDM 里直接启动 VirtualBox

virtualbox

最近一直在折腾的 SunRay 已经测试和部署完毕,第一批40台 SunRay 客户端已经从 Solaris 服务器切换到 Linux,用户运行正常,服务器负载也较低,性能还不错,按照部署 Sun Ray 服务器的硬件配置要求,只用了一台 SunFire X2200 M2 就搞定了,配置是 AMD Opteron Quad Core 2.7GHz,8GB RAM,等前段时间订购的内存到了以后就升到 16GB.

如果 SunRay 用户想用 Windows 怎么办?有两种方法,一种是进入 Linux 桌面后用 RDP 远程访问 Windows Terminal Server 服务器;还有一种就是做个 Windows 虚拟机,SunRay 用户登录后进入自己的 Windows 虚拟机,这就是接下来要做的 VDI(Virtual Desktop Infrastructure)服务,只要 SunRay 用户打开 SunRay 瘦客户端后,就出现一个操作系统选择界面,选定一个操作系统后就可以登录进自己的想要的虚拟机。现在的问题是 Sun VDI 只支持 Solaris,而且不是免费的,其他支持 SunRay 的 VDI 产品还有 VMware VDI,VMware 虽然开源了客户端 VMware View Client,但是 VMware View(include VMware VDI)不免费。既然没有免费可用的 VDI,VPSee 就决定用其他的方法来模拟 VDI 的效果,无非就是登录 GDM 的时候提供一个可选的操作系统菜单、选择相应的虚拟系统登录嘛。

1、在 GDM 的 Select Session 上增加一个登录选项,注意 /usr/bin/startxp 脚本现在还没有,需要在后面创建。

# vi /usr/share/xsessions/xp.desktop

[Desktop Entry]
Encoding=UTF-8
Name=Windows XP
Comment=My Virtual Windows XP
Exec=/usr/bin/startxp
Icon=
Type=Application

2、下载和安装 VirtualBox,并设置哪个用户可以运行 VirtualBox.

# yum groupinstall "Development Tools"
# yum install kernel-devel

# rpm -ivh VirtualBox-3.0.8_53138_rhel5-1.x86_64.rpm
# /usr/sbin/usermod -a -G vboxusers yourusername

3、在 VirtualBox 上创建一个叫做 myxp 的虚拟机并安装 Windows XP.

4、创建 /usr/bin/startxp 脚本

# vi /usr/bin/startxp

#!/bin/bash
VirtualBox -startvm myxp

$ chmod 755 startxp

5、在 SunRay 上 Log out 后重新登录,在 Select Session 选项里选择 Windows XP 后就登录到虚拟机上了,shutdown 虚拟机后就又回到 GDM 登录界面。按照同样的方法,可以创建 Ubuntu/OpenSolaris 等多个其他操作系统,只要 VirtualBox 支持就行。

select windows xp session

也可以用这种方法在启动 GDM 的时候用 RDP/VNC/NX 等工具连接到远程虚拟机或者远程桌面,比如:

# vi /usr/bin/startrdp

#!/bin/bash
rdesktop 172.16.39.1

$ chmod 755 startrdp

如果想用 VMware 的话,也可以把 VirtualBox 换成 VMware Player,当然 Windows XP 要重新安装在 VMware 上。

vmplayer -X "/home/vpsee/.vmware/Windows XP/Windows XP.vmx"

评论 (4 Comments)

  1. 方法很巧妙啊,把登录命令集成到gdm的启动菜单里

  2. 会话菜单中不是现实Windows XP,变成了foo,是什么问题呢?

  3. 请教下:
    SunRay 上有操作系统么?一个类似简版linux的OS?
    是先进系统再沟通还是先沟通再进系统?

  4. SunRay 没有操作系统,启动的时候从服务器的一个镜像文件里获得基本的支持,所以应该是先沟通后进系统。

发表评论