The Scoop

There are a number of projects out there which enable us to turn ordinary PCs into terminal server clients. The purpose of this project is to make the conversion not only possible, but easy.

Platform and Function

  • PC hardware with working NIC, >=1G hard drive, bootable CD-ROM, video and screen, keyboard, and mouse.
  • Connects to (and requires as a prerequisite) one server set up in available DNS which can serve clients using the RDP protocol, a la those built using the tools sold by a well-known corporation in Redmond, WA, USA.
  • Uses Puppy Linux as a base. Right now we are offering stable version 1.2.3, which uses Puppy 4.3.1.

Downloads

For version 1.2.3, you’ll need:

  • Puppy Linux 4.3.1 burned to CD from ISO
  • The instructions, either printed out or available on another nearby machine
  • The pctsc 1.2.3 package, which is good to download directly to the box as part of the install; the instructions reflect this. It’s a very good way to verify network configuration!

Updates

1.2.3.  Revised a number of things in order to use Puppy 4.3.1, which has better hardware support.  Also took a really strong stab at handling poweroff restarts, which is a TSC norm.  It seems to be working OK now, with one caveat:  X may fail on the first boot after install, but will work consistently afterwards.

1.2.2. Automatic TSC naming at install fixed. Also added hardware notes to documentation.
2009/06/11

1.2.1. Puppy 4.2 corrected some hardware issues. Updated PC TSC to match. Also improved documentation.
2009/05/04

1.2. First public release. Previous two versions were for private use only. Used Puppy 4.1.2. Initial VNC support added.
2009/04/06

Credits & Sources

Tremendous appreciation goes to the Puppy Linux folks for such a functional OS in such a small package. Much appreciation also goes to the Slackware team, being known for high quality work for quite a few years now; the ‘rdesktop’ build is from the standard Slackware 12.

Author

PC TSC is a project of Jonathan E. Brickman. Please feel free to email me at jeb@joshuacorps.org.

Some Good Links


LinuxQuestions.org

LinuxForums.org

IceWALKERS

NONAGS

33 Responses to “The Scoop”

  1. marcelofr says:

    If I kill X server (with Ctrl-Alt-Backspace or changing to tty1 and Ctrl-C) I fall into root shell… Is there an easy way to avoid this? I don’t want the user to be root without authenticated.

  2. scooke says:

    I also use version 4.3.1 and would like it on older computers in a few schools tol logon a windows 2008 terminal server so they don’t need to buy new thin-clients. The problem is that I didn’t find an easy way (for end users) to shutdown the ‘pstsc’ computers.
    Is there a solution for this problem?
    Tnx and keep up the good work!!

    • You are very welcome :-) I am actively studying the best method to address this problem, among others related.

      • scooke says:

        Hello Jonathan,

        ok, when you’ve found a solution I’ll be glad to hear it ;-)

        Is the system ready for production environment when users will
        power off the system with the power switch ? Or is better to wait
        when you come with a solution?

        tnx

        • For 1.2.3, I did a large amount of work to get poweroffs to be handled well. So I’ll say “yes” to the first question! It will take me a while to do better than the current setup, but I am working on it :-)

          • scooke says:

            In the meantime, is it possible to schedule a shutdown via cron? The school were I’ll use pstsc ends at 4 pm, so if I schedule a shutdown command at 4.30 pm the end user will nothing have to do.

  3. Chip says:

    Jonathan,

    I updated to 4.3.1 and it works alright but I am having a few issues.
    I need to change the graphics settings on the Console side and I attempt to do so by pressing Ctrl + Shift + Alt + F2 and when I use ‘pctsc.2.console’ it goes through rebooting and then after mounting USB drives and preparing network settings it sits at # and I can type in commands but it never goes into the GUI. Is there something that I am doing wrong? Using wmreboot in 4.2.1 worked flawlessly. Is there another way that I can get back into Console mode to change system settings?

    Thanks,
    Chip

    • Anthony says:

      I have exactly the same issue since upgrading to 4.3.1/1.2.3
      Also, found that an image I created using dd failed on second pc (same hardware), only getting to the # prompt as described by Chip.
      Otherwise this is awesome.

    • Chip says:

      Also, I can’t seem to actually just shut the system down. I can do the ‘pctsc.reboot’ but I used to be able to just press the power button on the PC and it would shut down the system properly. Is there anything I can do that will fix these two issues or should I go back to 4.2 for now? thank you :)

      • I have to admit that I am slightly distressed at 4.3.1. In order to solve the problems of 4.2, I had to go into the boot sequence and do lots of things…and these things seem to have broken the ability to get into a shell, and maybe messed with your poweroffs too. Sigh. I really do not like the current Puppy boot sequence, it is extremely complicated and utterly nonstandard, it is more or less two enormous and nearly identical shell scripts which call other scripts, and every ten or twenty lines there are bug-fixes! And a lot of the bug-fixes look like kludges to me. So instead of trying to fix these problems, I am seeking a general change. Puppy 5.0 has just come out, and it appears to be very different, so I’ll try it shortly. I have been trying Tiny Core, and it’s very good, but there seem to be network bugs I haven’t been able to track yet. More soon.

  4. Nehemoth says:

    This is Awesome, really, I had months searching for a solution like this, but (always there’s a but) I miss some options.

    For example, I have multiple servers and sadly I don’t have a Network load balancing so I have to configure one image per server.
    So in essence would be amazing if you create a Hide option in which you (the administrator) can enter and select another server.

    Another question that I have is concerning DHCP, I will do some test, but let ask anyway.
    After the network configuration is done the wizard ask me to save the information (IP Address), but what If I want to move the PC to another segment in the network, will DHCP works?.

    Again, the work is really awesome.

    Please excuse me my poor english

    • Rather good to hear, Nehemoth.

      In theory, you could run pctsc.2.console (see the appendix at the end of the instructions) and then run the installer again after reboot, to point the TSC at a different server. If I were you, though, I would try to do what you’re talking about with DNS. If you make one name refer to multiple IPs, DNS at the client will choose a random one, unless your DNS server is set to disallow it. And if you just want to switch servers, you can do it most easily by changing the DNS A record, from one IP to another.

      I’m not quite sure about some details behind your DHCP question, but I think the answer is probably simple: if a DHCP server is set to communicate on a segment of a network, and the clients on that segment are set up to look for DHCP, DHCP will work. So the frist question is, what exactly is your DHCP server? Is it a router, or a Windows or Linux server?

      • Nehemoth says:

        Thank you Jonathan for the answer, let me explain a little more what I mean.

        First it works like a charm in a Network Load Balancing (NLB) Terminal services servers Setup, so if I have multiple servers who responds to only one its really amazing but for multiple servers isn’t so good.

        So we have 5 terminal services servers, and I have a lot of machines we I can use for this process but if I want to take advantage of PC TSC, I will have to do the follow :

        Install Puppy Linux from Scratch in every machine (no cloning).
        The Machine should be in the position (network port) in which will be use it. This is cause when you setup the DHCP it saved the information with the IP assigned in that moment.

        The DHCP question was for the same problem, I would like for example create 5 images (One per terminal services as I cannot create a NLB right now) BUT I cannot create an image and the use it cause it saves the network information in a file instead of ask for it everytime PC TSC boot.

        So I guess there are a lot of room for improvement here.

        One Idea could be that after the configuration is done, you can add an especial keywork combination so the administrator should choose another server.

        We have some old terminal (Compaq T1000, Compaq T1010 and some Neoware which used linux instead of Windows CE) so if you want some screenshot I can send it to you.

        Then again, I try to explain in the best way that I could but English isn’t my native language.

  5. Mario says:

    Great software!
    But it is also possible to activate numlock at boot?
    With the keyboard I also have a small problem, Dutch – Belgium => @ = @ e when I give this command
    Thank you, our old hardware gets a new life now

    • You are most welcome :-) I had not thought of the numlock idea; and you have also given me a thought. I *think* that setting the keyboard language at installation time might be within easy reach. (Right now it’s possible, using options on the rdesktop command.) I might be able to make that happen for 1.2.4. I will try!

      • Mario says:

        Jonathan,

        in the graphical shell everything works perfectly, no problems with the keyboard layout. When I Connect to the terminal server (windows 2003) it is not OK anymore. I am no expert with linux, can you give me some guidelines?

        Thanks
        Mario

        • Tom James says:

          We have also noticed this issue. An example is:

          Puppy Linux X @ = @ and £ = £
          Terminal Server @ = ” and £ = #

          I reinstalled from scratch ensuring the language settings were correct and can confirm Puppy is showing them correctly to. TS is also running GB only language / keyboard. Any ideas as not sure where to start on editing configs for the RDP client.

          • Tom James says:

            FIXED!

            1: Ctrl + Alt + Backspace
            2: cd /tsc/pctsc-1.2.3/rdesktop/usr/share/rdesktop/
            3: rem en-us
            4: mv en-us
            5: cd back to root
            6: ./install.sh
            7: pctsc.reboot
            8: correct keyboard map for UK works.

  6. Chip says:

    Johnathan,

    During the install the instructions instruct me to remove the original partition and set PLinux as the boot partition. Is it possible to leave the Windows Installation intact and have a small timeout when booting GRUB (Still defaulting to Linux RDP) but give it a few seconds where Windows XP can be selected.

    This would be for some of our clients that would like to boot into their previous Windows Instalation (Or if the removal of Linux partition was needed all together, I would want the Windows to still be entact)

    Thank you and I will be testing out 4.3.1 with the new findings.

    • It is definitely possible to do what you’re suggesting. One can shrink the Windows partition using any one of several tools, use the remaining space for a new partition for Puppy, and then configure Grub to load either. The only catch is, the process of setting all of this up is quite time-consuming (it can take quite a while to resize a Windows partition) and it is frankly risky for the Windows installation and data too, there are several places it can go wrong.

      I think that if I wanted to keep Windows around, I would use the built-in RDP client if it were XP or higher :-) Now if the Windows is 2000 or older, I could see it, but it would take some work to make it happen.

  7. Chip says:

    Just a quick note, the Instructions still reflect the old site for downloading the PCTSC package of ‘truepath’ Not a big deal but some people may be confused when following the instructions. :)

    • Yup, I noticed that just Saturday, while working on version 1.2.3. I am hoping to have 1.2.3 out tonight, it works with Puppy 4.3.1. There is a pesky issue with X not working on reboot; I seem to have found ways to alleviate it, but it’s still not perfect. Version 1.3, I think, may be a rewrite based on Tiny Core Linux.

      • Chip says:

        Actually, the first part of the instruction guide lists truepath as the download and the second part (Where it tells you how to download the client) lists ponderworhty.com and not .org

        :) Looking forward to the new version, I’ll stick with 1.2.2 for now as it has always worked thus far. I’ll be testing as soon as it comes out.
        Thanks a bunch!

  8. Ramon says:

    Very good this how to!!!!!!! but is posible map usb ?

  9. Chip says:

    Fantastic software, works like a charm! I’m using this to re-purpose hardware that is too slow to work as a standalone PC and now connects directly to a terminal server.

    The hosting change worried me but I am glad that this project is still alive.

    Are there any plans on updating the client to work with PuppyLinux 4.3? I tried it with different builds and none of them successfully work without quirky issues. 4.2 has worked with the limited hardware I have tried thus far but the new versions would be nice for more hardware support in the future.

    Thanks. :) Keep up the good work.

    • Chip, many thanks. It’s a far better location now :-) I do want to update PC TSC for Puppy 4.3, I am finding 4.3 extraordinarily good. My problem is hardware, I don’t have any for the purpose right now. But I am hoping that a castoff will come my way fairly soon :-)

  10. Nav says:

    Does puppy 4.2 still have the power cut issue?

    If there is a power failure then TSC just loops the xwin command but is unable to start the x server.

  11. Link to instructions are still to local drive. Looks like this might fit my needs.
    Looking forward to effective instructions.
    Also link to Puppy iso is now wrong since they have updated also.

  12. Christopher says:

    your links do not work. They are pointed to a local PC directory

Leave a Reply