Posted on 2000-05-04
Medium Priority
Last Modified: 2010-04-20
We have Redhat6.0 running on a box as our gateway and firewall.  I have been messing with it for a few months.

I am looking for information on using a linux box as an X server to do a thin client type setup.  Can a linux server be used with X-terminals?  If it can, where can I get information on this type of setup?  Can a system be setup like a WinNT Terminal Server or Citrix server?  I have a number of users who only need word processing, email and web capabilities.  I am strongly considering linux workstations, but would love a thin client solution.


Question by:gkeefe

Expert Comment

ID: 2778418
Sure, you could use the linux box as a server.  The terminology gets weird because the X people call a 'server' = 'the program that runs on YOUR computer to give you a graphical interface and lets you run programs on YOUR computer OR on OTHER computers but you see the output on YOUR computer'.  So you could have a linux box loaded up with X programs like staroffice, etc, but the X server program must run on the terminals - but those terminals are actually executing programs running on the linux machine, with the screen output sent to the terminals.  EG, my thin client must run an X server program to see the output of an X program really being run on the Linux server.  This makes no sense, I know.  

Junky old 486s make pretty good - lets call them X clients, or you can get X terminals from a number of vendors.  Even if the 486 has a small hard drive, you can boot from the hard drive and NFS-mount other stuff the 486 needs from the linux server.  Netscape and Star Office should handle most all of your web, mail, and wordprocessing needs.

The effect of this is like citrix server - you can have a pretty weak client machine take advantage of a hefty linux box.  You will probably NOT be able to run windows apps - there is WINE, the windows emulator, which is pretty amazing but still not ready for prime time (and as windows is a moving target, it may never be).  Solitaire and minesweeper work fine, but big windows apps explode under WINE.  You don't need much hard drive in your clients, but you will need RAM (64 megs would be nice, but 32 runs pretty well) and a fairly fast video card (an ET4000 or old Trident will not make your users happy).  Other than that most of the processing will be done by the linux box so a nice solid Pentium II or higher would be the thing there.  I throw away 486s that would meet those needs here because Linux is verboten.  You could do it, it would be cool.

Expert Comment

ID: 2778652
You could certainly do this.  Unless you want control over the users to stop them messing up why not go with the workstation approach though?  You could administer them remotely pretty easily and distribute the web-browsing and word-processing onto them instead of bogging down a central box.  If you are going to have a clutch of PIIs or whatever then they can _very_ adequately provide those applications.  You can even do a lot of things with a 486  http://www.thinlinux.org

There are rpm's available and a lot of info on doing exactly what it sounds like you want to do at http://ltsp.org/ (section 5 specifically talks about setting up the server for RH6.0) athttp://ltsp.org/download/lts/lts.html
elsewhere on that site they talk about setting up i-openers as thin clients!

This last link may give you some ideas too:

Expert Comment

ID: 2786461
It is dead-dog easy. Let's define the server a file/application/print server for the purpose of this explanation. ALL files, all printing, all applications, all internet access is via this machine.

You don't need to configure X on the server, but you can if you want. But, whether or not you configure X on the server with Xconfigurator, xf86config, or XF86Setup, you do have have to install X on the server. The main thing you want to do is run something like the xdm or kdm graphical login. You can either edit /etc/inittab to runlevel 5 (runlevel 4 in Slackware) or add a line in /etc/rc.d/rc.local that looks something like this:


Use the "whereis" command to find it on your server. (Of course, you may prefer kdm).

Again, if you haven't configured X on the server, you aren't going to see the xdm or kdm gui login prompt on the server's monitor, but that's ok.

Now, go to your 486 workstations. Edit initab so they don't boot to X. That's right, DON'T boot to X. You want them to use the multi-user command line runlevel (runlevel 3) as the default. Make sure X is configured on the workstations, however. If you are installing Linux on these workstations, you don't need any window managers. You can save a lot of disk space by leaving them out.

After you cofigure X on the workstations, run startx as a test and if you get a grey screen and can move the mouse you are good to go.

Next, configure your network. A simple LAN with Xterminals and a server doesn't require DHCP, DNS, NIS or any other extraneous garbage you don't want to mess with. The server doesn't need the Xterminals listed in it's /etc/hosts file (although that's handy for telnet maintenance sessions), and really, you don't need to list the server or other Xterminals in each workstation's /etc/hosts. Doesn't hurt, but you don't have too. Here, the main thing is to assign an IP to each host.

Now you are ready to test the Xterminal. At the runlevel 3 command line, as root, enter the following command:

X -quiet -query xxx.xxx.x.x

(Where the x's are the numeric IP of your server -- something like

Within a few seconds, to as long as a minute or so for a doggy 486sx with 8 mb ram, you should see the gui login of your server.

Kill X with CTRL + ALT + Backspace and open /etc/rc.d/rc.local on the workstation and add the X -quiet -query line there. You may have to include the whole path -- something like /usr/X11R6/bin/X -quiet etc., etc., -- depends on how you path variables are set.

That's it in a nutshell. I run Xterminals at home and at work. They run great.

If you DO configure X to run on the server, it is available as a workstation as well. A P200 or faster, with 32 MB ram or more (faster is better, and more ram is better still) will handle several Xterminals with ease.

And this is about the only way you are going to run StarOffice under KDE on a 486 with 8 to 16 MB ram and a 125 MB hard drive!
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.


Accepted Solution

bughead1 earned 400 total points
ID: 2786465
bughead1 changed the proposed answer to a comment

Expert Comment

ID: 2786475
I didn't mean to post that as an answer -- because you asked about thin clients.

But a 486 running linux on a 125 to 250 MB hard drive is easier 9and sometimes cheaper to set up.

No boot rom, no complex network configuration.

BTW, I prefer Slackware on the Xterminals. I found it easier to install Slackware 3.9 or 4.0 than other other distros on a small hard drive. I also found that Slackware survives "dirty downs" better -- and you are going to experience those because you won't waste money on UPS's for cheap Xterminals.

But you can use whatever you want, including FreeBSD or some other form of Unix. X doesn't care.

On a 125 MB drive, 100 MB for / and 25 MB swap is generally adequate. 8 MB ram works, 16 MB is better, more than 24 MB is a waste.

Expert Comment

ID: 2788615
If you're going to use real machines instead of dumb terminals, you could export the /home directory through NFS sharing and mount it as the actual /home directory on the owrkstations, so regardless of which machine your users sit on, they'll have their own configuration intact.

 You could even do the installation on a single machine, configure and feed it with everything you need then you'd use dd to copy the hard drive to the other machines hard-drives, making your life much easier.

Expert Comment

ID: 2789353

You can do that, but you don't really need to. All user accounts are on the file/application/print server if you use the Xterminal model.

I also believe you don't really want to use NFS in conjunction with Xterminals. You want to process all data on the Pentium class server, and run no programs and process no data (aside from running an Xserver) on the 486 workstations.

If no files are mounted as NFS files and each 486 is used only as an Xterminal, then each user can sit down at any workstation and log on to the system...it is the least complicated way to provide a homogeneous login environment, and on 10MB ethernet with old workstations it is the fastest in operation.

NFS makes sense if you have powerful workstations and lots of ram. Xterminals are better when you have old, slow workstations and little ram.

Expert Comment

ID: 2789415
Sounds great. It's just that I've had bad experience with systems that overload the server. And by the way, if the only use for the workstation is Internet access and typing, 486's are perfect for the task.

Featured Post

Receive 1:1 tech help

Solve your biggest tech problems alongside global tech experts with 1:1 help.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article will explain how to establish a SSH connection to Ubuntu through the firewall and using a different port other then 22. I have set up a Ubuntu virtual machine in Virtualbox and I am running a Windows 7 workstation. From the Ubuntu vi…
I have written articles previously comparing SARDU and YUMI.  I also included a couple of lines about Easy2boot (easy2boot.com).  I have now been using, and enjoying easy2boot as my sole multiboot utility for some years and realize that it deserves …
Learn how to get help with Linux/Unix bash shell commands. Use help to read help documents for built in bash shell commands.: Use man to interface with the online reference manuals for shell commands.: Use man to search man pages for unknown command…
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
Suggested Courses
Course of the Month9 days, 15 hours left to enroll

571 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question