DIY Citrix Receiver Thin Client

DIY Citrix Receiver Thin Client
This document describes the construction of a Citrix Receiver thin client, utilising older PCs for hardware. The basis
of the construction is taken from Jackie Chen’s DIY Citrix Server Thin Client: http://jackiechen.org/2012/03/07/diycitrix-receiver-thin-client/
Check Video capabilities
Use a utility to check the hardware and capabilities of the device being configured, e.g. video modes, chipset, etc.
Install Tiny Core
The current version in use is 5.4 (http://distro.ibiblio.org/tinycorelinux/). Use the default options. Reboot Tiny Core
to console mode after the installation (see notes).
Configure extensions
1. Remove Xvesa.tcz from the extensions loaded at boot
2.









Install the extensions to be loaded at boot
Xorg-7.7.tcz
lxrandr.tcz
numlockx.tcz
libxp.tcz
libcap.tcz
openmotif.tcz
alsaconf.tcz
glibc_gconv.tcz
openssh.tcz
3. Install a matching video extension
Extension
xf86-video-ati.tcz
xf86-video-intel.tcz
xf86-video-mach64.tcz
xf86-video-nouveau.tcz
sudo vi /mnt/sda1/tce/onboot.lst
tce-load –wi <extension>.tcz
tce-load –wi <extension>.tcz
Description
xorg modesetting video driver
xorg intel video drivers
ati mach64 video driver
xorg nvidia video drivers
** If no extension matches, the generic vesa driver is used (xf86-video-vesa.tcz)
Reboot Tiny Core
Make sure the device is connected to the LAN. After reboot, set the resolution using the GUI tool (if needed).
Change the desktop background
1. Mount the flash drive containing required files (unmount this after installing the Citrix Receiver).
2. Create the background picture cp /mnt/sdb1/wallpaper.jpeg /opt/backgrounds
3. Open the Control Panel and choose "Wallpaper", then set your picture as the background
Set up the sound
alsamixer
aplay –vv /mnt/sdb1/test.wav
sudo alsactl store
1. Set the sound levels (use M to mute/unmute)
2. Test the sound
3. Save the sound configuration
** Repeat these steps and backup the configuration each time you desire to reconfigure the sound settings.
Install Citrix Receiver
1. Install the RPM packages
sudo rpm –i /mnt/sdb1/ICAClient-12.1.0-0.i386.rpm
sudo rpm –i /mnt/sdb1/ctxusb_2.2-1.i386.rpm
2. Create the link files
cd /opt/Citrix/ICAClient/config/
sudo ln ../nls/en/appsrv.ini appsrv.ini
sudo ln ../nls/en/module.ini module.ini
sudo ln ../nls/en/wfclient.ini wfclient.ini
Disable automatic backup
Edit the profile
vi ~/.profile
Edit: export BACKUP=0
Configure SSH
1. Set the root password
2. Create the config files from the examples
3. Start SSH
sudo passwd
cd /usr/local/etc/ssh
sudo cp ssh_config.example ssh_config
sudo cp sshd_config.example sshd_config
sudo /usr/local/etc/init.d/openssh start
Add a script to launch Citrix Receiver
Create the launch script
sudo vi ~/.X.d/launch_ica
#!/bin/sh
# Remove right-click menu
sudo rm -rf ~/.wmx/*
sleep 5
# Prepare keyboard for ICA (disable Ctrl, Alt locally, set NumLock)
xmodmap –e "clear control"
xmodmap –e "clear mod1"
numlockx on
# Launch Citrix Receiver
/opt/Citrix/ICAClient/wfcmgr.bin
sudo poweroff
Make the script executable
sudo chmod a+x ~/.X.d/launch_ica
A. Configure the Citrix receiver (Citrix Desktop)
1. Start Citrix receiver
/opt/Citrix/ICAClient/wfcmgr.bin
2. Configure a new connection to the "Citrix Desktop" published application (TCPIP to ica.domain.com, highquality audio, full-size window)
B. Configure the Citrix Receiver (Program Neighbourhood)
1.
2.
3.
4.
Start Citrix Receiver
/opt/Citrix/ICAClient/wfcmgr.bin
Choose "Citrix XenApp View" from the View menu
Connect to:
http://citrix1.domain.com/Citrix/PNAgent/config.xml
Set "username" as the user name and "domain" as the domain.
Edit the backup list
Include sound and SSH files to the configuration backup sudo vi /opt/.filetool.lst
Add:
usr/local/etc/asound.state
usr/local/etc/ssh
etc/passwd
etc/group
etc/shadow
etc/gshadow
Edit boot execution
Set sound level, name computer (MAC address), and start SSH at boot sudo vi /opt/bootlocal.sh
Add:
sudo alsactl restore
sudo sethostname $(ifconfig eth0 | grep HWaddr | cut -d ' ' -f 11 | sed 's/://g')
sudo /usr/local/etc/init.d/openssh start
Remove all buttons from the bottom bar except Exit
Use "tcWbarConf" in the Control Panel to remove buttons from the bottom bar.
Backup and test
Backup the configuration (use the backup tool from the Control Panel, or command: backup), then restart the
computer and test the thin client. If required, backup the configuration after tweaks are applied.
**Notes
To access the GUI items from the desktop
1. From the desktop, open an xterm (right-mouse-button)
2. Start the GUI app:
cpanel, apps, lxrandr
To install extensions when the terminal is behind the proxy server
1. Set the proxy variable: export http_proxy="http://webproxy.domain.com:8080"
To boot Tiny Core in console mode (command prompt):
1. Hold the ALT key while booting
2. Enter the text command at boot:
core text