You are not logged in.

#1 2008-12-06 00:38:09

nsa141901
Member
Registered: 2006-06-26
Posts: 21

Citrix for Arch x86_64 [HOWTO]

I've seen sporadic questions about citrix around here, and either everyone has figured it out or moved on to another distro. (Yes, some of us are forced to use citrix for our jobs).

Here is how I got the citrix ICA web browser plugin to work with Arch 64 and firefox.

Disclaimer: I'm not a programmer. There are probably better ways of doing this (... I should NOT be running yaourt as root, for instance), but I'm busy and only have so much time to troubleshoot.

Steps:
1. Install yaourt (makes installing aur packages easier)
2. Install nspluginwrapper (to run the 32-bit plugin in our 64 bit browser)
3. Install openmotif (citrix dependency)
4. Install lib32-xaw, lib32-libxp, lib32-libxpm (citrix dependencies) (PKGBUILDs need to be edited to work!!!)
5. Install citrix client as user
6. use nspluginwrapper to find the ICA plugin

***

1. Install yaourt (from AUR) here:
http://aur.archlinux.org/packages.php?ID=5863

2. Install 32 bit libraries and nspluginwrapper

# pacman -Sy --asdeps gtk2 lib32-atk lib32-cairo lib32-expat lib32-fontconfig lib32-freetype2 lib32-gcc-libs \
  lib32-glib2 lib32-glibc lib32-gtk2 lib32-libice lib32-libpng lib32-libsm lib32-libx11 lib32-libxau \
  lib32-libxcb lib32-libxcursor lib32-libxext lib32-libxfixes lib32-libxft lib32-libxi lib32-libxinerama \
  lib32-libxmu lib32-libxrandr lib32-libxrender lib32-libxt lib32-pango lib32-pcre lib32-zlib libxt \
  util-linux-ng lib32-alsa-lib lib32-libxdamage lib32-libstdc++5 rpmextract
# yaourt -S nspluginwrapper-beta

3. Install openmotif from AUR

# yaourt -S openmotif

4. Install lib32-xaw, lib32-libxp, and lib32-libxpm (citrix dependencies)
Unfortunately the lib32-libxaw and lib32-libxp PKGBUILDs contain outdated links. We will fix this as we go. The yaourt script downloads the PKGBUILD, then asks if you want to edit it before it builds the package. For lib32-libxp and lib32-libxaw we will paste in a new PKGBUILD, lib32-libxpm works as is.

# yaourt -S lib32-libxaw
==> WARNING: Building unsupported package as root is dangerous.
 Please run yaourt as a non-privileged user.
==> Resuming previous build

==> Downloading lib32-libxaw PKGBUILD from AUR...


      First Submitted: Tue, 21 Oct 2008 13:05:46 +0000
      Last Updated: Wed, 29 Oct 2008 10:06:02 +0000
lib32-libxaw 1.0.4-2 (Unsupported): Allegro is a multi-platform game library

==> lib32-libxaw dependencies:
 - lib32-libxmu (already installed)
 - lib32-libxp (building from AUR)
 - lib32-libxpm (building from AUR)
==>  Edit the PKGBUILD (recommended) ? [Y/n]("A" to abort)
==>   ----------------------------------------------
==>y

Please add \ to your environment variables
for example:
==>  Edit PKGBUILD with:(replace gvim with your favorite editor)

==> Edit ./PKGBUILD with:nano

here we typed in "nano" to edit our PKGBUILD. When it opens in nano, delete the all lines (ctrl - k), then paste the following corrected PKGBUILD:

pkgname=lib32-libxaw
pkgname32=${pkgname/lib32-/}
pkgver=1.0.5
pkgrel=2
pkgrel32=1
pkgdesc="Allegro is a multi-platform game library"
arch=(x86_64)
url="http://alleg.sourceforge.net/"
license=('GPL')
groups=()
depends=(lib32-libxmu lib32-libxp lib32-libxpm)
makedepends=()
provides=()
conflicts=()
replaces=()
backup=()
options=()
install=
source=(ftp://ftp.archlinux.org/extra/os/i686/${pkgname32}-${pkgver}-${pkgrel32}-i686.pkg.tar.gz)
noextract=()
md5sums=('bb30b9c44307fd6376d7eb25be92de00')

build() {
  mkdir -p $startdir/pkg/opt/lib32/usr/
  cp -rPf $startdir/src/usr/lib $startdir/pkg/opt/lib32/usr/lib
}

"ctrl x" will save and exit, and it will ask if you want to install, choose yes, of course. Then yaourt will see that lib32-libxp and lib32-libxpm need to be installed. For lib32-libxp, it will once again download the PKGBUILD and ask if you want to edit it. choose y, and type in nano. When it opens in nano, delete all the lines and paste this corrected PKGBUILD:

pkgname=lib32-libxp
pkgname32=${pkgname/lib32-/}
pkgver=1.0.0
pkgrel=2
pkgrel32=2
pkgdesc="X11 X Print Library"
arch=(x86_64)
license=('GPL')
url="http://www.xmlsoft.org/"
groups=lib32
source=(ftp://ftp.archlinux.org/extra/os/i686/${pkgname32}-${pkgver}-${pkgrel32}-i686.pkg.tar.gz)

md5sums=('d1ba7ca5620ec0a03806cba518af8acf')
sha1sums=('69ebc0c07c5a86ed0ac3eec1c554ed64e36b22cb')


install-dir() {
  mkdir -p $2
  rmdir $2
  cp -rPf $1 $2
}

lib32-install() {
  install-dir $startdir/src/$1 $startdir/pkg/opt/lib32/$1
}

build() {
  lib32-install usr/lib
}

it will then install and download the PKGBUILD for lib32-libxpm. This one points to the correct file and does not need to be edited, so you can allow yaourt to continue and finish installing.

5. Install the citrix client as user (not as root)
Download the ICA client from here:
ftp://download2.citrix.com/FILES/en/pro … x86.tar.gz

Make sure the directory .mozilla/plugins exists in your home directory before you start, and create it if it does not

Unpack the tarball

$ tar -xzvf en.linuxx86.tar.gz

Follow the Citrix setup program, I recommend using all the default settings

$ sh setupwfc

6. Tell nspluginwrapper to find the ICA plugin

$ nspluginwrapper -i /home/YOURUSERNAME/ICAClient/linuxx86/npica.so

Restart firefox, and you should be able to open citrix applications from firefox

citrix.jpg

Last edited by nsa141901 (2008-12-06 01:07:04)

Offline

#2 2008-12-06 19:11:53

nsa141901
Member
Registered: 2006-06-26
Posts: 21

Re: Citrix for Arch x86_64 [HOWTO]

and one more thing...

For those who wish to use the new 64 bit flash plugin (alpha but works fairly well), the package nspluginwrapper "conflicts" with flashplugin-alpha-64, but flashplugin-alpha-64 does not conflict with nspluginwrapper.

nspluginwrapper really does conflict with the 32 bit flashplugin, but not the new 64 bit one.

To get this working all you have to do is install nspluginwrapper before you install flashplugin-alpha-64


(edited)

Last edited by nsa141901 (2008-12-06 19:16:38)

Offline

#3 2008-12-06 23:48:58

banshee28
Member
Registered: 2008-10-18
Posts: 336

Re: Citrix for Arch x86_64 [HOWTO]

I have not installed the 64-bit yet on my main pc, but once I do I will definately need this Citrix client!! Thanks for the post cool


Arch64, AMD64, LXDE

Offline

#4 2008-12-08 01:49:01

firecat53
Member
From: Lake Stevens, WA, USA
Registered: 2007-05-14
Posts: 1,542
Website

Re: Citrix for Arch x86_64 [HOWTO]

Thanks very much! I never thought about using nspluginwrapper for citrix! Been using a 32-bit chroot since I installed Arch. I could ditch the chroot now......except for that darn amazonmp3 downloader smile

FYI, on my installation, I did not need to install lib32-xaw, lib32-libxp, or lib32-libxpm. I also used the standard nspluginwrapper (not beta). It installed fine alongside my  flashplugin-x86_64, which is the new 64-bit flash without having to worry about dependencies.

Scott

Offline

#5 2008-12-08 10:46:07

SiC
Member
From: Liverpool, England
Registered: 2008-01-10
Posts: 430

Re: Citrix for Arch x86_64 [HOWTO]

Thanks for that.  I'd got as far as installing the libraries, but hadn't thought about nspluginwrapper big_smile

Might be worth a wiki article.

Offline

#6 2008-12-08 13:56:49

Daenyth
Forum Fellow
From: Boston, MA
Registered: 2008-02-24
Posts: 1,244

Re: Citrix for Arch x86_64 [HOWTO]

SiC wrote:

Might be worth a wiki article.

Absolutely worth it. Please put it up someone smile

Offline

#7 2008-12-11 04:09:31

nsa141901
Member
Registered: 2006-06-26
Posts: 21

Re: Citrix for Arch x86_64 [HOWTO]

Firecat53, i'm glad yours is up an running.

on my box, if lib32-libxaw is not installed I get the following error:

ICAClient/linuxx86/wfica: error while loading shared libraries: libXaw.so.7: wrong ELF class: ELFCLASS64

when installed it works

Offline

#8 2009-03-04 01:52:55

banshee28
Member
Registered: 2008-10-18
Posts: 336

Re: Citrix for Arch x86_64 [HOWTO]

Has anyone tried to setup a package build for the Citrix Client, preferably native 64-bit?


Arch64, AMD64, LXDE

Offline

#9 2009-03-04 15:49:38

schuay
Package Maintainer (PM)
From: Austria
Registered: 2008-08-19
Posts: 564

Re: Citrix for Arch x86_64 [HOWTO]

Posting here so i can find this later on smile

Offline

#10 2009-03-21 20:06:10

jmdennis
Member
Registered: 2009-03-21
Posts: 61

Re: Citrix for Arch x86_64 [HOWTO]

I appreciate the instructions.  I downloaded this from AUR after installing openmotif.  I was expecting to do like I did with OpenSUSE and that is to download the certificate and move it to the right folder.  I of course can not do this because of security.  I am sure I might be able to do this with the move command but that is a pain to do.  I would love to do this using Dolphin but because only one version comes with Arch this is not possible to do.  I guess I will try the nspluginwrapper and see if this helps.

Offline

#11 2009-04-14 04:10:28

ruscook
Member
From: Sydney Australia
Registered: 2007-08-27
Posts: 105
Website

Re: Citrix for Arch x86_64 [HOWTO]

Brilliant guys, thanks very much. Works a treat!
Russ

Offline

#12 2009-07-19 03:58:54

jeremyrainman
Member
Registered: 2007-06-15
Posts: 34

Re: Citrix for Arch x86_64 [HOWTO]

Guys, I cannot seem to locate   "lib32-libxaw 1.0.5-1" anymore, I am supposing that it has been renamed or moved. Does anyone know where I can point the PKGBUILD so that I can get this working? Much appreciated!

Last edited by jeremyrainman (2009-07-20 20:43:56)

Offline

#13 2009-10-03 21:03:39

jmdennis
Member
Registered: 2009-03-21
Posts: 61

Re: Citrix for Arch x86_64 [HOWTO]

I would love to see this updated as well.  Their is a wiki for this but it does not seem to work for me.  I do not know if it is because I have used firebrand on my browser or what.  I came from OpenSUSE and this had a simple install of Citrix and it was easy to connect.  To bad this does not seem to work.

Offline

#14 2009-11-25 16:37:04

jeremyrainman
Member
Registered: 2007-06-15
Posts: 34

Re: Citrix for Arch x86_64 [HOWTO]

changed PKGBUILD to:

pkgname=lib32-libxaw
pkgname32=${pkgname/lib32-/}
pkgver=1.0.7
pkgrel=1
pkgrel32=1
pkgdesc="Allegro is a multi-platform game library"
arch=(x86_64)
url="http://alleg.sourceforge.net/"
license=('GPL')
depends=(lib32-libxmu lib32-libxp lib32-libxpm)
source=(http://www.mirrorservice.org/sites/ftp.archlinux.org/extra/os/i686/${pkgname32}-${pkgver}-${pkgrel32}-i686.pkg.tar.gz)
md5sums=('472d8337cedb291c62b8aaa8ce4a3bae')

build() {
  mkdir -p $startdir/pkg/opt/lib32/usr/
  cp -rPf $startdir/src/usr/lib $startdir/pkg/opt/lib32/usr/lib
}

Last edited by jeremyrainman (2009-11-25 18:23:11)

Offline

#15 2009-12-21 16:51:23

NeedCoffee2
Member
From: California
Registered: 2009-05-04
Posts: 9

Re: Citrix for Arch x86_64 [HOWTO]

All - I very much appreciate all of the posts above.  I followed the instructions here and have Citrix working on my Arch Linux 64 bit system with FireFox better than I have ever seen it work in Linux.  So cool.

Offline

#16 2010-01-29 12:33:02

Revelation60
Member
From: The Netherlands
Registered: 2009-03-19
Posts: 158
Website

Re: Citrix for Arch x86_64 [HOWTO]

I have had the same problem, and I succeeded by installing the lib32-libxaw from jeremy's script and lib32-libxp lib32-libxpm from the AUR. Can someone verify that the current lib32-libxaw from the AUR works?

Because of the recurrent nature of this problem, I haved added the instructions above to the wiki page about Citrix.

Last edited by Revelation60 (2010-01-29 12:33:25)

Offline

#17 2010-02-26 19:30:48

jmdennis
Member
Registered: 2009-03-21
Posts: 61

Re: Citrix for Arch x86_64 [HOWTO]

I wanted to thank you for updating the wiki.  It helped me out and I was using the 32 bit version of arch just to get this to work.  I wiped my system clean last night and reinstalled it so I could see if this worked and it did.  I do not follow the wiki for the part about installing the citrix-client as I get this from aur.  I am happy that I can use the 64 bit version now and I appreciate the work that you did to make sure this worked.

Offline

#18 2010-03-04 03:40:05

jeremyrainman
Member
Registered: 2007-06-15
Posts: 34

Re: Citrix for Arch x86_64 [HOWTO]

lib32-libxaw is properly updated in the AUR. No need for the alterations to pkgbuild.

Offline

#19 2010-03-04 07:05:03

sand_man
Member
From: Australia
Registered: 2008-06-10
Posts: 2,164

Re: Citrix for Arch x86_64 [HOWTO]

I'm getting the following error:

LoadPlugin: failed to initialize shared library /home/ty/.ICAClient/linuxx86/npica.so [/home/ty/.ICAClient/linuxx86/npica.so: wrong ELF class: ELFCLASS32]

I've never used nspluginwrapper so I I think I must have done something wrong here.


neutral

Offline

#20 2010-03-04 07:53:42

Andrwe
Member
From: Leipzig/Germany
Registered: 2009-06-17
Posts: 322
Website

Re: Citrix for Arch x86_64 [HOWTO]

Hi,

I looking for help getting the "normal" client of citrix running on x86_64.
I'm the maintainer of citrix-PKGBUILD in AUR at the moment.
Because our citrix-server don't support http-connection I can't use the firefox plugin and therefore I'm trying to get the client working but I don't have an idea anymore.

Here is the latest PKGBUILD for x86_64:

# Maintainer: Andrwe <lord-weber-andrwe at renona-studios dot org>

pkgname=citrix-client
pkgver=11.100
pkgrel=2
pkgdesc="Provides XenApp(Citrix) for linux."
url="http://www.citrix.com"
arch=('i686' 'x86_64')
license=('CAL')
depends=('gtk2' 'libx11' 'libxaw' 'libxext' 'libxft' 'libxmu' 'libxp' 'libxpm' 'libxt' 'openmotif' 'printproto' 'xextproto')
[ "$CARCH" == "x86_64" ] && depends=('gtk2' 'lib32-libjpeg' 'lib32-libpng' 'lib32-libx11' 'lib32-libxaw' 'lib32-libxext' 'lib32-libxft' 'lib32-libxinerama' 'lib32-libxmu' 'lib32-libxp' 'lib32-libxpm' 'lib32-libxt' 'lib32-openmotif' 'lib32-printproto' 'xextproto')
source=('http://www.citrix.com//English/SS/downloads/EULA_p.asp?downloadID=3323&versionID=1862392&productID=186')
install=citrix-client.install
md5sums=('069bb3337791b0b55cbbf666c95403e5')

build() {

    instdir="/usr/lib/ICAClient"
    # Create folder structure
    mkdir -p "${pkgdir}"/usr/lib/{ICAClient,mozilla/plugins}
    mkdir -p "${pkgdir}"/usr/bin/

    # copy needed files
    cp -r ./linuxx86/linuxx86.cor/* "${pkgdir}${instdir}"/
    cp ./setupwfc "${pkgdir}${instdir}"/
    
    # Create executable start wrapper
    echo -e "#!/bin/bash\n${instdir}/wfcmgr" > "${pkgdir}"/usr/bin/citrix-client.sh
    chmod a+x "${pkgdir}"/usr/bin/citrix-client.sh

    # Go to package directory
    cd "${pkgdir}${instdir}"/

    # Create executable wrapper for the binaries
    echo -e "#!/bin/sh\nICAROOT=/usr/lib/ICAClient\nexport \${ICAROOT}\n\${ICAROOT}/wfica -file \$1" > ./wfica.sh
    echo -e "#!/bin/sh\nICAROOT=/usr/lib/ICAClient\nexport \${ICAROOT}\n\${ICAROOT}/wfica -associate -fileparam \$1" > ./wfica_assoc.sh
    chmod a+x ./{wfica.sh,wfica_assoc.sh}
    
    # Create symlinks for the Npica.ad binary
    ln -s ./nls/en/Npica.ad ./Npica.ad
    ln -s ./Npica.ad ./Npica

    # Copy program inforamtion files to program root directory
    cp ${srcdir}/nls/en/{eula.txt,install.txt,readme.txt} ./

    # Copy default configuration files to config directory of the program and setting them readable
    cp ./nls/en/{appsrv.ini,wfclient.ini,module.ini} ./config/
    chmod 666 ./config/{appsrv.ini,wfclient.ini,module.ini}
    chmod 777 ./config

    # Copy Firefox plugin into plugin directory
    cp ./npica.so "${pkgdir}"/usr/lib/mozilla/plugins/
    
}

The lib32-packages e.g. lib32-openmotif you can find in my repo:

[andrwe]
Server = http://andrwe.dyndns.org/repo/x86_64

I'll commit the PKGBUILD for lib32-openmotif later to AUR.
Here is it for you if you don't want to use the package in my repo:

# Contributor: Andrwe Lord Weber <lord-weber-andrwe at renona-studios dot org>

pkgname=lib32-openmotif
pkgname32=${pkgname/lib32-/}
pkgver=2.3.2
pkgrel=2
pkgrel32=2
pkgdesc="Openmotif"
arch=('x86_64')
url="http://www.opengroup.org/openmotif/"
license=('GPL')
source=(ftp://ftp.archlinux.org/community/os/i686/${pkgname32}-${pkgver}-${pkgrel32}-i686.pkg.tar.gz)
noextract=()
md5sums=('58294043fc91e679a45d786b8b33fe24')

build() {
  mkdir -p ${pkgdir}/opt/lib32/usr/
  cp -rPf ${srcdir}/usr/lib ${pkgdir}/opt/lib32/usr/lib
}

The problem which occures is that the client tries to convert the characters.
Here are some pictures showing the problem:

tM3FiMg
tM3FiNA

Last edited by Andrwe (2010-03-04 07:54:08)

Offline

#21 2010-03-04 08:08:27

Revelation60
Member
From: The Netherlands
Registered: 2009-03-19
Posts: 158
Website

Re: Citrix for Arch x86_64 [HOWTO]

lib32-libxaw is properly updated in the AUR. No need for the alterations to pkgbuild.

Ok, by the time I wrote that it wasn't.

Because our citrix-server don't support http-connection I can't use the firefox plugin and therefore I'm trying to get the client working but I don't have an idea anymore.

It may be nice for users that do require http connection that you insert the nspluginwrapper line.

I'm getting the following error:

Did you try this:
sudo nspluginwrapper -i /home/ty/.ICAClient/linuxx86/npica.so?

If that doesn't work, maybe installing it system wide in usr/lib/ICAClient/ works better.

Offline

#22 2010-03-21 10:10:26

Andrwe
Member
From: Leipzig/Germany
Registered: 2009-06-17
Posts: 322
Website

Re: Citrix for Arch x86_64 [HOWTO]

Revelation60 wrote:

Because our citrix-server don't support http-connection I can't use the firefox plugin and therefore I'm trying to get the client working but I don't have an idea anymore.

It may be nice for users that do require http connection that you insert the nspluginwr

I've added the line to .install script as information together with the wiki-page.

Offline

#23 2010-04-06 19:31:39

jordz
Member
Registered: 2006-02-01
Posts: 248

Re: Citrix for Arch x86_64 [HOWTO]

I followed your wiki, you need to install lib32-openmotif to get it working and you should never link libraries.
You should add all lib32 packages to the lib32 group. So you can unistall all in one command.

I also have to problem that it can't convert UTF8 to Unicode, maybe something to do with the locales on the system?

Offline

#24 2010-04-06 20:08:51

Andrwe
Member
From: Leipzig/Germany
Registered: 2009-06-17
Posts: 322
Website

Re: Citrix for Arch x86_64 [HOWTO]

jordz wrote:

I followed your wiki, you need to install lib32-openmotif to get it working and you should never link libraries.
You should add all lib32 packages to the lib32 group. So you can unistall all in one command.

I also have to problem that it can't convert UTF8 to Unicode, maybe something to do with the locales on the system?

Do you have correctly displayed characters?
I only get '?' instead of each character.

Offline

#25 2010-04-07 18:22:28

jordz
Member
Registered: 2006-02-01
Posts: 248

Re: Citrix for Arch x86_64 [HOWTO]

They are displayed correctly.
But I don't connect with wfcmgr, but if I start it all chars are ok.

Offline

Board footer

Powered by FluxBB