City of Largo Adopts KDE 2.1.1

Dave Richards, Systems Administrator for the
City of Largo, Florida,
has just
that the City of Largo has switched to KDE 2.1.1 as their
production system. According to Dave, "The City of Largo is a thin
client/X shop [which supports] 400 thin client
devices that support X, 800 total users, and run about 230 concurrently
during the heaviest part of the day."
Dave shares his experiences and
problems in getting the system working below, and happily concludes that "the cutover has gone really well". Update: 07/25 8:25 PM by N: Dave answers your questions in this article. You can also check out his old presentation at SCO Forum 99.


Date:  Mon, 23 Jul 2001 15:09:14 -0400
From:  Dave Richards <[email protected]>
To:  [email protected]
Subject:  City of Largo Goes Live With KDE 2.1.1


I am not on the kde-devel group, this message is being sent from
the outside and if anyone wants to contact me, they should do so directly.
I posted a message a few months ago about the City of Largos intentions to
go live with the KDE desktop and as of Friday that transition is complete.
I thought the cutover, and some of the things that I had to do would be of
interest to all of you. I also want to thank every person that worked on
this project because it has offered us a solution that has fit perfectly
into our technology and design goals.

Technology and Design Goals

The City of Largo is a thin client/X shop. We have 400 thin client
devices that support X, 800 total users, and run about 230 concurrently
during the heaviest part of the day. For the last 7 years, we have always
built one large 'desktop' system that everyone logs into and gets their
desktop. All of the icons do a 'rsh' to other systems and then start up
the various software packages that we have in the City. For instance, an
icon will say "WordPerfect" and the command executed is "rsh oa1
/usr/local/bin/sh_wordperfect $DISPLAY". Previously, this function was
done by the IXI Desktop on SCO OpenServer, and then later we ran KDE 1 on
OpenServer, then Unixware. The Friday cutover was moving all of these
users off of Unixware to RedHat Linux 7.1 and KDE 2.1.1 Because only KDE
is running on this machine, the performance is a good look at how KDE

Cutover & Runtime Issues

The cutover has gone really well. Most of the issues that we
have had have been people issues and not technology issues. I have been
keeping notes and the issues that came up are noted below:

  • The server we built is a dual-933 with 3GB of memory, and 18GB of disk,
    this goes for about $9500 USD.
  • It seems that we settled into about 11-12MB of memory per user on the
    server. 3GB of memory has allowed us to get the 230 concurrent users
    logged in without using the swap space.
  • The dual-933 runs about 5-30% busy during the day with 200+ users on.
    Most of the load seems to come from using the Pager and window management.
  • When a large amount of users are cut over, there is a spike the first few
    days while everyone customizes their desktops. Everyone pokes around in
    the wallpapers and colors and fonts until they are comfortable. And then,
    people tend to not change them often again. It's best to move people over
    in groups of about 20-30 at a time and then let them configure and then
    bring over another group.

Custom Changes

I had to make some changes to startkde to accomodate our thin

  • I had to put in code to redirect the sound to the thin clients. By
    default, KDE tries to send them to a sound card in the server itself (which
    is sitting in the computer room). ;) Perhaps at some point, KDE could
    allow a plugin system to be deployed that would allow the administrator to
    select the desired sound system. For those using NAS (Network Audio
    System) the web page for that project and the redirection patch link is
  • 8 bit color really causes some problems. Non-technical users cannot
    understand color allocation and how once cells are used, applications begin
    to not function correctly. I installed a dialog box that tells them they
    are on a low color terminal-->

    DEPTH=`/usr/bin/X11/xdpyinfo | grep "depth of root window:" \
    | awk -F " " '{print $5}'`
    case $DEPTH in
    /usr/local/bin/sh_8bit &

  • I also turned off ksplash for low color users, to help cut down
    on usage-->

    # the splashscreen and progress indicator only in 16 bit depth
    case $DEPTH in

  • What would be really nice is for KDE to allow me to force some
    rules on 8 bit color users, for instance:
    • Use 16 color icons on the kpanel and kmenu automatically.
      They won't know to pick a lo_lo_color option like this.
    • Allow me to turn off gradient colors when in 8 bit mode,
      allow them to only pick solid colors that are in the pallette.
    • Allow me to turn off wallpapers for 8 bit devices. The
      option is grayed out, doesn't even work.
    • Wallpapers that are selected on a 16bit display, don't
      display and just use a solid color wallpaper when the
      user moves back and forth between 8 and 16 bit

KDE Applications

I have some notes on certain features that would help with
deploying in a large shop:

  • Kicker
    • We would like to have the "Refresh" option back, when I install
      new icons I'm sometimes on the phone with users and it would
      be nice to have them be able to "Refresh" and see them
      right away.
    • The autofresh feature of Kicker seems to really put a load on the
      server when you have hundreds of people on the same machine.
      It seems to hit them all at the same time.
    • It would be nice to turn off some of the features in the lower
      part of the kmenu. We have some 'technique challenged' people and
      I would like to hide certain things from them. I would
      turn off "Run Command", "Quick Browser", "Recent Documents",
      "BookMarks". All of these make the assumption that
      documents and files are on the KDE machine, which isn't the case. Instead,
      what they are doing is opening up the GUI file managers and
      deleting their configuration files because they think they are just
      'unknown files'.
    • There seems to be an issue where users that change terminals off
      have their DISPLAY variable get confused when running something like
      command=rsh oa1 /usr/local/bin/sh_whatever $DISPLAY
      directly from the xxxx.desktop file. There must be a pipe or something
      that is
      still being held. Instead, what we have to do is run
      command=/usr/local/bin/sh_whatever and have the program in /usr/local/bin
      do the rsh and then it works.
  • AutoStart
    • I have had some requests that Autostart allow you to select the
      room that the application start in. When you shut down KDE currently,
      and tell KDE to remember everything that is
      running, it doesn't do so if the programs were initiated via 'rsh'.
  • Configuration
    • We would like the ability to turn off the feature that lets users
      pick their own wallpaper instead of picking from our approved lists. What
      is happening is that people are installing their own
      wallpapers, and now I'm going to have to write a script to find all of them
      are in use and check to make sure they are 'politically
      correct' in the workplace. We would rather they send them to us for
      approval and then install them into the main directory.
    • KDE seems to have some problems when the terminals are turned
      off. Certain processes stay on the server if they do not log off
      Some of our users simply power off their temrinals at the
      end of the day. :( Could there be some kind of keepalive checks in the
      various programs to make sure the Xserver is still alive
      and then terminate process if not? I'm not sure how to fix this, but
      will keep experimenting.


I hope this information is interesting to you all, I hate to think I wasted
your time with it! ;) If anyone has any questions or comments, feel free
to drop me a line, I'll be happy to answer your questions. It's the least
that I can do considering how much this product has given us and our users.


Dave Richards
City of Largo, FL
Systems Administrator

Dot Categories: 


by brambi (not verified)

How about the network traffic. Is it a normal 100Mbit ethernet connection? Can one nic handle so much traffic (X, nfs, sound, surfing,...) ?


by harmless (not verified)

I have used Envisex terminals with Xwindows over 10Mb LAN links to hp-ux boxes with no probs. This was at a large international company about four years ago. We used them for a number of server-based apps for specific tasks including a pretty chunky help-desk tool, about 200 users concurrently, with unrestricted surfing (Netscape Navigator), email (good ol' OpenMail) without any quotas, and all under CDE. In my experience, you only need 100Mb in the office if you are doing a lot of large file transfers or have Windoze pushing out NetBUI and the like ;)

Bizarrely, the IT department decided to put a Windoze desktop on each desk to allow us to use Office, and then replaced the help-desk tool with a suite of NT server-based tools. Shortly after Openmail was replaced by Exchange :(

Whilst the new tools allowed us to do more, I shudder to think of the increase in cost. The net traffic was still easily coped with over 10Mb, even with the massive increase due to the extra and bloated emails, file "sharing", and inevitable worms!

The final irony was the IT department was then outsourced to reduce costs!!! Any IT admins out their might like to think about that the next time they are asked about the possibility of running a thin-client network as opposed to Windoze desktops :D

by KDE User (not verified)

Thanks for your efforts Dave. This is amazing. It's impressive how one individual like you made a difference by deploying Linux/KDE.

I hope the KDE project learns from your experience and makes the next version of KDE even more suitable for the enterprise.

A synergy has started here, let's keep it well and alive!

by Fabricio Abreu (not verified)

Can anyone tell me Dave Richard's e-mail account so that I can ask him how did he accomplish such wonderful task?

by KDE User (not verified)

[email protected]

Good luck!

by Dave Richards (not verified)

Our announcement to kde-devel has certainly gotten a lot of emails and comments. I appreciate the suggestions and thoughts. I haven't seen any people doing things the same way, because more people set up departmental servers, but instead we are running application servers. Each of our servers performs one function.

I read all of your comments, and will respond to the questions asked.

* Yes, I would love to help with a detailed how-to guide for this kind of rollout. The cost savings are just amazing. Anyone buy NT licenses yet for thin clients? They have dropped all concurrent licenses, and it's going to cost anyone that wants to use NT a fortune. Thankfully, we have always been mostly a Unix shop where concurrent prices are the norm. Centralized NT only supports about 40-50 on the same hardware that we can get hundreds on with Linux/Unix.

* Wallpapers. Anyone that has worked for Government understands our concerns. Not only can we get sued, but all it takes is one newspaper reporter coming in and seeing something, *anything* with which to write an article to sell papers. "City Employee Uses Taxpayer Dollars To Have Offensive Background". The 8 bit color thing is another issue, non-technical people have no idea what they are doing to their color cells. Wallpapers come up *first*, so your 256 colors are gone before any software is started. Also, people were picking wallpapers stored in NFS mounted drivers. It is unknown what happens to KDE when it tries to get wallpaper from an NFS mount that is down for whatever reason (reboot, etc). It might just *hang* and wait. Anyone ever try and do an ls in a mount that is down? Or 'df'?

* The 11MB of memory thing was good news for us. Being that memory has dropped so much, we can certainly accomodate that per user. Sticks of 1GB are about 1500 dollars, very cheap. KDE 1 running on Unixware was only a partial deployment in order to get them used to KDE for a few years until we installed this version. We only ran the kpanel only, window management came from the terminals. In KDE2, we are using 100% of KDE, window management is being done on the host.

* NAS is the sound system being used. NAS is client/server and works almost the same way that Xwindows does. The guys at NCD did a great job with it. It's available for free now. I know that some people have looked at doing a Win32 port of it (another question asked). I would suggest getting on the NAS list server and if you want to try and port it, that would be great.

* Network performance is fine, we are hardly using any of our network. The network really should be a major part of a white paper we make one. Xwindows needs realtime access to the servers, and some switches do store-and-forward which is tested and designed for client/server only. What it does is hold stuff for a good time to send them, which kind of doesn't work well when you are typing things and the keystrokes are going back and forth. ;) We have a Gig backbone, and fiber was run to all of the closets in the city, and then each closet has switched 3com 3900 devices. We don't have any hubs in the whole city. The switches automatically hide all of the broadcasts between switches. NAS works in realtime. In fact, we run the Realplayer over the network, and the sound and video are in sync.

* We use rsh because the big server only does KDE. One of the biggest things that people complain about with 'mainframes' is that if the mainframe is down, everything is down. So they way that you get around that is that you build applications servers. If one machine is down, or being rebooted, only one option from the Kpanel is inactive. Everything else works. Okay, so WordPerfect is down for 10 minutes, I'll read my email or check something on the web. From the user perspective, it looks like one big machine, but each icon choice is calling a different machine. The rsh sends the signals over to that machine to initiate a session and check to make sure that user has permissions to run that software. NT with Citrix accepts rsh commands and can start up software that way in an Xwindow via the UIS. This is really cool because it turns off the Windows Start bar and all options of NT. Only the software requested via the rsh is started.

My very old presentation at SCO Forum 99 is still out there-->

We have been running this design for about 7-8 years now, but the power of KDE has certainly given us a lot better front end for our users.



by Jerome Loisel (not verified)

I was wondering how you managed to get 230 users working from only one application server. Dividing the workload is indeed a very good idea.

Had we had such a big client base going, we would probably still have used the XTerminal kit I referred to earlier. But we would still have divided it like so.

NFS + NIS server
... serving ...
A few application servers
... each serving ...
A bunch of XTerminals

We tremendously enjoy the simplicity of the XTerminals kit. But your setup is definitely both tried-and-true and extremely cool.

Cheers and congratulations,

by zapalotta (not verified)

"What is happening is that people are installing their own wallpapers, and now I'm going to have to write a script to find all of them that are in use and check to make sure they are 'politically correct' in the workplace."

could you please post the PC-script, would be interesting to see ;-)


anyways: great deal!


by Gavin (not verified)

This is a great story, and I'm just itching to try implementing some sort of similar system at my school as well, if the monks there are at all interested.
but that's beside the point. This article (or maybe a flower tabbed suit-readable version sould be posted all over the place (i.e. newsites, etc). Also that would give me and others like me more written material to be used for petitioning governments and schools to use this superiour technology.
I'd write something myself, but I honestly don't have the time right now. I am currently using a city library computer, and windows has to be resarted faithfully every fifteen minutes. This is just one of the many places that desperatly needs to get rid of the curse.

by Admin (not verified)

The KDE Kiosk Mode Howto at
has some patches to block certain functionality for users

by Mohammed Arafa (not verified)

any old pc with minimum 16mb of ram, no hard disk, no cd, no floppy, just a bootable eprom from or pxe support and u got dummy terminals with ALL the apps on the server running locally.