SDB:KIWI-LTSP local applications

Jump to: navigation, search

Running applications installed inside client chroot

LTSP provides a technology to run applications installed in the client also. This enables to launch many resource intensive applications such as Firefox to use resources(CPU/RAM) available in the powerful clients instead of running from the server.

LTSP5 on openSUSE includes Firefox as local app. It uses all the plugins installed on the server, including flash, java plugins etc. if the server is 32bit arch.

Open terminal and run the following to launch firefox:

 ltsp-localapps /usr/bin/firefox

For debugging purpose xterm can also be launched by running

 ltsp-localapps /usr/bin/xterm

To run localapps from the main menu without using the command as above, add the following to /srv/tftpboot/KIWI/lts.conf

 LOCAL_APPS_MENU=True
 LOCAL_APPS_MENU_ITEMS=firefox,xterm

Now launching those applications from the main menu will launch localapps.

Running image as "Fatclient"

LTSP also supports running the entire user session locally using client's hardware if it has sufficient resources. IceWM is already installed in the default prebuild images, to run it locally add the following variable to /srv/tftpboot/KIWI/lts.conf

 LTSP_FATCLIENT=True

Likewise,GNOME/KDE desktops can be added to the image and run locally.

Adding application into the image to run as localapps

Note: openSUSE 11.2 i586 DVD5 media/iso is required to be mounted at /mnt/11.2 before running kiwi-ltsp-setup to create images.

To add more applications in the client chroot, add the the space separated list of package names in /etc/sysconfig/kiwi-ltsp as below and run kiwi-ltsp-setup -l to rebuild the image:

 LTSP_LOCALAPPS="kde4-kopete"

This will install kopete that can be run as local application from the client.

If you have RPM files with all dependencies and know that it does not require anything more you can do this short way of installing packages:

 kiwi-ltsp-setup -l1
 rpm -Uvh --nodeps --force --root=/srv/kiwi-ltsp-nfs *.rpm
 kiwi-ltsp-setup -l2

Next time only step 2 and 3 are required to add more packages.

Be warned that adding more applications in client chroot may degrade the performance.

Creating custom image

Copy /usr/share/kiwi/images/ltsp/suse-VERSION folder to $KIWI_PROFILES_DIR/myimagename/img (default is /srv/kiwi-profiles, see /etc/sysconfig/kiwi-ltsp), for example:

add myimagename into LTSP_PROFILES list in file /etc/sysconfig/kiwi-ltsp, and if you want make custom image:

 #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

In next version of Kiwi-ltsp you can just use:

 kiwi-ltsp-setup --clone suse-11.3 myimagename

Edit config.xml in /srv/kiwi-profiles/myimagename/img/ to add packages and comment removal of files in config.sh, then build the image by giving this command:

 kiwi-ltsp-setup -ln myimagename

This will create system image in /srv/kiwi-ltsp/myimagename.img and netboot image in /srv/tftpboot/boot/*-myimagename

See SDB:KIWI-LTSP_NBD_or_AOE for information on how to manage multiple images serving custom images to multiple clients.

Adding NVIDIA or ATI drivers into the image

If you wish to utilize 3D graphics capabilities or run Compiz on the clients, add the binary drivers for your hardware.

Add the following in /usr/share/kiwi/image/ltsp/suse-11.2/config.xml under extra-packages repository.

Note: You also need 11.2 i586 DVD/iso mounted at /mnt/11.2.

For ATI (There does not seem to be fglrx drivers for 11.2 out yet)

<repository type="rpm-md">
     <source path="http://www2.ati.com/suse/11.1/"/>
</repository>

and inside /etc/sysconfig/kiwi-ltsp

 LTSP_LOCALAPPS="kde4-kopete x11-video-fglrxG01"

For NVIDIA the following in /usr/share/kiwi/images/ltsp/suse-11.2/config.xml under extra-packages repository

<repository type="rpm-md">
     <source path="http://download.nvidia.com/opensuse/11.2/"/>
</repository>

and inside /etc/sysconfig/kiwi-ltsp

 LTSP_LOCALAPPS="x11-video-nvidiaG01"

or for newer graphics chipsets, check nvidia driver release page for supported hardware:

 LTSP_LOCALAPPS="x11-video-nvidiaG02"

Don't forget to run kiwi-ltsp-setup -l after making these changes.

Updating image

To get the latest updates in the image add rpm-md repository http://download.opensuse.org/update/11.3/ (if it not exist) to config.xml as shown above.

Run kiwi-ltsp-setup -s

Or if you don't want overwrite default image: clone it

 kiwi-ltsp-setup -ln newimagename  #rebuild new image and
 kiwi-ltsp-setup -c  # update configs (don't use kiwi-ltsp-setup -s)

If you are updating the kernel don't forget to modify also the files /usr/share/kiwi/image/*boot/*/config.xml, for example for a netboot for OpenSUSE 11.3 you need to modify /usr/share/kiwi/image/netboot/kiwi-ltsp-suse-11.3/config.xml and /usr/share/kiwi/image/ltsp/suse-11.3/config.xml. Also update the file /usr/share/kiwi/image/netboot/suse-11.3/.checksums.md5 or move it away.

How does Local Apps work?

The "ltsp-localapps" script sets xprop LTSP_COMMAND of root window. The "ltsplocalappsd" daemon sits listening for that xprop change, when it finds something it executes whatever is set as LTSP_COMMAND. The application run like this is the one installed in the client chroot and it uses local resources such as CPU and RAM.

See also