SDB:KIWI-LTSP 本地应用程序
在客户端 chroot 内部安装的应用程序
LTSP 提供了一种技术,可以在客户端中安装的应用程序中运行。这使得能够启动许多资源密集型应用程序,例如 Firefox,以使用功能强大的客户端中可用的资源(CPU/RAM),而不是从服务器运行。
openSUSE 上的 LTSP5 将 Firefox 作为本地应用程序包含在内。如果服务器是 32 位架构,它将使用服务器上安装的所有插件,包括 flash、java 插件等。
打开终端并运行以下命令以启动 firefox
ltsp-localapps /usr/bin/firefox
为了调试目的,xterm 也可以通过运行以下命令启动
ltsp-localapps /usr/bin/xterm
要从主菜单运行 localapps,而无需使用上述命令,请将以下内容添加到 /srv/tftpboot/KIWI/lts.conf
LOCAL_APPS_MENU=True LOCAL_APPS_MENU_ITEMS=firefox,xterm
现在从主菜单启动这些应用程序将启动 localapps。
将镜像作为“Fatclient”运行
如果客户端具有足够的资源,LTSP 还支持使用客户端硬件运行整个用户会话。IceWM 已经安装在默认的预构建镜像中,要本地运行它,请将以下变量添加到 /srv/tftpboot/KIWI/lts.conf
LTSP_FATCLIENT=True
同样,GNOME/KDE 桌面可以添加到镜像并在本地运行。
将应用程序添加到镜像以作为 localapps 运行
注意:在运行 kiwi-ltsp-setup 以创建镜像之前,需要将 openSUSE 11.2 i586 DVD5 媒体/iso 挂载到 /mnt/11.2。
要在客户端 chroot 中添加更多应用程序,请将以空格分隔的软件包名称列表添加到 /etc/sysconfig/kiwi-ltsp 中,如下所示,并运行 kiwi-ltsp-setup -l 以重建镜像
LTSP_LOCALAPPS="kde4-kopete"
这将安装 kopete,可以从客户端作为本地应用程序运行。
如果您拥有包含所有依赖项的 RPM 文件,并且知道它不需要更多内容,您可以采用这种简短的安装软件包方式
kiwi-ltsp-setup -l1 rpm -Uvh --nodeps --force --root=/srv/kiwi-ltsp-nfs *.rpm kiwi-ltsp-setup -l2
下次只需要步骤 2 和 3 即可添加更多软件包。
请注意,在客户端 chroot 中添加更多应用程序可能会降低性能。
创建自定义镜像
将 /usr/share/kiwi/images/ltsp/suse-VERSION 文件夹复制到 $KIWI_PROFILES_DIR/myimagename/img(默认是 /srv/kiwi-profiles,请参阅 /etc/sysconfig/kiwi-ltsp),例如
将 myimagename 添加到 LTSP_PROFILES 列表中的文件 /etc/sysconfig/kiwi-ltsp 中,如果您想创建自定义镜像
#this not obligatory, if you skip it myimagename will use default configs mkdir -p /srv/kiwi-profiles/myimagename # copy image configs cp -ar /usr/share/kiwi/image/ltsp/suse-11.3 /srv/kiwi-profiles/myimagename/img # copy netboot/initrd configs cp -ar /usr/share/kiwi/image/netboot/kiwi-ltsp-suse-11.3 /srv/kiwi-profiles/myimagename/netboot
在 Kiwi-ltsp 的下一个版本中,您只需使用
kiwi-ltsp-setup --clone suse-11.3 myimagename
编辑 /srv/kiwi-profiles/myimagename/img/ 中的 config.xml 以添加软件包并注释掉 config.sh 中的文件删除,然后使用以下命令构建镜像
kiwi-ltsp-setup -ln myimagename
这将在 /srv/kiwi-ltsp/myimagename.img 中创建系统镜像,并在 /srv/tftpboot/boot/*-myimagename 中创建 netboot 镜像
有关如何管理多个镜像以向多个客户端提供自定义镜像的信息,请参阅 SDB:KIWI-LTSP_NBD_or_AOE。
将 NVIDIA 或 ATI 驱动程序添加到镜像
如果您希望利用 3D 图形功能或在客户端上运行 Compiz,请添加硬件的二进制驱动程序。
在 /usr/share/kiwi/image/ltsp/suse-11.2/config.xml 的 extra-packages repository 下添加以下内容。
注意:您还需要将 11.2 i586 DVD/iso 挂载到 /mnt/11.2。
对于 ATI(似乎还没有 11.2 的 fglrx 驱动程序)
<repository type="rpm-md">
<source path="http://www2.ati.com/suse/11.1/"/>
</repository>
以及在 /etc/sysconfig/kiwi-ltsp 内部
LTSP_LOCALAPPS="kde4-kopete x11-video-fglrxG01"
对于 NVIDIA,在 /usr/share/kiwi/images/ltsp/suse-11.2/config.xml 的 extra-packages repository 下
<repository type="rpm-md">
<source path="http://download.nvidia.com/opensuse/11.2/"/>
</repository>
以及在 /etc/sysconfig/kiwi-ltsp 内部
LTSP_LOCALAPPS="x11-video-nvidiaG01"
或者对于较新的图形芯片组,请查看 nvidia 驱动程序发布页面以获取支持的硬件
LTSP_LOCALAPPS="x11-video-nvidiaG02"
不要忘记在进行这些更改后运行 kiwi-ltsp-setup -l。
更新镜像
要获取镜像中的最新更新,请将 rpm-md 存储库 http://download.opensuse.org/update/11.3/(如果它不存在)添加到 config.xml 中,如上所示。
运行 kiwi-ltsp-setup -s
或者,如果您不想覆盖默认镜像:克隆它
kiwi-ltsp-setup -ln newimagename #rebuild new image and kiwi-ltsp-setup -c # update configs (don't use kiwi-ltsp-setup -s)
如果您正在更新内核,请不要忘记修改 /usr/share/kiwi/image/*boot/*/config.xml 中的文件,例如对于 OpenSUSE 11.3 的 netboot,您需要修改 /usr/share/kiwi/image/netboot/kiwi-ltsp-suse-11.3/config.xml 和 /usr/share/kiwi/image/ltsp/suse-11.3/config.xml。 此外,更新文件 /usr/share/kiwi/image/netboot/suse-11.3/.checksums.md5 或将其移开。
Local Apps 是如何工作的?
“ltsp-localapps”脚本设置根窗口的 xprop LTSP_COMMAND。 “ltsplocalappsd”守护程序正在侦听该 xprop 更改,当它找到内容时,它会执行设置为 LTSP_COMMAND 的内容。 以这种方式运行的应用程序是安装在客户端 chroot 中的应用程序,它使用本地资源,例如 CPU 和 RAM。