用 Thinstation 构建桌面云瘦客户端
, 软件工程师, IBM
, 软件工程师, IBM
简介: 本文将介绍目前桌面云环境下一个具有很强通用性的瘦客户端开源端软件 —— Thinstation,并通过一个在线镜像创建实例,一步步的引导读者创建基于自己硬件配置的自定制 Thinstation 镜像。
本文的标签:  , , 
发布日期: 2011 年 4 月 13 日 
级别: 中级 
访问情形 2133 次阅读 
建议: 2 ()
 平均分 (共 4 个评分 )
桌面虚拟化是现今虚拟化技术的热点领域,桌面云计算也成了目前云计算领域炙手可热的话题。桌面云计算通过把计算能力转移到服务器端,同时以虚拟桌面的形式替代个人电脑,大大降低了企业本钱。在桌面云的世界里,用户利用的客户端也不同于传统意义上的客户端。瘦客户端(Thin Client),是一种普遍采用的客户端模式,它不仅能够专门好的适应桌面云的计算环境,更为重要的是,它能够进一步节约企业本钱,提升桌面云计算解决方案的价值和吸引力。
本文将介绍目前桌面云环境下流行的一个开源客户端软件—— Thinstation。Thinstation 是一个轻量级但功能十分壮大的开源瘦客户端操作系统,它支持几乎所有主流的连接协议,例如 Citrix ICA,RDP,VMWare View Open client,telnet,SSH 等等。Thinstation 通过内嵌的协议客户端软件支持现今几乎所有的主流桌面云解决方案,是一个具有很强通用性的瘦客户端解决方案。
Thinstation 的另一个特点是用户通过它所提供的完全免费的在线镜像创建环境——利用阅读器创建自定制的 Thinstation 镜像文件。那个特点使得用户摆脱了复杂的镜像创建环境配置,
极大的简化了创建进程,增强了其自身的普及性。本文将利用这一特性,通过一个在线镜像创建的实例,一步步的引导读者创建基于自己硬件配置的自定制 Thinstation 镜像。
桌面云客户端概述
在桌面云计算中,用户所利用的客户端与传统的 PC 客户端相较,发生了专门大的转变。在桌面云中,用户桌面运行在服务器端,计算能力和数据存储主如果由服务器端来提供。客户端所提供的功能主如果集中于对用户桌面的展示和对用户动作的响应。因此,与传统的 PC 客户端相较,桌面云计算中的客户端并非需要很强的本地计算能力和数据存储能力。伴随着这种应用模式的转变,在当前的桌面云解决方案中,一种普遍采用的客户端模式是瘦客户端(Thin Client)。
桌面云计算环境中的瘦客户端(Thin Client)通常指的是一种依赖于远端服务器计算能力和存储能力而运行在用户侧的客户端软件或硬件设备。它通过显示设备、键盘、鼠标和大体的本地计算能力来实现本地桌面和运行于远端服务器中的用户桌面之间的交互。通过瘦客户端,用户桌面中键盘和鼠标输入被发送到远端桌面计算环境。当远端服务器完成相应的计算后,响应的桌面屏幕输出被返还给客户端,从而用户能够取得相应的桌面界面更新。通过瘦
客户端,用户能够取得与传统 PC 一样的桌面系统体验。
瘦客户端通常不处置和存储任何用户数据,它只提供用户桌面的界面展示。可是,瘦客户端仍然需要操作系统的支持来运行。但是与传统的操作系统相较,瘦客户端一般只需要一个轻量级的操作系统运行环境。对于瘦客户端的底层硬件,它能够是一个被转换而从头利用的老式 PC、一个崭新的专用的特定瘦客户端设备(比如 Wyse),或是一个新的装有瘦客户端操作系统的低配置廉价 PC。因此,与传统的个人 PC 相较,基于桌面云的瘦客户端解决方案能够进一步发挥云计算所带来的本钱节约优势。
Thinstation 简介
Thinstation 是一个大体的,轻量级但超级壮大的免费开源瘦客户端操作系统。对于运行环境,它基于 Linux 操作系统,运行在 32 位 x86 PC 硬件平台上。它对底层硬件系统的要求超级低 —— 只需要大于等于 100 MHz 的奔腾处置器和至少 32MB 的 RAM 支持。因此,企业能够通过重用老式、低配的台式电脑来利用它,超级节约企业本钱。对于用户来讲,它超级透明,用户不会觉察到底层基于 Linux 的操作系统的存在。用户能够在启动时按照自概念的系统配置直接连接到远程虚拟桌面,或在启动后通过一个基于 Microsoft Windows 风格的
本地用户界面环境进行虚拟桌面连接。
连接协议支持
Thinstation 最大的特点是它支持现今大多数流行的连接协议,而且内嵌了现今主流桌面云解决方案中所支持的客户端应用程序,从而极大增强了其普及性,具有很强的通用性。Thinstation 是一个独立的系统,通过它进行虚拟桌面连接时,并非需要对远端的虚拟桌面服务器进行任何配置修改,只要保证它们之间的连接可达性既可。Thinstation 当前所支持的连接协议有:
Citrix ICA
NoMachine NX
2X ThinClient
Microsoft Windows terminal services (RDP, via RDesktop)
VMWare View Open client
Cendio ThinLinc
Tarantella
X
telnet
tn5250
VMS terminal
SSH
值得注意的是,对于占桌面云领域市场份额前两位的两大云计算供给商 Citrix 和 VMWare,Thinstation 别离提供了对于其桌面云产品 Citrix XenDesktop 和 VMWare View 的客户端应用支持 —— Citrix ICA 和 VMWare View Open client。
系统配置文件
在 Thinstation 系统中,有两种系统配置文件。第一种配置文件是在系统编译创建时所用到的系统创建配置文件“”。那个配置文件需要在系统编译创建时进行由用户进行创建和编辑的。它决定了创建出来的 Thinstation 启动文件中所包括的硬件驱动模块信息、应用程序信息和系统特性信息。用户能够按照自己的实际硬件环境和系统应用需求来自概念那个配置文件。一个系统创建配置文件的简化实例如下。
清单 1. 系统配置文件  的实例
               
### --- Modules to include in boot image --- ###
#!Hardware
#!!System
#!!!Bus Modules
module pcm                    # PCMCIA Cards
module serial                  # Serial Device Support
module acpi          # Advanced Configuration and Power Interface support
#!!!AGP Modules
module agpgart                # AGP bus module for use with AGP video cards
#module ali-agp                  # ALI chipset support
#module amd64-agp              # AMD Opteron/Athlon64 on-CPU GART support
#module amd-k7-agp            # AMD Irongate, 761, and 762 chipset support
...
### --- Packages to include in boot image --- ###
# --- Packages to include in boot image
# --- Packages below may be "package" or "pkg"
#!!Miscellaneous
#package hwclock      # Utility to set system time from hardware clock
#package sound-esd  # Enable sound-esd or sound-nasd if you want to be able to
#                            control
#package sound-nasd  # sound on your thin client from another computer or
#                            your remote session.
#package iptables                # IP Tables support
...
### --- Miscellaneous Parameters --- ###
#!!Basic
param rootpasswd    b1ttler# Do Change!  Console/telnet password for root
#                            If this is enabled, Telnetd will be enabled.
param xorgvncpasswd  b1ttler                # VNC Access Password
param storagepasswd  pleasechangeme          # Password for storage server
param dialuppasswd  pleasechangeme          # Password for dialin account
param sambapasswd    pleasechangeme  # Password for samba shares when using user
#                                        mode security
param bootlogo      true                    # Backgound picture during boot
param bootresolution 1024x768    # Resolution used during Thinstation boot
...
需要注意的是,在设置系统的硬件驱动模块信息时,不要配置多余的驱动模块信息,仅仅包括与当前系统硬件配置相关的模块驱动信息即可。无用的驱动模块信息设置,会增加系统启动文件的创建时刻,更为重要的是,它会延长系统的启动时刻。
第二个系统配置文件是在 Thinstation 系统启动时所用到的系统环境初始化配置文件“。那个文件设置了系统启动时的系统环境初始化信息,比如对键盘,时区,USB,打印机的系统信息设置,和对连接协议(如 ICA,RDP,NX)和用户虚拟桌面连接 session 的初始化属性设置等。一个系统环境初始化配置文件的简化实例如下。
清单 2. 系统配置文件  的实例
               
# --- General Options
#
# AUDIO_LEVEL            Audio Level for sound, 0-100
# KEYBOARD_MAP      Keyboard layout
# TIME_ZONE          Used to set time zone on TS client by entering the UTC offset.
#                This can be set automatically if the appropriate dhcpc option is session下载
#                      selected
#                        (Option 2, time offset in seconds)
# SYSLOG_SERVER          Log server ip address or hostname.
#                        If the work "local" is used, then syslog starts logging locally
#                        If not specified syslogd is not loaded.
# USB_ENABLED            Enable USB Drivers into memory if USB package is chosen
# DAILY_REBOOT            Will reboot server if up over a day and one of the session
#                        types is closed
# AUTOPLAYCD              If enabled this will autoplay music cds when inserted.
# CUSTOM_CONFIG      Allows choosing custom boot config, On/Off
# --- Session Details
#
# Note:                  # is a number equal to or greater than 0
#
# SESSION_#_TITLE      Title description for SESSION. Needed for replimenu.
# SESSION_#_TYPE      Package type, choose beetwen:
#                      - vncviewer        Start vncviewer in X
#                      - rdesktop        Start rdesktop in X
#                      - rdesktop_svga    Start svga rdesktop, based on rdesktop 
#                                        code for low memory machines
#                      - x              Start x-terminal session (xdm)
#                      - xnest            Start x-terminal session (xdm) from
#                                        within blackbox
#                      - ssh              Start ssh client in linux console
#                      - telnet          Start telnet client in linux console
#                      - ica              Start Citrix ICA client in X
#                      - ica_wfc          Start ICA Manager
#                      - blackbox        Start blackbox window manager session
#                      - icewm            Start icewm window manager session
#                      - dillo            Start Web Browser in X
#                      - tftpd            Start tftp daemon
#                      - tarantella      Start tarantella client
#                      - rxvt            Start light xterm client
#                      - xterm            Start xterm client
#                      - tn5250          Start AS400 client in linux console
#                      - nx              Start NX Client Session
# SESSION_#_SCREEN        Display number to run the X server on
# SESSION_#_AUTOSTART    ON      Application will be executed immediately at startup
#                          OFF    Application will appear in a menu to be started
#                                    manually
# SESSION_#_CUSTOM_CONFIG        ON      Allows choosing custom config for when
#                                            session starts
#                                    OFF    Session boots normally
# SESSION_#_WORKSPACE  Workspace to run program on in a window manager
# SESSION_#_type_SERVER  IP address/hostname of the server
# SESSION_#_type_OPTIONS  Command line options for the session type

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。