Nav's Place: Nav's Home on the Interwebs

Linux Based Thin Client

I recently had to turn a few old pc’s at work into thin clients to bring them back to life. To do this I used PCTSC and puppy linux. At first everything installed fine but there were a few issues once everything was installed. In this article I will go through the Issues we faced and the solutions for the issues. Hopefully these finding will help some of you with your PCTSC installations.

Problem 1:

If a terminal Service session times out, it is unable to reconnect to the server and a blank screen remains.

Solution:

There is a file called .rdesktop which gets created in the root directory. This file prevents a connection from being made again. So the solution was to just remove this file whenever a connection is being made. To do this perform the following edits:

If you have already installed PCTSC to the harddrive then the file will be located at /usr/local/bin, browse to that location and edit the pctsc.auto.tsc file with you favorite text editor. Add the following line rm -rf ~/.rdesktop above the rdesktop -f -k en-us -N -K -u “” -a 24 `cat /etc/pctsc.target` line.

If you have not installed PCTSC then you need to look in the TSC folder located in root. Browse to TSC then usr.local.bin to find the pctsc.auto.tsc file. Apply the same changes as mentioned above.

Problem 2

If the power goes out or a user turns the pc off at the wall then Puppy Linux will not boot up into X. This is a major problem as end users will not know what to do..

Solution

I had to actually switch versions of puppy linux for this to work, I was using Puppy version 4.3.1 but this was no good as the fix i found browsing the puppy forums did not work on this version ( although it did seem to work for certain hardware.. not sure what’s up with that.)

So I downloaded Puppy version puppy-4.2-k2.6.25.16-seamonkey and applyed the following fixes.

Open up /etc/rc.d/rc.sysinit and add the following lines:

Find:

ln -s /proc/mounts /etc/mtab

After that line add:

#————————————————————————————————-
##############SHUTDOWN RECOVERY Add to /etc/rc.d/rc.sysinit################
#If we were not shutdown cleanly, try and recover
if [ -f /RUNNING ];then
echo -n “(Cleaning up after Unclean SHUTDOWN)” >/dev/console
rm -f /var/log/X*
rm -f /RUNNING
rm -rf /tmp/*
rm -f /var/lock/LCK*
rm -f /var/run/*.pid
rm -rf /root/tmp 2>/dev/null
rm -rf /root/.thumbnails/* 2>/dev/null
rm -f /etc/.XLOADED
fi

###################Detect Bad Shut######################
#create a file in tmp that should be deleted on a clean shutdown
if [ ! -f /RUNNING ];then
echo ‘this file is deleted during a clean shutdown’ > /RUNNING
fi
#————————————————————————————————-

Open up /etc/rc.d/rc.shutdown

Find:

echo “Puppy is now shutting down…” > /dev/console

After it add:

#————————————————————
rm -f /RUNNING
echo “Puppy is deleting RUNNING…” > /dev/console
#————————————————————

Those are all the edits I had to do and Puppy is running all good now without any problems.

You can follow any responses to this entry through the RSS 2.0 feed.