Hotdry.

Article

在OpenIndiana上部署Sun Ray瘦客户端服务器:illumos环境下的工程实践与兼容性避坑

详解在OpenIndiana Hipster上搭建Sun Ray Server Software的完整流程,涵盖SRSS安装、手动补丁、DNS配置与固件部署等关键步骤,并分析illumos环境下的兼容性问题与社区解决方案。

2026-05-06systems

Sun Ray 是 Sun Microsystems 推出的企业级瘦客户端解决方案,尽管 Oracle 已停止官方支持,但在特定行业场景下仍有不可替代的价值。OpenIndiana 作为 illumos 内核的社区发行版,提供了在现代硬件上运行这一传统桌面协议的可能。本文以 OpenIndiana Hipster 2025.10 为例,系统梳理在 illumos 环境下部署 Sun Ray 服务器的软件配置细节与常见兼容性问题,为计划在遗留环境中复用此类设备的工程师提供可落地的参考。

基础设施准备与虚拟机配置

在正式安装 Sun Ray Server Software 之前,需要先完成 OpenIndiana 操作系统的部署。建议在 Proxmox VE 等虚拟化平台上创建符合 SRSS 运行要求的虚拟机。根据社区实践,虚拟机应满足以下硬件参数:操作系统类型选择 Solaris Kernel,固件使用 SeaBIOS,图形卡设为标准 VGA,磁盘使用 VirtIO Block 并开启写回缓存与丢弃功能,网卡采用半虚拟化 VirtIO 模型。CPU 配置为 host 模型、1 插槽 4 核心,内存分配不低于 8GB。值得注意的是,创建虚拟机后需要在硬件设置中添加 VirtIO RNG 设备,并将 IOMMU 设置为 vIOMMU 以确保后续设备识别的稳定性。

系统安装完成后,首次启动时终端默认配置为黑色文字叠加黑色背景的组合,使用前需进入终端 Profile 偏好设置关闭系统主题颜色选项。获取 root 权限后,首要任务是更新系统并启用 hipster-encumbered 仓库,否则后续软件包安装将出现难以预测的依赖错误。执行完系统更新,即可开始 Sun Ray 服务器软件的部署流程。

SRSS 软件包的获取与安装路径

Sun Ray Server Software 的官方分发渠道为 Oracle eDelivery,需要注册账号后下载 V37038-01.zip 包(对应 SRSS 5.4.0.0 版本 for Solaris 11 i386)。如果无法访问 Oracle 官方渠道,互联网档案馆中也有部分版本存档。需要特别说明的是,OpenIndiana 手册中提及的 5.4.5.0 版本在 Oracle eDelivery 上实际难以寻获 SPARC 之外的 i386 构建版本。

软件包解压后需配置 IPS 发行版仓库指向:

bsdtar -C /root -xf V37038-01.zip
pkg set-publisher -g /root/srs_5.4.0.0-Solaris_11plus.i386/IPS.i386/ sunray
pkg install SUNWut-srss SUNWut-srwc

安装 sunray-essential 元数据包可以自动拉取全部必需依赖,这通常是更稳妥的初始选择。

运行时环境的手动配置

SRSS 依赖时期特定的 Java 运行时环境和 Apache Tomcat 用于 Web 管理界面。这两个组件均包含在 SRSS 分发包的 Supplemental 目录中,无需另行下载。JRE 安装脚本执行后将自动解压至 /opt 目录,Tomcat 则需要手动解压并建立版本号符号链接:

cd /opt
/root/srs_5.4.0.0-Solaris_11plus.i386/Supplemental/Java_Runtime_Environment/Solaris/jre-6u41-solaris-i586.sh
bsdtar -C /opt -xf /root/srs_5.4.0.0-Solaris_11plus.i386/Supplemental/Apache_Tomcat/apache-tomcat-5.5.36.tar.gz
ln -s /opt/apache-tomcat /opt/apache-tomcat-5.5.36

完成运行时环境配置后,需安装 OpenIndiana 社区提供的适配工具并进行初始化补丁应用:

pkg install sunray/oi-adaptions
/opt/SUNWut/utils/apply_patches

关键的手动补丁与 DHCP 适配

在 OpenIndiana Hipster 2025.10 上运行 SRSS 需要额外的代码级修改。这些补丁在官方手册中并未完整记载,是社区实践的难点所在。首先是包查询命令的兼容性调整:/opt/SUNWut/lib/utprodinfo 第 322 行需将pkg list $2改为pkg info -q $2;其次是包名映射修正,/opt/SUNWut/sbin/utconfig 第 243 行和 /opt/SUNWut/sbin/utreplica 第 77 行需将SUNWlldap修改为ldap。这些改动反映了 illumos 与原生 Solaris 11 之间包命名约定的差异。

另一个重要适配是 DHCP 服务切换。SRSS 默认配置尝试调用 Sun DHCP 守护进程,但该组件在 illumos 生态中已被移除,需指向 ISC DHCP 实现:

rm /etc/opt/SUNWut/dhcp
ln -s /opt/SUNWut/lib/dhcp/isc /etc/opt/SUNWut/dhcp

完成上述配置后,即可执行初始配置向导:

/opt/SUNWut/sbin/utconfig

配置过程中建议启用 Sun Ray Web 管理界面、接受默认的 1660 端口、允许远程服务器管理。对于 kiosk 模式可采用默认参数,但应拒绝配置故障转移组以简化初期部署。管理密码应使用足够强度的凭据并妥善保管。

网络策略与客户端连接配置

允许 Sun Ray DTU 客户端接入需执行以下策略命令:

/opt/SUNWut/sbin/utadm -L on
/opt/SUNWut/sbin/utpolicy -a -z both -m -D

此处存在一个重要的版本差异:OI Hipster 2025.10 不再支持热桌面(hotdesk/non-smartcard mobility)功能,因此无法使用 - M 参数,而需额外添加 - D 参数启用设备策略。若尝试使用此前版本的配置参数将导致会话建立失败。

图形登录管理器需要从 lightdm 切换至 GDM 以兼容 Sun Ray 会话。执行切换前应保存所有打开文件,然后:

svcadm disable graphical-login/lightdm
# 重新登录后执行
svcadm enable graphical-login/gdm

登录时必须选择 MATE 会话而非 GNOME—— 选择 GNOME 将导致黑屏无法操作的状况。服务启动命令为:

/opt/SUNWut/sbin/utstart -c

DTU 固件部署与 DNS 自动发现

客户端设备固件需要从 SRSS 软件包中提取。使用 Linux 版本的 SRSS 分发包,通过 rpm2cpio 提取 SUNWutfw-4.3-50.i386.rpm 中的固件文件并重定向至 tftpboot 目录。固件部署完成后,使用 utfwadm 工具激活:

mkdir /tftpboot
cd /tftpboot
ln -f -s . tftpboot
/opt/SUNWut/sbin/utfwadm -AaV -G force

参数 - Aa 使固件适用于全部 DTU,-V 避免修改 DHCP 配置,-G force 强制启用客户端内置菜单。

客户端发现服务器的简便方法是在网络 DNS 服务器中添加两条静态记录:将 sunray-servers 和 sunray-config-servers 指向 SRSS 服务器 IP,所有客户端将自动完成配置。具备固件版本支持的 DTU 也可通过内置菜单(PC 键盘组合 Ctrl+Alt+Meta+Shift+M)手动指定服务器地址。

兼容性限制与工程决策

在 illumos 环境中运行 SRSS 需要正视若干兼容性约束。首先是支持状态问题:OpenIndiana 对 SRSS 的支持属于社区维护性质,并非 Oracle 官方认证方案,生产环境中需评估这一风险敞口。其次是 RDP 客户端限制,SRSS 自带的 uttsc 工具已无法兼容当前 Windows 的认证协议,建议替换为 xfreerdp 等现代替代品。热桌面功能的缺失意味着依赖该特性进行跨设备会话迁移的场景需要寻找替代方案。

Web 管理界面默认配置下存在两个工程考量:HTTPS 默认配置无法被现代浏览器信任,启用 HTTPS 后 HTTP 端口将自动重定向至加密端口导致访问困难,除非具备 PKI 运维能力否则建议保持 HTTP 模式运行。远程管理默认仅限特定子网访问,配置时选择启用远程管理可避免后续排查麻烦。

通过上述配置即可在 OpenIndiana Hipster 上构建完整的 Sun Ray 瘦客户端服务端环境,为遗留设备继续服役提供可行的技术路径。


资料来源

systems