Using Ubuntu as a thin client
Over the last few years there have been quite a few articles discussing the uses and advancements of the rdesktop application for Linux users. Rdesktop is an application designed to allow Linux users to access the remote desktop feature of Windows based machines, specifically servers. When my company made the decision to implement a terminal server to ease the network effects of a critical application, I began investigating other practical applications for it's use in a mixed Windows/Linux environment. I set out to determine if a Linux based thin client would be practical. As it turns out, not only was it practical, it was also exceedingly easy.
Recently, my department began paying closer attention to our inter-office bandwidth usage. We began to notice that one of our network applications required its end users to conduct a “push” several times a day, taking up most of our available bandwidth. After implementing QOS style bandwidth throttling, we took the additional step of placing this particular application solely on a terminal server. Our users would log in remotely, do their work, and the data transfer took place locally on that server, with no need for a “push” over the network. Encouraged by the results of this test, I began to explore the possibility of doing this with all of the applications commonly found on our end-users' computers. The result was a completely free (in all senses) thin client.
I took a stock computer from the warehouse that was for most purposes, outdated. Since I was planning to install a thin client version of Linux on the machine, it didn't need much more than a keyboard, mouse, monitor and network access. We rely heavily on CentOS for our server distribution, but I decided to use Ubuntu for my proof of concept thin client. I chose Ubuntu because of its out of box functionality across a number of different components and drivers. I am certain you could use just about any distribution you are comfortable with. Very little is needed to configure a thin client during the default install. The only deviation on this install was that it would login the user automatically without prompting for a password (since nothing would be stored or accessed on this machine, there were few security concerns).
Once the machine was installed, a short script was placed in the home directory containing the following:
!/bin/bash rdesktop 192.168.???.??? -f #insert terminal address sudo /sbin/halt
The script needs to be made executable, which can be chmod'd from the command line, or clicked through Gnome. After that's done, let Gnome's startup program manager know where it is and you're almost done (System → preferences → startup applications). Currently, there is still a bug of sorts in rdesktop that will only connect once before generating errors. To fix this, enter the following at the command line:
# Remove/Delete the ".rdesktop"-directory $ rm -rf ~/.rdesktop # and create a _file_ $ touch ~/.rdesktop
That's it. There's really nothing left to do but reboot. As you can see from the script, a few things are going to happen. First, as soon as the computer boots, you're going to see an Ubuntu splash screen, which is the last time the end user is going to be reminded they're not really using Windows. Second, instead of the Gnome desktop appearing on their screen, they are automatically taken to the terminal server's login screen. After the day is done, logging out of the terminal server shuts the thin client down.
So what do we have, and what does it all mean ? Ultimately, our end-user-turned-test-pilot has a Linux machine on what is now considered sub standard hardware that normally would have been thrown out. The computer boots, and takes her directly to the Windows based terminal server, completely eliminating any learning curve whatsoever. When she logs off, the computer turns off. Total cost to company: nothing. If the thin client burns down tomorrow, the unit can be replaced in minutes, and the end-user's loss is non-existent. All of this is accessable via VPN, making the entire desktop more freely accessable should she find herself at home, or on the road. We haven't spent a dime, and in the same we have managed to recycle a machine that would otherwise have been land fill bound. We've struck a blow for open source, one for Mother Earth, kept our money where it belongs and had a blast doing it.
While it is unlikely that this is the killer-concept that will change the way we do business, it did help us to think outside the digital box of sorts. It pointed us in other directions, and I'm sure that some project in the future is going to benefit from what we've learned here. Either way, we continue to discover new ways to implement open source solutions. Each step we take produces it's successes, and sometimes not so successful results. Building a thin client from a linux box can hardly be called a monumental achievement, but each small step forward leads us to the bigger solution around the corner, and is ultimately why I love my job as much as I do.
Chase Crum is the IT Infrastructure Manager for Voicenation and a self-proclaimed Linux FANATIC.
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
|Non-Linux FOSS: Seashore||May 10, 2013|
|Trying to Tame the Tablet||May 08, 2013|
- RSS Feeds
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- New Products
- Validate an E-Mail Address with PHP, the Right Way
- Drupal Is a Framework: Why Everyone Needs to Understand This
- A Topic for Discussion - Open Source Feature-Richness?
- Tech Tip: Really Simple HTTP Server with Python
- Home, My Backup Data Center
- New Products
- Android is Linux -- why no better inter-operation
24 min 2 sec ago
- Connecting Android device to desktop Linux via USB
52 min 32 sec ago
- Find new cell phone and tablet pc
1 hour 50 min ago
3 hours 19 min ago
- Automatically updating Guest Additions
4 hours 28 min ago
- I like your topic on android
5 hours 14 min ago
- Reply to comment | Linux Journal
5 hours 35 min ago
- This is the easiest tutorial
11 hours 50 min ago
- Ahh, the Koolaid.
17 hours 28 min ago
- git-annex assistant
23 hours 28 min ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Linux Backup and Recovery
Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.
In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.