I have had a hard time keeping the Citrix ica client working on my Debian Jessie desktop pc since Citrix have not bothered to update it properly for AMD64 or multiarch. The last straw was the lib32asound2 dependency which I was not able to fix. I finally decided to try a 32 bit chroot environment based on info from
here.
For anyone interested, this recipe seems to work:
===================================================================
Citrix client in schroot
===================================================================
Download: ctxusb-2.2.0_i386.deb & icaclient-12.1.0_i386.deb
Code:
apt-get install debootstrap schroot
mkdir /srv/chroot/jail
edit /etc/schroot/schroot.conf
Code:
[jail]
description=Debian jail 32-bit
directory=/srv/chroot/jail
aliases=default
personality=linux32
type=directory
message-verbosity=verbose
users=user
groups=user
script-config=desktop/config
preserve-environment=true
edit /etc/schroot/desktop/fstab
Code:
Add either kdm / gdm:
/var/run/gdm3 /var/run/gdm3 none rw,bind 0 0
or
/var/run/kdm /var/run/kdm none rw,bind 0 0
#Bind new home folder:
/home/user32 /home/user none rw,bind 0 0
Create new home folder for the chroot user:
Code:
mkdir /home/user32
cd /home/user32
mkdir .local
mkdir .local/share
Copy icaclient-12.1.0_i386.deb ctxusb-2.2.0_i386.deb and any required certificates to /home/user32/
Install Squeeze i386:
Code:
debootstrap --arch i386 squeeze /srv/chroot/jail/ http://ftp.us.debian.org/debian/
As root user, update the chroot environment:
Code:
schroot -c jail
apt-get install locales
dpkg-reconfigure locales (use en_US.UTF-8)
dpkg-reconfigure tzdata
Update /etc/apt/sources.list:
Code:
deb http://ftp.us.debian.org/debian squeeze main contrib non-free
deb http://backports.debian.org/debian-backports squeeze-backports main
Then: apt-get update && apt-get upgrade
Install:
Code:
apt-get install x11-apps fontconfig xterm iceweasel libxp6 libsm6 libxmu6 libxinerama1 libglib2.0-0 libxft2 libgtk2.0-0
apt-get install libgtk2.0-dev libcurl4-gnutls-dev fakeroot libextutils-pkgconfig-perl libcap2
apt-get install libc6-dev g++-multilib checkinstall libglib2.0-dev build-essential libgtk2.0-dev libcurl4-gnutls-dev libxt-dev
apt-get install libmotif-dev libmotif4 desktop-file-utils xdg-utils
Install nspluginwrapper:
Code:
wget http://nspluginwrapper.org/download/nspluginwrapper-1.3.2.tar.gz
tar xzvf nspluginwrapper.org/download/nspluginwrapper-1.3.2.tar.gz
cd nspluginwrapper-1.3.2
./configure
make
checkinstall -D make install
Install ica client:
Code:
cd /home/user
dpkg -i ./icaclient-12.1.0_i386.deb
dpkg -i ./ctxusb-2.2.0_i386.deb
Create /usr/share/applications/wfica.desktop
Code:
[Desktop Entry]
Name=Citrix ICA client
GenericName=Citrix ICA Client
Comment=Citrix nFuse session file
Categories=Application
Encoding=UTF-8
Exec=/opt/Citrix/ICAClient/wfica
Icon=wfica
Terminal=false
Type=Application
MimeType=application/x-ica
Create /usr/share/mime/packages/ica.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="application/x-ica">
<comment>Citrix ICA launcher</comment>
<glob pattern="*.ica"/>
</mime-type>
</mime-info>
Fix mime:
Code:
update-desktop-database && update-mime-database /usr/share/mime
xdg-mime install --novendor /usr/share/mime/packages/ica.xml
apt-file search xdg-mime
apt-get install xdg-utils
xdg-mime install --novendor /usr/share/mime/packages/ica.xml
xdg-mime default wfica.desktop application/x-ica
Copy certificates to /opt/Citrix/ICAClient/keystore/cacerts/
Note: The extension is *.crt
Add latest flash & java client:
Code:
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee -a /etc/apt/sources.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee -a /etc/apt/sources.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886
apt-get update
apt-get install oracle-java7-installer
apt-get install oracle-java7-set-default
apt-get install flashplugin-nonfree
update-flashplugin-nonfree --install
Exit chroot:
exit
As user, run with:
Code:
xhost +
schroot -c jail /usr/bin/iceweasel http://web.address/xxx
or probably better:
Code:
#!/bin/bash
xauth extract - $DISPLAY | xauth -f /home/user32/.Xauthority merge -
# run your command / generic wrapper: schroot -- "$@"
schroot -c jail -p /usr/bin/iceweasel https://whatever.com/Citrix/AccessPlatform1/xxxxx.aspx
rm -f /home/user32/.Xauthority
Regards,
Stefan