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.
|Speed Up Your Web Site with Varnish||Jun 19, 2013|
|Non-Linux FOSS: libnotify, OS X Style||Jun 18, 2013|
|Containers—Not Virtual Machines—Are the Future Cloud||Jun 17, 2013|
|Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer||Jun 12, 2013|
|Weechat, Irssi's Little Brother||Jun 11, 2013|
|One Tail Just Isn't Enough||Jun 07, 2013|
- Speed Up Your Web Site with Varnish
- Containers—Not Virtual Machines—Are the Future Cloud
- Linux Systems Administrator
- Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer
- Non-Linux FOSS: libnotify, OS X Style
- Senior Perl Developer
- Technical Support Rep
- UX Designer
- RSS Feeds
- Reply to comment | Linux Journal
1 hour 3 min ago
- Reply to comment | Linux Journal
5 hours 2 min ago
- Yeah, user namespaces are
6 hours 19 min ago
- Cari Uang
9 hours 50 min ago
- user namespaces
12 hours 43 min ago
13 hours 9 min ago
- One advantage with VMs
15 hours 38 min ago
- about info
16 hours 11 min ago
16 hours 12 min ago
16 hours 13 min ago
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?