Linux Desktop Rollout Project

9 min read

In my previous post as IT Manager for a call centre in Brighton I was tasked with getting our users onto Linux based workstations. I wrote this originally as project post on the Spiceworks Community which I have decided to tidy up and post here as it fits right in with the type of content I want to post.  Hope you enjoy!

Working in IT for any amount of time you will likely have come across a Linux system in one form or another but I wager probably in a server capacity and rarely a desktop setting. 

When I started at my previous role as IT Manager, my predecessor had brought up the possibility of using Linux with the boss simply because it was free and what sounds better than free to any business owner than that. It was also an issue that almost all machines were still running Windows XP at the time (late 2013) and upgrading 100s of PCs would have cost a small fortune. This was quickly made a large focus of my role.

Call centres are fast paced environments with agents of all ages so trying to force an unfamiliar new system on them was never going to be easy. This post is a story if you will of where I started from, what I have learnt and where I have got to now and the improvements I have planned to make things even better. I am by no means a Linux Guru so my methods may not have been perfect but the outcome exceeded all expectations.

It Begins!

To start with I needed to find a lightweight but usable Linux distro which would be fairly straight forward for users with little or no computer experience (let alone Linux). On top of this at the time my own Linux experience was fairly limited having not really had much exposure beyond playing around with the cover mount Linux CDs on print magazines of the late 90s early 00s.  After a bit of research I settled on Xubuntu which offered a nice easy interface for users but was also quite lightweight which was perfect to be used on the hardware we had available most of which was fairly aged (4-5 years old) or refurbished of a similar age. Not the greatest base, but these machines were very effective for this type of business. I opted for the current LTS release which at the time was 14.03.

With the OS choice made I then set about getting a usable replication of our typical windows setup for a user put together which for us is namely

  1. Good Web Browser
  2. SIP Client
  3. E-Mail Client
  4. Office Productivity Software

Web Browser:

The standard supplied web browser in Xubuntu Firefox is a perfect and pretty much anyone who has used a windows computer has either used it or is similar enough to internet explorer that they would pick it up easily.

Sip Client:

Next Up a good sip client. I tried a few of the available options including Linphone, Jitsi, Twinkle. After some basic testing I opted for Linphone as we had previous experience of this client running on Windows and it has a light footprint and included good basic features like echo cancellation. It is also available easily through the standard Xubuntu repos

Email:

Similar to above going on what we had used on previous windows builds we went with Thunderbird for familiarity for users as it has an easy to use interface.

Productivity:

Finally productivity. On Linux you essentially have a choice of Openoffice or Libreoffice and as I understand they are forks of what was originally one project. After a lot of googling the prevailing opinion seemed that LibreOffice was the better of the two so we went with LibreOffice.

Initial User Testing

With a basic setup built, I invited some users in at random to test the setup and with a few tweaks we had pretty much pinned down something workable for them and proceeded to image the setup and replicated it to a batch of identical pcs.

Fortunately for me at the same time as we got to this stage of the project a new team had been started on the sales floor with brand new users to the company and was given permission to use them as a trial team for our new Linux based setups. This trial period ended up lasting about 6 weeks and was invaluable in routing out any bugs or quirks in our setup.

Some good examples of this were:

  1. CRM Mail Merge Documents formatting issues in Libreoffice
  2. Laborious process to implement tweaks to standard config
  3. Thunderbird had no calendar and 3rd party apps didn’t seem very useful
  4. The CRM formatting issue highlighted some rather over-complicated formatting in our standard merge documents which lead us to spend some time re-developing these into less cluttered and clean lightweight forms and ultimately benefited our Linux users and our Windows users.

The calendar issue was swiftly resolved after I came across the lightning calendar project for Thunderbird which we added to the test machines our users confirmed it to be a worthy alternative for the Outlook calendar most had been used to.

Configuration updates were slightly more annoying to roll out so I decided to look into how this could be automated and discovered the power of  bash scripts to string a number of command line steps together. This proved to be the turning point for the project as I could now run a master setup script which would bring any machine it was run on into line with the other machines or a fresh blank machine up to finished config. Over the next 12 months or so I developed this quite extensively to perform the following tasks:

  • Perform a full system update and upgrade of installed packages, useful for bug/security fixes
  • Install our standard set of software if not already installed
  • Remove any unwanted standard packages which come with Xubuntu. Eg Pidgin, Gmusicbrowser (less distraction for users!)
  • Open required service ports eg SSH, VNC and lock to management computers
  • Create Service accounts for administration and monitoring
  • Disable Guest account login
  • Enable unattented-upgrades for security patches to be installed on reboot
  • Disable USB Storage to avoid data theft via usb sticks which had previously been a big problem
  • Model specific logic to apply fixes or tweaks specific to a model of pc
  • Deploying a standard user desktop icon template to skeleton user directory (user handbooks etc)

What this also revealed is that imaging pcs took as long if not longer to do and this became the standard method of updating or re-purposing a pc where someone had left ready for a new user having deleted the previous user.

This is however still a manual process and have since found there are tools designed for much better automation of this with packages such as SaltStack or Puppet and was looking at moving to these in the future but this did not happen during my tenure.

The trial went well with our test users and on the whole we actually found less issues coming up than their Windows counterparts. Excellent!

The rollout

With the success of the trial we began to expand the project to the existing teams in the business. This is where we really started to hit a drag as some of the long time users were very resistant to change and soon developed a “linux is ****” mentality. The reality of what happened was when they hit a problem or they didn’t understand something they immediately declared it useless and neglected to tell the IT Department anything about it and very quickly it escalated into heated discussions in our regular management meetings.

It was a hard sell trying to convince them of the overall benefits of the new setups but within a few weeks and better communication between the teams and the IT department we got to the bottom of their technical and training issues and ultimately this lead to the development of a training program for the new Linux systems so users knew how everything worked. This was presented the existing staff and through their questions further developed into something we then went on to present during new staff basic training week, running them through why we use the systems, how the basic setup works and how to use their work specific software to get the job done.

Over the next few months all new staff received Linux pcs as well as any users who experienced hardware failure on Windows which brings us to early 2016 when we got to 100% Linux machines for all call center agents with just a handful of team managers on Windows 10 due to Windows Specific software.

Conclusion

So what did we gain? – Quite a lot actually. The network was now free of WindowsXP which was still in use across the board due to the age of many machines and the cost of upgrading vs replacement. We’ve also found the existing machines to be a lot faster on Linux than running Windows and were able to secure them a lot better which is vital in a data driven business dealing client information. The licencing costs were also dramatically reduced without any productivity loss to the business.

It has also became apparent they were a lot easier to manage especially with my master setup bash script meaning we could take a freshly installed Xubuntu box into a machine ready to use in around 10 minutes. On Windows this would realistically take at least 30mins to an hour. I also went on to develop scripts which I use to backup user data (less caches) and upload to the storage NAS. This meant moving users to a new computer after a failure or problem or removal staff who has left the company was very streamlined. In a good example I managed to move a user from their failed PC to fully identical setup on new machine in under 15 minutes a massive saving over we typically experienced on windows.

Had we gone the route of Windows 7 we would have been looking at at least £120×60+ in upgrade costs if the PCs would all have taken it well. We would likely have had to replace a number of pcs at a cost of £100 or so per PC for refurbished equipment.

In conclusion I would highly recommend anyone running a call center environment consider the benefits of a Linux based system. The speed and flexibility has proved very effective. The innate secure nature of Linux in comparison to windows in addition to most of our users not knowing the deeper workings of them means we don’t anyone fiddling or get random software turning up or unauthorized configurations which in turn means they are less distracted and more productive. But the biggest thing for me has been the stability of the end product with a good 80% of regular issues users would have on a day to day basis were cut almost overnight meaning we could concentrate on the bigger issues.

 

Leave a Reply

Your email address will not be published. Required fields are marked *