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.

Return to Linux

I suppose that it was inevitable from my ill-fated Win-2-Lin project at the end of last year, but I had to give Linux another chance. If for nothing else, to see if I could get XGL working with all of the groovy special effects.

The distribution of choice this time around is Ubuntu. After SUSE 9.1 failed to work well with sound, and cause some grief with the PDA, I thought I would take an alternative route. Derek seems sold on Ubuntu now, so I thought ‘why not’?

Downloading the ISO from the Ubuntu website was relatively painless. For some reason the downloads seemed slower than a jar of Marmite superglued to the hard-shoulder of a motorway from the UK mirrors, so I downloaded from France. After experiencing the ‘we’ve got everything in the world’ mentally of the DVD distros of Linux, I was surprised that the standard distributions were only on CD. How could a distribution possibly work from a CD and compare to the larger distros? (Debian users knowingly snigger here)

Booting the CD up on the system was painless. It’s nice to have a working ‘try before you buy’ concept. The idea of ‘this is what you’re about to install’ is appealing for any user. Especially if they are considering a migration.

Installation ran through onto a SATA drive without incident. The questions were kept to a minimum which I thought was a good idea. One thing that perplexed me with SUSE and Mandrake before was the sheer volume of software lists that you were expected to wade through before installing. None of that here. Some regional settings, and a question asking what filesystem to use (defaulting to ext), and a hard drive.

The impressive part was that installation took around 15 – 20 minutes in total. I have never had an O/S install that quickly on a system recently. I’m told that Vista’s install time is comparable, but the last install of that was BETA 2, which took around an hour.

First thing was first. Where’s the ‘Start’ button! It’s an application button at the top. That’s nice. I must admit, I spent a couple of minutes just clicking around to be happy where everything was. I’ve never used the Gnome desktop before, so I made the most of it. Inital thoughts left me impressed. The windows looked pretty and the system ran quick. Boot up and login was lean. But I had stumbled into a few issues.

  • My Logitech MX5000 Desktop was not detected by Ubuntu on startup. Everytime I boot into the system, I have to re-seat the USB Bluetooth receiver. This is annoying considering I can even use the keyboard in BIOS with no issues
  • Once again, my maximum resolution was unavailable. I have a monitor that supports 1600×1200 and that’s what I want to use Damnit! At this point I was stuck on 1280×768.

So, on I went. The Application menu was a piece of art. A few menus with some choice programs. Having the Add/Remove option in the main Application menu is a stroke of genius. It is the most obvious place you’d go if you are a novice user. And this is where the Debian system comes into it’s own. The Add/Remove tool is built on Apt-Get. Something that I was forced to use the command line for in SUSE. Let me explain this for Windows users.

Apt-get is a kind of automatic update for software. Except rather than being tied to a proprietary system (in Windows it’s likely you have MS Update. Adobe wants to update Reader. Flash wants to update itself somewhere else and so forth…), apt-get ties all of the open-source software together in repositories. These repositories keep track of the latest software. The great thing that comes from this is:

  1. When software is installed using Add / Remove, it is downloaded from the Internet and it is most likely the latest, stable version
  2. Any piece of software is then identified as needing updates when apt-get is ran

I ‘think’ that apt-get is scheduled in Ubuntu, as after installation from the CD, there where some initial updates to download. If so, that’s great! What is also good is that the Add/Remove feature is searchable in a simple manner, so user’s don’t have to trudge through many programs. It would have been nice if the search could be scaled down though. There is nothing to separate the description and the title. Searching for a remote desktop client to connect to Windows threw up all-sorts of results.

Fixing the screen resolution should have been simple, but this is my big gripe with Ubuntu. There is no core System Control Panel of any kind. There are some system tools in the System menu, and granted, they do cover some crucial things (mouse and keyboard for one), but the whole premise of Linux for human beings in my mind is that using the terminal should be almost completely unnecessary.

I did have to dip into the terminal to install the XGL features. All I can say is “Wow!” There are clearly still some basic issues, but if there are any Vista or Mac users feeling smug about the 3D interface – don’t be. Linux’s 3D engine is amazing.

Nevermind the pretty windows effects: Translucency, exposé-style scaling. The windows ‘wobble’ when you move them. They can latch onto other windows and stretch/squish as you push them together / push them apart.

Virtual desktop (one of Unix’s oldest and most useful features) is given a facelift as you find yourself looking at desktops on the surface of a cube that can be rotated with mouse or keyboard. You can run slides of images on the top and bottom and flick with amazing ease. While all this is gong on the applications continue unhindered. It makes Apple’s ‘Spaces’ look like the XP Virtual Desktop Powertoy. And it makes that look like a GCSE computer project gone wrong.

As well as that, every element of the 3D interface is customisable, right down to keyboard and mouse shortcuts. Maybe you want to zoom the cube when it spins? Or be inside the cube instead of outside? Maybe you want the windows to only move when you hold down a key, or create some shortcut keys to access certain system menus. Everything that I could think of was there, and many more that I hadn’t. (Oh, I wondered if there was a Vista-style flip for the windows scaling. There isn’t… yet.)

Installation involved using the terminal (*groan*), but the whole thing was working within 2 hours of starting the installation. That was very nice, although there were bugs that were only resolved through a number of reboots. I also didn’t understand the relationship of Beryl and Emerald. But I got there in the end, and it looks a treat.

A couple of minor problems is that the RDP programs that I have tried flashes and go translucent when connecting with more than 256 colours, and there is no good reason for it from what I can tell. Also, the processor usage of XGL gradually creeps up and starts to upset the system after a number of hours, a log off and on resolves this, but a nuisance nevertheless.

A few other niggles that I’ve had with Ubuntu so far:

  • Due to having no control panel, there is no simple way to set up a multi-monitor configuration. In Windows (2000 onwards), this is easy to set up. Just tell Windows to extend your desktop and drag the screen around to the location. Voila! Linux involves more tinkering with configuration files, which I have yet to work out.
  • The bluetooth thing I mentioned earlier. ARGH!
  • Evolution doesn’t seem to want to connect to my Exchange Server nicely. I’ve had various crashes and have given it up as a bad idea. It’s a pity – as it doesn’t seem like there is any other PIM out there that is like Outlook.
  • Hibernate fails to work. I always think that this is a good test with an O/S, because in principle, hibernation should be simple – but it seems to be wronged often. Ubuntu is no exception. Instead I end up with a locked screen where I must enter my password (which can only be entered after I reconnect the bluetooth dongle).
  • The mouse cursor. Whenever I use any Linux distro, the mouse always seems to not click where the pointer ends on the screen. Also, the mouse always feels less smooth than I’m used to in Windows. I find it frustrating when I’m trying to resize a window and I constantly have to remind myself that the pointer is actually a few pixels away from where I’m aiming, and then the mouse jumps around to make things more difficult.

Hardly the most damning list in the world, is it?

On the plus side:

  • Ubuntu seems to offer some fast booting from ‘ON’ to a usable desktop.
  • The pre-installed applications are of a reasonable high-standard and easy to get gong with.
  • XGL does make the other 3D desktop environments look like the original Star Wars arcade game.
  • Getting and installing software is a breeze thanks to the Add/Remove /apt-get hybrid
  • The restricted admin account is nowhere near as annoying as Microsoft’s UAC in Vista (RC2 at this time)

I suppose that the bottom line is, will I continue to use it?

It’s most likely a ‘yes’. I think that the learning curve is less steep than other previous Linux distros. Also, I’ve always admired Linux from afar, but never felt it could compete against the more refined OSes. I think that if I do persevere, I’ll be running Vista on another drive. My mistake last time was to go ‘all or nothing’ with Linux, and I became frustrated rather than liberated. Migrating to Linux has to be a gentle process, so I’ll have to decide exactly what I expect to do in each environment.

Unfortunately, the killer app that keeps me working with Windows is Office. Outlook is a fantastic PIM, and its integration with Exchange and other MS Apps is second-to-none. Office 2007 is also a giant leap is the direction of a great UI. Word and Excel have such simple yet essential tools – it’s hard to take OpenOffice seriously if you’re a power user.

There are also the classic Linux problems. Inline help and documentation is virtually non-existant in a contextual manner. There is still a heavy reliance on the terminal. This may sound odd. But when I’m supporting users, they usually don’t know how to open the command prompt in Windows. Why should they have to in Linux?

What would be great to see is XGL working ‘out-of-the-box’, a control panel, slightly better hardware support (although it is pretty good now), and CHM-style help as standard, rather than users having to search WIKIs for the answers.

You show me a Linux that does this, and I’ll admit it’s ready to take on the big boys.

Maybe it’s not so far off any more.

Teamspeak on Lniux

I decided to run Teamspeak on Linux today.

After downloading the tar, I decompressed it /etc/ by following the documentation.

The next task was to copy the data from my old system. As the drive is already mounted in the file system, the process was a breeze. The files to copy are

  • server.dbs
  • server.ini
  • server.log
  • I copied these files into the TS folder and double-checked the permissions. With owner permissions set sa ‘John’, I navigated to the directory /etc/tss2_rc2. Next step was the startup command ./teamspeak2-server_startscript start

    Just make sure that you’re not running the server as root (otherwise it will kick up an error), and everything seems to work ok.

    The only thing I now need is how to get the thing to run when I turn on the PC.

    Windows Files Systems and Booting Woes

    The battle is on. Me vs. the Windows disk structure.

    It’s been brewing for some time now. It was only two weeks ago that I had to rebuild a server as the hard disk had began to fail. Quite phenomenally I might add. It was a race against time to copy all of the critical data away from the beast for all of the user accounts.

    Of course, this in itself was quite a battle as backing up the system didn’t seem to be on some people’s primary agenda. Therefore the system that I recovered was about 1 month old. Not very good.

    Oh, and restoring an AD that old creates a new problem as Windows expects the restore to be fairly recent. If you’re having trouble after a restore and the event log gives some cryptic message about Volume Shaddow Copy dates and updates, you need to roll-back the system clock so that it doesn’t think that you’re doing anything dodgy.

    Then an arduous task of copying all of the data back into the relevant partitions ensued.

    Anyway, that’s not exactly the latest news. The recent events occurring are that I now have another failed drive on my hands at a second site. This time, there are bad sectors appearing on the disk.

    The story began with one of the staff performing a defrag on the server as part of a daily task. He also noticed that there were a startling number of errors in the event log that seemed to have to appear out of nowhere over a recent few days.

    The defrag caused the blue screen of death and the server would no longer start. chkdsk /r was ran in recovery console and reported various errors.

    ARGH! It gets worse. Bad sectors were bleeding across the disks like cancer. Time to act people!

    Thankfully, there’s a damn nifty Linux tool for copying drives. dd_rescue. It doesn’t have a startling homepage, but it does come with most Linux distros, including Knoppix.

    dd_rescue cloned the disk to another disk, ignoring all bad sectors. Once the system was copied we faced the next challenge. The Windows boot sector was firked. Bootcfg, Fixboot and Fixmbr wouldn’t work. Or more accurately, they did work – just not very well. In fact, booting into a Windows PE session showed that two of the drive’s partitions had switched letters. The system disk was now D!

    Various trickery ensued, but the final resolution was to install Windows Server the existing disk (that was thought to be D:), under a folder called Win2k3. Unfortunately, Windows was still under the impression that the system disk is D:. I followed the instructions for reconfiguring the hard disk drives through the registry on the Microsoft site.

    One final reboot later, allowed me to boot into the existing O/S and repair it with the setup disk. It’s such a shame that in the process – loads of MS SQL and Windows components were shot.

    WSUS is completely messed up and the SQL engine has also knocked out McAfee’s network deployment tool. I think that it’s a poorly server now.

    I just wish that clients would listen when I tell them that a backup device of any sort is crucial (as well as actually doing it). Alas, the attitude nowadays seems to be a mired philosophy of locking the door once the horse has bolted – and hoping that you never need to.

    I’m Tired and My Palm Don’t Love Me

    I almost fainted yesterday.

    I took my T3 Palm out of my pocket and pressed address book. The screen was blank.

    I gulped.

    I slid open the screen which is set to fire up the Palm. Nothing.

    I stopped breathing.

    Finally, I pressed the power button.

    Nothing. Nada. A sausage not.

    My Palm’s battery had decided that it had had enough for the day.

    The reason that this is so bothersome is that as most Palm users will tell you – a flat battery is the equivalent to carrying out a hard reset. All data on the Palm is lost. The real annoyance is that I haven’t been able to back up my Palm because I’ve been using Linux. The experience is becoming a painful one to say the least. Simple things like Synchronising my Palm is awkward and difficult because the closest I have got to a synchronisation is the following error message in KPilot:

    Pilot device /dev/ttyUSB1 is not read-write.

    Of course – being a DOS/Windows native, the obvious answer hadn’t occurred to me, which I found on the SuSE Linux Forums

    It turns out that the error message is telling me exactly what I need to know. The USB device doesn’t have read/write permissions. Well, not when I’m a standard user anyway.

    So running chmod 04666 /dev/ttyUSB1 (USB1 is the port I happen to be using) as root admin will make the USB port read/writeable for all users. Hooray!

    The only drawback is that now I finally have the thing synchronising – I need to go back to Windows to be able to (hopefully) restore my settings Before Linuxing it. I’ll see how that goes…

    Logitech USB Headset and Linux

    I’ve been having a battle with my Logitech USB headset over the last couple of days. If there’s on thing I liked in Windows a great deal, that was the simplicity of the USB headset.

    If I plug it in, all the sound would be defaulted to the headset. When unplugged, the sound would go back to the sound card. It was beautiful.

    Linux, on the other hand, wouldn’t play like that. SUSE’s YaST doesn’t like the USB headset. It knows that something is there. It even knows that there is some sort of sound device there. But it doesn’t recognise it. Neither does it want to know.

    I was having all sorts of grief the thing. In fact I couldn’t tell whether it was working or not half the time.

    I hit the Novell SUSE Hardware forums and posted a request, and received the following advice:

    As far as I understood the wrong driver gets selected during boot.

    add “audio” to “/etc/hotplug/blacklist”, plug in the headset and then
    reboot. /proc/asound/cards should show something like “USB-Audio – C-Media
    USB Headphone Set”

    alternatively edit /etc/modprobe.conf (or modprobe.conf.local):
    alias snd-card-0 snd-intel8x0
    alias snd-card-1 snd-usb-audio
    options snd-intel8x0 index=0
    options snd-usb-audio index=1

    After rebooting the USB Headset didn’t seem to appear in YaST again. However, KMIX and QAMix both recognised the new hardware device.

    After switching off ‘mute’ for the headset mic (which is enabled by default), everything seems to work.

    The only catch is that I have to have the headset plugged in when I start Linux, and I can’t reconnect it during a session. B’ah!

    The good part is that Skype works a treat now.