Linux Terminal Servers for Any Business

by Mark Rais

A Linux Terminal Server offers any business an elegant and cost-effective way to integrate the power of open source. In this article, I review some basics of network topology and offer suggestions about how to install a prototype server. I top it off with some tips for business-specific installations and configuration guidance.

A Linux Terminal Server allows almost any business to gain the benefits of open source and the power of Linux immediately. What makes an LTS distinct is that it integrates well, without burden to infrastructure or people. Moreover, the performance of an LTS dramatically showcases Linux power. One LTS can serve graphics and applications to many desktop PCs simultaneously.

By placing the LTS into an existing subnet, colleagues can access the many useful applications and features with almost no effort—and at their convenience.

A great deal of effort has been put into the Linux Terminal Server Project (LTSP) to make it seamless. LTS simplifies installation by isolating the integration work exclusively on the server.

With an LTS, even the most hesitant users experience the benefits of open source in their organizational context. No re-installs are required. No major licensing or policy changes. And most important of all, the financial costs are negligible.

As an illustration, I recently found that a local real-estate company had needs that perfectly matched with an LTS. Among the many available applications, I demonstrated the ease of The GIMP to alter photos downloaded from the agents' cameras. Then I included simple bash scripts to automate the uploading of the enhanced images to their Web site. The GIMP exemplifies the many outstanding open-source programs they could access easily through the LTS.

This simple example demonstrates how a business that never considered Linux or open source could quickly gain access to applications with very little cost in time or money. Above all, the agents could access the LTS from their own desktops without any alterations.

Now, let me share some of the basics of integrating an LTS into your business.

First, choose your network topology and server based on your specific business context. Next, choose your method of installation and follow the on-line instructions. Finally, configure your server to support thin-client connections. You'll find that most installations work smoothly and quickly. To help guide your steps, I include tips for some of the more essential configurations.

Basic Network Topology and Options

If you look at most of the existing installations of LTS, you'll find that they implement a closed subnet configuration. In such a configuration, the LTS serves thin clients within its own controlled subnet and provides routing to the overall organization's network through a second Ethernet port.

Utilize this closed subnet configuration to isolate thin clients, such as in a work lab. Sometimes, this configuration also provides a reasonable solution for business, where a team or department needs the access and features of an LTS.

Figure 1. Closed Network Integration, Relying on the LTS

This is a superb solution when your business starts a new department and wants to manage hardware and software licensing costs tightly, or when capital budgets could better be used for staffing. In this scenario, the business gains dramatically as LTSP does not require robust desktop PCs.

They may exist as outdated PCs or as simple diskless workstations. Often such connectivity costs less than $300 per seat. Ironically, it costs more per seat just for software licensing in most business situations.

Figure 2. Basic Integration into an Existing Subnet, Offering Access to the LTS

As shown in Figure 2, the LTS also can benefit an organization when installed into an existing subnet. The other computers do not rely on the LTS, but they gain access to the LTS and its many applications and features.

I assume in both cases, your LTS sits snuggly behind your business firewall. Also, both examples allow authentication servers, network file stores and broadband connectivity through additional tools like Samba and WinBind. However, I recommend you begin with a simplified installation. You always can adjust or expand the LTS' role and features once operational.

Figure 2 represents a prototype LTS that offers anyone on the subnet access while remaining largely “invisible” to the other servers on the network. In most cases, this setup requires only one Ethernet connection and reserved IP addresses for a particular subnet.

Now, I'll share some specifications that will help you choose a reasonable business server.

For every simultaneous thin client you want to connect, you should have about 128MB of RAM. The more the better, but this provides a good start. For a real-world example, I've seen that a thin client running KDE with OpenOffice.org Writer and a Firefox browser will use about 115MB.

I recommend that you use at minimum a 7,200rpm disk drive with a decent onboard cache. SATA or SCSI are standard for most business servers, and you should use these if possible.

Obviously, if you can acquire a more powerful processor or dual-processing capability, so much the better. I've even seen 2.4GHz processors with plenty of RAM (2GB+) do quite well. If you must make a choice, place emphasis on RAM over processor speed.

The folks at the LTSP.org have done a phenomenal job of supporting volumes of configurations and flavor variances. However, as a basic guide, using PCI cards and Digital Signal Processor (DSP)-based sound cards will ensure an easier integration.

Once you've decided on the topology and server, choose your installation method.

Installation Tips Not Everyone Tells You

You can set up an LTS for your business in two core ways.

The first option, an LTSP install, requires more hands-on editing of configuration files. The benefit is that you control every aspect and the Linux flavor used. This is important if you already have an existing Linux server and want to add the power of LTSP.

The second option, a complete distribution install, consumes less time. It also offers the simplicity of including almost every necessary library and package. Two popular options include:

  • The K12LTSP.org version, which uses the latest Fedora Core.

  • The Edubuntu.org version, which uses Ubuntu (a Debian-based distribution).

If you don't already use one particular Linux flavor and if you are new to server administration, I strongly recommend that you use one of the ready distributions.

Skip to the next section if you want to use a Complete Distribution of LTSP.

However, for those who are well versed with their flavor of choice, I offer this section. It's a brief summary of tips that may help you over some installation hurdles, regardless of which flavor you've chosen.

Begin your installation by first visiting the LTSP.org Web site and wiki. They include some excellent details regarding various flavors and appropriate installation guides.

The LTSP Installer, on the LTSP.org Web site, works well and expedites the installation process. If you have an Internet connection to the LTS, this offers an optimal solution.

Have the following information ready prior to the installation:

  • Ethernet device name (eth0, eth1 and so on).

  • Ethernet MAC address(es).

  • Server's IP address (to be reserved in the DNS in most cases).

  • Subnet mask.

  • Subnet information (you may need to reserve a subset of IP addresses for LTS).

  • Router IP for your local area network (not the broadband router).

The libwww-perl package and others—you may need to address the libwww-perl dependency, which Jim McQuillan documented on the LTSP.org Web site. This runs the Perl file that actually installs and preps your LTS (ltspadmin).

Be careful which one you download; numerous iterations exist. For example, there are currently 75 RPMs just for the libwww-perl.

Please use your flavor's package manager—RPM, Synaptic PM or YaST—to add this and a number of other essential packages. This allows you to get many dependencies resolved in one fell swoop.

Set your temptations aside and try not to skip steps in the configuration menu (11 steps total). Some of the steps create essential config files that you will then need to edit or rename. To start, choose Show the status of all services from the main tool menu.

Your LTS must run in runlevel 5 to allow your thin-client connections to use graphics. If your server does not boot into runlevel 5, edit this file: /etc/inittab.

Edit the initialization default line to read:

id:5:initdefault:

When running in text mode, most flavors make available both vi and nano editors.

Ensure that you start all services prior to LST configuration. I'll use the DHCP service as an example, because it serves an essential role for an LTS, and you need to familiarize yourself with its configuration.

To force-start the DHCP process, you usually use the commands:

cd /etc/init.d
./dhcp3-server start

On some flavors, you may need to force-start the process with something similar to this:

/usr/sbin/dhcpd

Now, check your syslog to find out whether DHCP generated any errors:

cd /var/log
tail syslog

DHCP will fail if you've incorrectly configured your subnet information.

Edit your DHCP configuration file:

nano /etc/dhcp3/dhcpd.conf

On some flavors, the file may be located here:

nano /etc/dhcpd.conf

I offer some more details regarding declaring a subnet in the Final Prototype Configuration section below.

With some flavors, you also may need to edit a file to declare your network device. Edit the line in /default/dhcpd3-server to include your specific Ethernet card(s), for example:

INTERFACES="eth0"

Most installations and configurations go smoothly without a lot of tinkering. But in case you run into hurdles, I include some of the key file locations below.

LTSP configuration files:

  • /usr/sbin/ltspcfg: the LTSP configuration tool.

  • /opt/ltsp/i386/etc/lts.conf: the primary configuration file.

DHCPD on some flavors:

  • /etc/init.d/dhcp3-server: executable script to start/stop service.

  • /etc/default/dhcpd3-server: default declaration of Ethernet device.

  • /etc/dhcp3/dhcpd.conf: the configuration file.

  • /var/lib/dhcp3/dhcpd.leases: the lease file associating IP leases.

DHCPD on other flavors:

  • /etc/init.d/dhcpd: executable script to start/stop service.

  • /etc/dhcpd.conf: the configuration file.

  • /var/lib/dhcp.leases: the lease file associating IP leases.

Hopefully, this section provided tips for a smooth installation. Now, jump ahead to the Final Prototype Configuration section.

Installation Using a Complete Distribution

Using a Complete Distribution offers one of the easiest and fastest means of integrating an LTS. In many cases, I've been able to install a server within an hour. I also save a lot of time as I do not have to install individual applications that I find useful.

For instance, the K12LTSP.org release, although intended primarily for schools, includes everything a business server requires and then some. Some of the packages in this release include:

  • Samba: file-sharing tools for integrating in a Microsoft environment.

  • OpenOffice.org 2.x: complete office suite of tools useful in business.

  • Rdesktop: remote desktop sharing with Windows Terminal Services.

Prior to installation, take time to read some of the documents and errata available on the LTSP.org Web site, and be sure to familiarize yourself with your business network and server hardware.

On occasion, I've seen video driver failures on the server. This has nothing to do with thin clients and their video. It also does not require any setting changes in the lts.conf file. Instead, the easiest solution and one that circumvents a lot of video issues is to install the package with this parameter at the boot prompt: linux skipddc. This is a failsafe, and you should use it only when you cannot reconcile the server's video issues. This removes any graphical capabilities from the server itself and performs a text-only installation. It automatically starts the server at runlevel 3.

Once you have completed the installation, you can force the run level to 5 using this command:

init 5

For further guidance, please look back over the Installation section above.

You may disable SELinux to allow proper installation and configuration. You always can restore some of the SELinux functions later.

I strongly recommend that you include nearly everything except the educational and gaming packages. If you prefer to slim down the install, leave out a few server options you know you won't need, such as a News server, but try to include some of the development tools. I know you'll need them eventually.

The Complete Packages come with a number of logos that you may change to reflect your business. For example, you may want to change this graphic: /opt/ltsp/templates/k12linux/k12ltsp.jpg. Using GNOME, type the command: gdmsetup. Using KDE, type the command: kcontrol.

In the KDE Control Center, select System Administration, then the Login Manager.

Hopefully, you now have a ready LTS!

Final Prototype Configuration

Whether you used the Installation process or chose to go with a Complete Package, you should now have an operational server.

For most business situations, you also must make a few minor configuration changes to the dhcpd.conf and lts.conf files.

Network Configuration

In the lts.conf file, ensure that the IP address correctly matches the address of your server.

In the dhcpd.conf file, ensure that you choose one of the options to declare your subnet and to allow thin-client connections. For example:

subnet 192.168.0.0 netmask 255.255.255.0 {
   range dynamic-bootp 192.168.0.243 192.168.0.253;
   use-host-decl-names       on;
   option log-servers        192.168.0.254;

The basic example above allows the dynamic assignment of IP addresses from the business DNS for a particular subnet. The range assigned to the LTS for thin clients is 243–253, allowing up to ten thin clients connectivity. In this example, I assigned my LTS as 254.

Once you set up your network configurations properly, connect a thin client.

First Time Login as Root

Reboot the LTS, or restart all of your LTS-related services. Then, connect to the LTS via a laptop or desktop on the same subnet and login as root.

Most PCs today include a Boot Order menu. Press the F12 key or something similar on the thin client to access the menu. On older systems, you need to enter the full BIOS configuration (F2 or Del key) and choose Boot Up Configuration.

On older systems, you also may need to choose the MBA (Managed PC Boot Agent) and configure it for PXE protocol.

Now, choose Network Boot. After a few seconds, the LTSP software should enable the thin client.

At this point, you'll see the graphical login screen.

Add Users to the LTS

After you log in, add a few test users directly to your LTS.

I always recommend that you create several user logins to test the prototype server and to avoid using root. It's also a good first step before getting into the minutia of configuring Samba (smb.conf file), ADS authentication and other features.

Now you are ready to connect other PCs on the same subnet to the LTS.

Conclusion and Encouragement

I experience one of my favorite joys when I watch multiple thin clients log in to the LTS and open applications. My adrenaline always flows when I witness the sheer speed of many thin clients simultaneously starting an application like OpenOffice.org. A few seconds, and every screen shows the application ready for use.

I hope that this article encourages you to try out the power and elegance of the LTSP in your business or home office.

Once you open the door and get your LTS up and running, you can integrate many other powerful features. You can include network printer support, automatic backups, file sharing and much more. An LTS may provide just the key your business needs to enter the beneficial world of Linux.

Mark Rais dedicates his time and energy to promoting open-source technology, especially among the poor and where a technology divide exists. He serves as senior editor for reallylinux.com and as technology writer and consultant to organizations interested in switching to Linux. You can contact him at markr@reallylinux.com.

Load Disqus comments