Citrix ICA client reports “Proxy connection failed” when connecting

I had some trouble getting the ICA client to connect to a site in Ubuntu today. Actually, it’s been for a few days. I’m not entirely sure if I’ve used Ubuntu for Citrix stuff.

Anyway, whenever clicking on a connection on the Citrix web interface, the webica application would fail with this error: “Proxy connection failed: Internal error during proxy evaluation”

As I don’t use a proxy, this was a little odd.

After searching on the Citrix forums, I found this nugget which resolves the issue:

  • Open up the terminal window
  • cd
  • mkdir .netscape
  • cd .netscape
  • gedit preferences.js
  • In the editor, type:
    user_pref("network.proxy.http","");
    user_pref("network.proxy.http_port", 80);
    user_pref("network.proxy.type", 0);
  • Save the file

Now, when you click on the Citrix icon, you should connect with no issue.

If you do happen to use a proxy server, change network.proxy.type to 1, and enter the relevant proxy details in the other lines.

Damn Fine Citrix and Terminal Server Installation Guides

Installing Citrix correctly, and with confidence is generally an important issue. Some bad choices early can cause you a lot of headaches later on.

Today, I found a good site a Methodology in a Box, which outlines good practices for deploying various versions of Citrix and TS.

Even better, the guides can be downloaded in PDF format!

Terminal Server Install Mode Command

As I’m always forgetting these, I thought I’d make a note.

When installing software on a Microsoft Terminal Server, you need to set the server to be in installation mode to support folder virtualisation for users.

One way to make sure that this works is to install any new software through Add/Remove Programs, and then ‘Add New Programs’

A quicker way is to simply use the command line:

change user /install

This puts the server into install mode. After this, install any software that you need to install.

Once done, put the server back into execute mode:

change user /execute

This will switch the user session back to it’s normal mode which is used for running applications.

Easy.

Some windows lose opacity in Beryl

There’s a small incompatibility in Beryl which causes certain program windows to appear translucent or transparent.

A simple fix for this is to

  • Open up the Beryl Settings manager
  • Click Windows Management
  • Enable and select the WIndow Specific Settings option
  • Under the Rules tab, expand Disable ARGB Visual, and click Add (the + button).
  • Select Class Name in the list, click Grab and click on the window that is causing problems.
  • Click ‘OK’

You should see something appear in the Disable ARGB Visual list like

c:rdesktop:1

In this case, I was having trouble with the terminal server client programs running in more than 256 colours.

You may need to reload Beryl for this to apply properly.

reg.ini for Citrix ICA Clients on Linux Thinstation Systems

Using PXE booting thin clients is a great way to centrally manage a wide variety of hardware that you may find around a site.

Working on this principle, I’ve found that Thinstation is an excellent administrator’s tool for building custom thin client stations that can easily be deployed around a network with relative ease.

At some point, I plan to write a guide for setting up the whole system for *gasp* a Windows administrator who has little knowledge of Linux.

In the meantime, for those ahead, I’ve found that it is nice to be able to deploy the reg.ini for Citrix ICA. This is handy if you need to preconfigure the ICA Client. The reg.ini file stores data such as the location of the NFuse server configuration files for the PNAgent, default username and domain details and various other settings.

First of all, run the Citrix ICA client on a machine where you can easily access the file system. Once you have it set as you like (for instance, opening on the PNAgent screen with present domain settings), copy the reg.ini file from /home/user/.ICAClient/reg.ini (user is the username on the system).

Right then.

  • Log on to your Linux system and cd to the thinstation build directory
  • Copy the reg.ini file to packages/ica/lib/ICAClient/config
  • edit the file packages/etc/init.d/ica.init file and add the following lines of code to the start:
    mkdir $HOME/.ICAClient
    cp /usr/lib/ICAClient/config/reg.ini $HOME/.ICAClient/reg.ini

This is slightly modified from Phillippe Millette’s example, as the $ICA_TMP variable does not seem set on Thinstation 2.2.

Rebuild your thinstation image and you should have a pre-configured ICA Client.