McChikenhanger Posted November 28, 2011 Posted November 28, 2011 Hi there guys. Just interested to know if anyway has any ideas on how to turn a crappy old laptop into a thin client, running on Linux or Chromium. My idea was to have the bare minimums on the laptop so that when it starts up it can connect automatically to one of the Terminal Servers that are already running. Any ideas will be appreciated.
dhicks Posted November 28, 2011 Posted November 28, 2011 Just interested to know if anyway has any ideas on how to turn a crappy old laptop into a thin client, running on Linux or Chromium. We have EeePCs (the ones with 4GB solid-state "harddrives") running Debian with XFCE as a window manager and Chrome as a web browser. They start up straight in to Chrome in full-screen kiosk mode and don't do anything else except browse the web. Wireless access is set up via a startup script, not via the GUI, so there's nothing for the children to tinker with. Chrome keeps itself up-to-date in the background. You could add Remote Desktop functionality to the above easily enough, just install rdesktop. How you start applications is up to you, but yopu could look at having a browser extension of some kind that let you start applications by clicking something in a web page, then you could use a web page as the main interface for your computer and not bother with a start menu or similar.
McChikenhanger Posted November 28, 2011 Author Posted November 28, 2011 Budget is as little as possible. It's only a side project to see if we can breathe some life into some old laptops that we have sitting around doing nothing. The spec on the laptops is Pentium Celeron @1.4, 500Mb RAM, 40 Gb HDD. Numbers is for a full classroom of 30 to 30 laptops, connecting through Wi-Fi.
McChikenhanger Posted November 28, 2011 Author Posted November 28, 2011 We have EeePCs (the ones with 4GB solid-state "harddrives") running Debian with XFCE as a window manager and Chrome as a web browser. They start up straight in to Chrome in full-screen kiosk mode and don't do anything else except browse the web. Wireless access is set up via a startup script, not via the GUI, so there's nothing for the children to tinker with. Chrome keeps itself up-to-date in the background. You could add Remote Desktop functionality to the above easily enough, just install rdesktop. How you start applications is up to you, but yopu could look at having a browser extension of some kind that let you start applications by clicking something in a web page, then you could use a web page as the main interface for your computer and not bother with a start menu or similar. Thank you dhicks, I'll have a look at that. However, the idea was to use old laptops that aren't doing anything anymore, and have them launch an RDP connection or something of the kind when they get turned on. Then the kids can use their credentials to log in and make it look as if they where sitting at the other normal thin clients that we have around here.
dhicks Posted November 28, 2011 Posted November 28, 2011 the idea was to use old laptops that aren't doing anything anymore, and have them launch an RDP connection or something of the kind when they get turned on. That's even easier - just launch rdesktop in full-screen mode at startup. This is pretty much exactly what Thinstation does, so that's probably what you want to use. I've found in the past it lacked drivers for the particular hardware we were using and wound up using SystemRescueCD or Slax instead. If you have no local browser, Thinstation or similar should be small enough to boot over the network - you can remove the harddrive from your laptops completly to save some power and have them boot via PXE. 1
FN-GM Posted November 28, 2011 Posted November 28, 2011 Yout might find this handy - Windows Thin PC - Blogs - EduGeek.net 1
McChikenhanger Posted November 29, 2011 Author Posted November 29, 2011 Yout might find this handy - Windows Thin PC - Blogs - EduGeek.net Thank you FN-GM, but I think I'll have to use open source software, that way we can save on money. But the blog that you pointed to makes for an interesting reading. Maybe it will give me some ideas. Thanks.
dhicks Posted November 29, 2011 Posted November 29, 2011 Thank you FN-GM, but I think I'll have to use open source software, that way we can save on money. You probably already know, but bear in mind that you do still have to have a Remote Desktop Services Client Access License for each remote client accesing your server(s), and software running on that server has to be appropriatly licensed - you'll save money on the thin client OS, but not much else.
morganw Posted November 29, 2011 Posted November 29, 2011 You might save money on anti-virus by not using a Windows base for the thin client, but then again you would probably get better RDP performance using the newer Windows RDP client, maybe better battery life too. You should probably pick based on the how these laptops will be used although personally I would look at Thinstation first and go from there.
dhicks Posted November 30, 2011 Posted November 30, 2011 you would probably get better RDP performance using the newer Windows RDP client Actually, on a resonably modern client with half-decent graphics and a reasonable server you don't really notice the difference. I've had Flash-based video going over RDP to an rdesktop client running on a small Acer Veriton machine just fine. I'm sure having a RemoteFX-enabled server and client makes a difference to graphics performance, but otherwise you'll be fine with rdekstop. The real advantage of rdekstop is that you can use it in your own customised PXE-bootable Linux distribution along with an up-to-date web browser to set up a nice simple client with a start menu or launch screen that lets you run applications on your remote server and local browser sessions.
FN-GM Posted November 30, 2011 Posted November 30, 2011 You might save money on anti-virus by not using a Windows base for the thin client, but then again you would probably get better RDP performance using the newer Windows RDP client, maybe better battery life too. You should probably pick based on the how these laptops will be used although personally I would look at Thinstation first and go from there. There is feature on thin pc to get rid on any changes on reboot. So if it gets a virus on next reboot it will be gone. Thank you FN-GM, but I think I'll have to use open source software, that way we can save on money. But the blog that you pointed to makes for an interesting reading. Maybe it will give me some ideas. Thanks. Its free if you have software assurance.
McChikenhanger Posted November 30, 2011 Author Posted November 30, 2011 You probably already know, but bear in mind that you do still have to have a Remote Desktop Services Client Access License for each remote client accesing your server(s), and software running on that server has to be appropriatly licensed - you'll save money on the thin client OS, but not much else. Yeah, I know. The servers are already in place, and we already have thin clients dotted around. I'm just trying to breath a new lease of life to old laptops instead of throwing them away, hence why I don't want to spend money on the project.
morganw Posted November 30, 2011 Posted November 30, 2011 There is feature on thin pc to get rid on any changes on reboot. So if it gets a virus on next reboot it will be gone. ...but you would still be exposing the BIOS and the bootloader which would be unprotected, in addition to anything the computer was connected to while it was running (on the network and local media such as memory sticks). Also I presume that the thin version of Windows 7 needs patching like the fat version so eventually it would require maintenance and you would have to deploy a new image or get it to keep changes after a reboot. The price is right though.
pogson Posted December 4, 2011 Posted December 4, 2011 I've done this a lot in schools. The least expensive way to use old PCs as thin clients is to use GNU/Linux on the server as well as the thin client. That way their is no licensing fee at either end. I usually use Debian GNU/Linux. On old PCs, the CPU may even have trouble encrypting the traffic so using plain X window system really cuts down the load on the machines. Since the old machines are doing less, they are pretty snappy, better than a new desktop PC. e.g. 5s logins and 2s opening an application given a new machine as server. By putting the lab on its own LAN/using a second NIC and switch on the server you can get enough security. Any modern PC with 500MB RAM plus 100 MB RAM per client should do a great job as server. It helps to have multiple hard drives so that multiple seeks can take place. I normally use RAID 1 with 500 gB hard drives. GNU/Linux can do software RAID efficiently. Booting PXE on the clients may be faster than booting from a hard drive if you don't have a BIOS that fiddles around too long. Hard drives take seconds to stabilize. The PXE kernel can be customized to be much smaller than a normal kernel because it does not need many drivers. You can also trigger some PCs to boot on schedule or command using wake on LAN settings. That way the time taken to boot is irrelevant because it can be done before students enter the room. Unfortunately, some browsers insist on doing "smooth scrolling" (multiple screen refreshes look smoother). Lately FireFox and Chrome both have no means of turning that off. The result is that scrolling is jerky on thin clients because of multiplied network lags. Opera does permit disabling smooth scrolling. If you have GNU/Linux installed on the client PCs, you can edit /etc/rc.local to start an X session with X -query ipaddress_of_server. Then students will see a login screen when the old machines boot. Typically, it takes 30s to boot GNU/Linux from the hard drive of an old machine. The newer/more powerful machine used as a server needs to be tweaked to accept XDMCP connection from the LAN/subnet. The display manager/firewall setting may need to be tweaked. Most distros have that turned off by default. There are packages one can install from Debian GNU/Linux and other distros to set up LTSP on the terminal server. ltsp-server-standalone will set up DHCP for the lab and run the clients. ltsp-server will just run the clients. Some distros, like skolelinux or edubuntu will have an option to set up the installation from a CD. Just boot from the installation CD and choose the server setup. A couple of years ago, I had a lab with 17 PCs that were 8 to 10 years old and I converted them to boot PXE from a 5 year old machine with 2gB RAM. It was a constant problem with driver issues with XP as students would swap mice and XP would freeze... With GNU/Linux, I gathered all the old machines I could find making 24 clients running LTSP and the lab ran trouble-free with the performance of the newer machine. Kids and teachers loved it. The clients were so slow that turning off encryption was essential. Performance of the old lab was then better than the new lab running XP. It's the best way to run a lab IMHO but it doesn't do video very well because of the old/slow graphics cards and network bottleneck. If you can afford gigabit/s NICs you win on the network lag but I had graphics cards with as little as 4MB RAM. Sad... 1
McChikenhanger Posted December 5, 2011 Author Posted December 5, 2011 I've done this a lot in schools. The least expensive way to use old PCs as thin clients is to use GNU/Linux on the server as well as the thin client. That way their is no licensing fee at either end. I usually use Debian GNU/Linux. On old PCs, the CPU may even have trouble encrypting the traffic so using plain X window system really cuts down the load on the machines. Since the old machines are doing less, they are pretty snappy, better than a new desktop PC. e.g. 5s logins and 2s opening an application given a new machine as server. By putting the lab on its own LAN/using a second NIC and switch on the server you can get enough security. Any modern PC with 500MB RAM plus 100 MB RAM per client should do a great job as server. It helps to have multiple hard drives so that multiple seeks can take place. I normally use RAID 1 with 500 gB hard drives. GNU/Linux can do software RAID efficiently. Booting PXE on the clients may be faster than booting from a hard drive if you don't have a BIOS that fiddles around too long. Hard drives take seconds to stabilize. The PXE kernel can be customized to be much smaller than a normal kernel because it does not need many drivers. You can also trigger some PCs to boot on schedule or command using wake on LAN settings. That way the time taken to boot is irrelevant because it can be done before students enter the room. Unfortunately, some browsers insist on doing "smooth scrolling" (multiple screen refreshes look smoother). Lately FireFox and Chrome both have no means of turning that off. The result is that scrolling is jerky on thin clients because of multiplied network lags. Opera does permit disabling smooth scrolling. If you have GNU/Linux installed on the client PCs, you can edit /etc/rc.local to start an X session with X -query ipaddress_of_server. Then students will see a login screen when the old machines boot. Typically, it takes 30s to boot GNU/Linux from the hard drive of an old machine. The newer/more powerful machine used as a server needs to be tweaked to accept XDMCP connection from the LAN/subnet. The display manager/firewall setting may need to be tweaked. Most distros have that turned off by default. There are packages one can install from Debian GNU/Linux and other distros to set up LTSP on the terminal server. ltsp-server-standalone will set up DHCP for the lab and run the clients. ltsp-server will just run the clients. Some distros, like skolelinux or edubuntu will have an option to set up the installation from a CD. Just boot from the installation CD and choose the server setup. A couple of years ago, I had a lab with 17 PCs that were 8 to 10 years old and I converted them to boot PXE from a 5 year old machine with 2gB RAM. It was a constant problem with driver issues with XP as students would swap mice and XP would freeze... With GNU/Linux, I gathered all the old machines I could find making 24 clients running LTSP and the lab ran trouble-free with the performance of the newer machine. Kids and teachers loved it. The clients were so slow that turning off encryption was essential. Performance of the old lab was then better than the new lab running XP. It's the best way to run a lab IMHO but it doesn't do video very well because of the old/slow graphics cards and network bottleneck. If you can afford gigabit/s NICs you win on the network lag but I had graphics cards with as little as 4MB RAM. Sad... Thanks for the info Pogson, it's very helpful. I've only just started to experiment with Linux for this kind of stuff. I'm afraid that I'm more of a Microsoft Windows person, so when it comes to what things need changing in Linux, I'm a bit at a loss. The machines that I'll be using are laptops, so they will be connecting through the wireless. Is it difficult to get them working in this way? They all have HDDs so I think I'll have them booting up from there, instead of PXE. Don't think you can do PXE boot through Wireless. I was thinking of using something like Ubuntu, seems fairly easy to get that one working.
pogson Posted December 5, 2011 Posted December 5, 2011 That's right. Wireless clients should have a local OS installed. Wireless thin clients have bandwidth issues. There are ways to recuce bandwidth requirements like reducing screen resolution, using NX instead of X, and just virtualizing some major apps instead of the whole desktop. To virtualize just a single app is simple. Replace the executable on the client with a script that looks like ssh -Y servername "oowriter" The "-Y" forwards the window for the application to the client and the application runs on the server. This keeps the user data on the server and off the network so file saves etc. do not clog up the network. preventing pauses. Experience with Ethernet may be relevant. At 10 mbits/s, a thin client will see jerky behaviour because screen refreshes take an appreciable time. At 100 mbits/s, most users will see a normal desktop. At 1000mbits/s, even video works well. The problem for wireless is that the room shares a single channel unless you take care to put a few clients on each channel and the wireless router can be a bottleneck. I would look into using Wireless N if that's an option and/or using multiple wireless routers. 802.11b/g use overlapping channels so use widely spaced channels may be better. I used to use 1 and 11. You might need 1, 6 and 11 if you need three groups. The bandwidth requirements for non-video at 1024x768 is around 200kbits/s per client for adults doing a fair bit of reading. Twitchy teenagers or elementary children use a lot more graphical bandwidth, perhaps 1 megabit/s per client, so the usage can really impact a wireless setup of thin clients. If you find tweaking the wireless connectivity problematic, you could look at using the notebooks as conventional thick clients but only using the wireless to share users' files from the server.
dhicks Posted December 5, 2011 Posted December 5, 2011 The machines that I'll be using are laptops, so they will be connecting through the wireless. Is it difficult to get them working in this way? They all have HDDs so I think I'll have them booting up from there, instead of PXE. Don't think you can do PXE boot through Wireless. I was thinking of using something like Ubuntu, seems fairly easy to get that one working. We use Debian, a basic text-only install with XFCE added as the user interface. I have the following notes on setting it up: Install Debian - text only, no GUI components. Set hostname: KSOS Root password: ...... New user: administrator Same password Set minimal boot time in grub settings: nano /boot/grub/grub.cfg set timeout=0 Install minimal GUI apt-get install xfce4 Wireless Edit /etc/apt/sources.list: Edit line to read: deb http://ftp.us.debian.org/debian squeeze main contrib non-free apt-get update apt-get install firmware-ralink wireless-tools wpasupplicant chmod 0600 /etc/network/interfaces Edit /etc/network/interfaces: auto wlan0 iface wlan0 inet dhcp wpa-ssid NameGoesHere wpa-psk ...... Auto-logon administrator From http://forums.debian.net/viewtopic.php?t=29333: Edit /etc/inittab, Comment out the line: 1:2345:respawn:/sbin/getty 38400 tty1 And replace with: 1:2345:respawn:/bin/login -f administrator tty1 /dev/tty1 2>&1 Reboot Auto logged on as administrator, edit .bashrc, add to the end: if [ -z "$DISPLAY" ] && [ $(tty) == /dev/tty1 ]; then startx fi Reboot Install Chrome: Download from Google, place on to memory stick, load on target machine seems to be best bet - target machine doesn't have web browser by default. dpkg -i google-chrome-stable_current_i386.deb apt-get -f install rm google-chrome-stable_current_i386.deb Run Chrome Set homepage to http://frog/eyfs Set mouse cursor: apt-get install big-cursor In XFCE: Start menu, Settings, XFCE 4 Settings Manager Add item for Chrome: google-chrome --incognitio --kiosk To install rdesktop you'll can probably just type something alogn the lines of "apt-get install rdesktop".
McChikenhanger Posted December 5, 2011 Author Posted December 5, 2011 We use Debian, a basic text-only install with XFCE added as the user interface. I have the following notes on setting it up: Install Debian - text only, no GUI components. Set hostname: KSOS Root password: ...... New user: administrator Same password Set minimal boot time in grub settings: nano /boot/grub/grub.cfg set timeout=0 Install minimal GUI apt-get install xfce4 Wireless Edit /etc/apt/sources.list: Edit line to read: deb http://ftp.us.debian.org/debian squeeze main contrib non-free apt-get update apt-get install firmware-ralink wireless-tools wpasupplicant chmod 0600 /etc/network/interfaces Edit /etc/network/interfaces: auto wlan0 iface wlan0 inet dhcp wpa-ssid NameGoesHere wpa-psk ...... Auto-logon administrator From http://forums.debian.net/viewtopic.php?t=29333: Edit /etc/inittab, Comment out the line: 1:2345:respawn:/sbin/getty 38400 tty1 And replace with: 1:2345:respawn:/bin/login -f administrator tty1 /dev/tty1 2>&1 Reboot Auto logged on as administrator, edit .bashrc, add to the end: if [ -z "$DISPLAY" ] && [ $(tty) == /dev/tty1 ]; then startx fi Reboot Install Chrome: Download from Google, place on to memory stick, load on target machine seems to be best bet - target machine doesn't have web browser by default. dpkg -i google-chrome-stable_current_i386.deb apt-get -f install rm google-chrome-stable_current_i386.deb Run Chrome Set homepage to http://frog/eyfs Set mouse cursor: apt-get install big-cursor In XFCE: Start menu, Settings, XFCE 4 Settings Manager Add item for Chrome: google-chrome --incognitio --kiosk To install rdesktop you'll can probably just type something alogn the lines of "apt-get install rdesktop". Thanks dhicks. I was going to try Debian next. Was using Slax today, as it's got all the drivers that makes the laptop go with no problem, buthaving problems installing itfrom the CD to the HDD. It seems that it likes torun as a live CD too much. Thanks for the notes. Will follow them and see how far I get. Thanks.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now