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.xmlextra-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.xmlextra-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。

参见