Difference between revisions of "Cool Solution - XenApp/XenDesktop on Thinclient with only 1GB Flash"

From Univention Wiki

Jump to: navigation, search
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Version|UCC=1.0}}  
+
{{Version|UCS=3.2}}
{{Cool Solutions Disclaimer}}
+
{{Version|UCC=1.0}}
 +
{{Cool Solutions Disclaimer|Repository=no}}
 +
{{Out of Maintenance|Current ThinClients have more than 1GB Memory. This article won't be updated anymore.}}
  
= Introduction =
+
== Archive ==
  
Thin Clients may have smaller storage devices (i.e. Compact Flash or onboard Flash) than the default 1,2G of the UCC default image.
+
There is a version of this article for [http://wiki.univention.com/index.php?title=Cool_Solution_-_XenApp/XenDesktop_on_Thinclient_with_only_1GB_Flash&oldid=12541 UCS 3.2 & UCC 1.0].
 
 
This is an example for a thin client image for 1GB Flash supporting XenApp.
 
 
 
The configuration file, tested on a HP t5745(1GB), can be found at the bottom of this article.
 
 
 
== Software packages required ==
 
Here we are going to create a small UCC Thin Client image targeting full Citrix support, tested in a HP t5745 with 1GB flash storage.
 
 
 
In a typical deployment, some of our customers often require these features in order of priority:
 
 
 
* XenApp Session (+Firefox), including german localisation
 
* Typical ressoures: Sound, Flash, HDX
 
* if possible special enhancements: truecrypt
 
* if also possible RDP session as a fallback
 
 
 
== General procedure ==
 
 
 
For this we are going to need two diferent approaches, first we will use the ucc-image utility to build an image with an edited configuration file, and second we will manually install the packages left from the previous step.
 
 
 
= Step 1 - Configuration File  =
 
 
 
This file is based on the official file for a thin client
 
 
 
/usr/share/doc/ucc-image-toolkit/example/ucc-thinclient.cfg
 
 
 
Please read [http://docs.univention.de/ucc-manual-1.0.html#imagegen:chapter UCC Manual Generation of adapted images]. 
 
 
 
The official images are also explained in [[Building_UCC_images]]
 
 
 
Another configuration file to generate a <1GB image [[Configuration_file_for_a_reduced-sized_thin_client]]
 
 
 
The image size is set at 794MB:
 
 
 
# Image size in GB
 
size: 0.794
 
 
 
== Important packages  ==
 
 
 
A graphical system is still installed, but without desktop manager:
 
 
 
packages_no_recommends:
 
 
 
univention-lightdm (Integration of lightDM login manager into UCC)
 
indicator-session (Session management, status and user switching)
 
 
 
X window system (and input drivers)<br>
 
 
 
xserver-xorg
 
xserver-xorg-input-mouse
 
xserver-xorg-input-kbd
 
 
 
Drivers for some typical video card families
 
 
 
xserver-xorg-video-ati
 
xserver-xorg-video-intel
 
xserver-xorg-video-vesa
 
xserver-xorg-video-nouveau
 
xserver-xorg-video-sis
 
 
 
Audio server:
 
 
 
pulseaudio
 
 
 
Tools: (no sessions are installed in this step)
 
 
 
openssh-server (Remote secure shell (SSH) server)
 
language-pack-de
 
firefox-locale-de
 
ntpdate (client for NTP time servers)
 
libmotif4
 
curl
 
nspluginwrapper
 
libcap2
 
 
 
UCC Cool-Solutions
 
univention-ucc-status
 
 
 
Integration with the UCC domain, always required:
 
 
 
univention-ucc-theme (Univention theme)
 
univention-corporate-client (Metapackage for client systems)
 
 
 
These are also essential:
 
 
 
# These packages will be installed
 
packages:
 
# Kernel
 
linux-image-generic (Linux kernel image)
 
# Grub
 
univention-ucc-grub (Grub2 configuration)
 
 
 
== Repositories ==
 
 
 
If you want to include packages from the UCC Cool-Solutions Repository (e.g. univention-ucc-status from above), you need to [[Howtos_UCS_3.1#Integrate_the_Cool_Solutions_Repository_in_UCC|integrate the Repository]] in the image:
 
 
 
sources_list:
 
  [...]
 
  deb http://ucc.software-univention.de/unmaintained/component/ ucc-coolsolutions/all/
 
  deb http://ucc.software-univention.de/unmaintained/component/ ucc-coolsolutions/$(ARCH)/
 
 
 
You also need to include multiverse for some packages XenApp and Citrix Receiver require:
 
 
 
# Use multiverse repository?
 
multiverse: true
 
 
 
== Name ==
 
 
 
Don't forget to rename your image:
 
 
 
# Name of output image
 
name: ucc-%(version)s-thinclient-image-1G.img
 
 
 
== Partition scheme  ==
 
 
 
/boot is set to 45MB. This is usually enough for one kernel, meaning that kernel updates should be performed by generating the image once again.<br>
 
 
 
partition2_name: boot
 
partition2_size: 45
 
partition2_fs: ext4
 
partition2_mountpoint: /boot
 
 
 
<br> The slash partition (/) will take all the available space.
 
 
 
partition3_name: root
 
partition3_size: expand
 
partition3_fs: ext4
 
partition3_mountpoint: /
 
 
 
The GPT would start at 2MB for alignment, and it will use 10MB of space. No "swap" partition is considered.
 
 
 
Now, after calling
 
ucc-image -c thinclient-image-1G.cfg
 
we will get the initial image, somewhere in the /tmp/ directory, e.g. /tmp/tmprUgkUj/ucc-1.0-rev2-thinclient-image-1G.img
 
The precise path will be shown at the end of the image creation process. Alternatively, you can specifiy the target directory using the -t switch.
 
 
 
= Manual installation of extra packages =
 
 
 
The idea is to first free some space used by apt-get and then temporarily mount additional disks so we get enough cache for packages.
 
 
 
That is to delete the cache of packages in var/cache/apt and var/lib/apt
 
 
 
First let us mount the image in /mnt/img/
 
mkdir /mnt/img
 
mount -o loop /tmp/tmprUgkUj/ucc-1.0-rev2-thinclient-image-1G.img /mnt/img/
 
and free some space:
 
chroot /mnt/img/
 
apt-get clean
 
should free var/cache/apt/archives/ and the lists we can delete manually:
 
rm /var/lib/apt/lists/*
 
there should remain a 'partial' directory in there
 
exit
 
 
 
Second, let us create and mount the new filesystems
 
dd if=/dev/zero of=/tmp/cache-apt bs=1M count=500 && mkfs.ext4 -F /tmp/cache-apt
 
dd if=/dev/zero of=/tmp/apt-lists bs=1M count=500 && mkfs.ext4 -F /tmp/apt-lists
 
Now they can be mounted
 
mount -o loop /tmp/cache-apt /mnt/img/var/cache/apt/
 
mkdir -p /mnt/img/var/cache/apt/archives/partial
 
mount -o loop /tmp/apt-lists /mnt/img/var/lib/apt/lists/
 
mkdir /mnt/img/var/lib/apt/lists/partial
 
 
 
The 'Citrix Receiver for Linux' and the 'USB Support Package' can  be downloaded from [https://www.citrix.com/downloads/citrix-receiver/linux/ Here]
 
Please copy them into the cache directory
 
cp icaclient-12.1.0_i386.deb /mnt/img/var/cache/apt/
 
cp ctxusb-2.2.0_i386.deb /mnt/img/var/cache/apt/
 
 
 
with all ready, we can go into the image
 
chroot /mnt/img/
 
Once inside we can install xenapp session (~200MB in this case) and indicator-power (enables shutdown buttons, ~16MB)
 
apt-get update
 
apt-get install --no-install-recommends univention-ucc-session-xenapp  indicator-power
 
Install the receiver and the USB support (the system outside the chroot should also be i386. [https://forge.univention.org/bugzilla/show_bug.cgi?id=31787 Bug])
 
dpkg -i /var/cache/apt/icaclient-12.1.0_i386.deb
 
dpkg -i /var/cache/apt/ctxusb-2.2.0_i386.deb
 
 
 
Create symbolic links for the browser plugin (the icaclient package itself fails to create them in this scenario):
 
mkdir -p /usr/lib/mozilla/plugins/
 
ln -s /opt/Citrix/ICAClient/npica.so /usr/lib/mozilla/plugins/
 
 
 
Now the image is complete, so we exit and unmount:
 
apt-get clean
 
sync
 
exit
 
 
umount /mnt/img/var/cache/apt/
 
umount /mnt/img/var/lib/apt/lists/
 
umount /mnt/img
 
 
 
Thanks to the 50MB buffer that UCC reserves, other utilities as flash player can be added later, once the client is rolled out.
 
 
 
= Further Info =
 
 
 
*[https://forge.univention.org/bugzilla/attachment.cgi?id=5362 794MB image configuration file]
 
 
 
*[[Configuration_file_for_a_reduced-sized_thin_client]]
 
 
 
*[[Building_UCC_images]]
 
 
 
*[http://docs.univention.de/ucc-manual-1.0.html#imagegen:chapter UCC 1.0 Manual - Chapter 8 Generation of adapted UCC images ]
 
 
 
*[http://wiki.univention.de/index.php?title=UCC-Quickstart_1.0 UCC 1.0 Quickstart]
 
 
 
*[http://wiki.univention.de/index.php?title=Univention_Corporate_Client UCC Wiki]
 
 
 
*[http://forum.univention.de/viewforum.php?f=65 Start a topic in the EN forum]
 

Latest revision as of 11:26, 8 September 2017

Produktlogo UCS Version 3.2
Produktlogo UCC Version 1.0

Note: Cool Solutions are articles documenting additional functionality based on Univention products. Not all of the shown steps in the article are covered by Univention Support. For questions about your support coverage contact your contact person at Univention before you want to implement one of the shown steps.

Also regard the legal notes at Terms of Service.
Out of Maintenance: Current ThinClients have more than 1GB Memory. This article won't be updated anymore.


Archive

There is a version of this article for UCS 3.2 & UCC 1.0.

Personal tools