Linux

Choosing an operating system for my desktop computer

My 7 year old desktop computer has finally died. After having replaced 2 disks, 3 power supplies, a VGA card, the USB ports, several fans and a monitor, its about time for this machine to retire. With its innards spilled onto floor and hooked up to multiple power supplies, its being kept alive long enough for me to copy all the important data over to my NAS.

I already looked around a bit and will probably reuse the case, power supply and some disks for the new machine. With a new gigabyte motherboard, core i7 CPU, plenty of RAM and an SSD for the operating system, it will probably be insanely fast compared to this one. But that brings me to the final choice, which operating system to use?

I have experience with most operating systems. My desktop has always been linux (first debian and later ubuntu), but I also own a macbook pro and use Windows at work. None of them are perfect, so choosing between them is pretty hard. Note that I can't really run OSX on the new hardware I plan to order, but I'll include it in the comparison as I could buy an iMac instead.

The most important functions for this machine are:

  • Running virtual machines (development environments & tests).
  • Surfing the interwebs.
  • Communication tools (IM/twitter/email/..).
  • Access shared data stored on the NAS via CIFS.
  • Connecting and disconnecting monitors while its running so that I can use one of them to watch TV.

So here is how I see the advantages and disadvantages of the different operating systems at this time:

Linux

PRO CON
  • My trusted desktop environment for years. I know what its good at and what its limitations are very well.
  • Easy shell scripting for bulk operations.
  • Lots of free applications, although not all of them are good.
  • Software updates for all applications, not just the OS.
  • Very easy software installation.
  • Has gotten pretty bloated over time. Definitely no longer the lean and mean OS it once used to be.
  • Inconsistent when it comes to accessing CIFS shares. Only certain applications can access files opened in the gnome explorer, for CLI tools you need to manually mount it again.
  • Very poor performance when accessing the CIFS share.
  • Support for multiple monitors and accelerated graphics in general is horrible.
  • The nightmare that is Audio.
  • Frequent upgrades required and every time something breaks.

Windows

PRO CON
  • good at dealing with CIFS file shares.
  • Easy use of multiple monitors.
  • Lots of applications and nowadays quite a lot of freeware as well. Most of the applications I use are cross-platform.
  • Not as easy to use scripting.
  • Its Microsoft and I'll have to listen to rant after rant about me selling my soul to the devil.
  • Main target for malware so I'll have to run an antivirus program which will affect performance.

Apple OSX

PRO CON
  • Pretty hardware and it has an Apple badge. Admit it, thats one of the main reasons they are bought.
  • Easy to use multiple monitors.
  • It can do scripting just like linux.
  • Lots of applications and several of them are quite user friendly. Even though I'm not a novice, I still appreciate a clean and simple user interface.
  • Its Apple, which as a company is far worse than Microsoft.
  • It has quite some troubles accessing CIFS shares. Especially if authentication or hidden shares are involved.
  • Bloody expensive and nearly impossible to upgrade the hardware afterwards.
  • Video and audio codec hell.
  • It will not allow you to choose anything other than Quicktime to open videos which are located on a read-only CIFS share.
  • Requires quite a lot of tweaks to work the way I want.

Conclusion

At the moment I'm leaning towards using Windows 7 as my primary operating system with a Linux virtual machine to run my collection of scripts. I'll still give Linux a try when the new hardware arrives, but I don't really expect anything amazing from it. Getting it to work has always been a struggle, especially when it comes to multiple monitors. I don't expect this to work properly, especially attaching and disconnecting the monitors while its running.
OSX has already been ruled out because of its price and lack of hardware flexibility. I'll simply keep running all the cool OSX stuff and image editing on my macbook as I already do nowadays. If I could run OSX on my own hardware, that would probably have won.

I have mixed feelings moving away from Linux on the desktop. It's still running on my servers of course, but now that a lot more has shifted to the web and the few other applications that I use have become cross-platform, many of the reasons that I was using it on the desktop have vanished. Quite the irony as most of these applications are open source.
On the other hand, as I look at all the Linux server admins, 90% of them are using macbooks. So I don't seem to be the first to admit that Linux has lost the battle for the desktop.

SheevaPlug Development Kit

A few months ago, I decided to purchase a SheevaPlug Development Kit to replace my previous home server which was an old Dell workstation. The main reason to replace the old machine was power usage, for a machine that is sitting idle most of the time, it costs a lot of money to run.
All I needed was a device on which I could run linux to run some typical core network services (DNS, DHCP, NTP) as well a some extras like my internal mail server and proxy. With a power consumption of only a few Watts, the SheevaPlug was ideal for this purpose. Its a pretty small device with the following specifications:

Specifications

  • 1.2GHz Marvell Kirkwood 6281 CPU
  • 512MB DDR2 400MHz RAM
  • 512MB NAND Flash
  • Gigabit Ethernet
  • USB 2.0 Host
  • SDIO interface for SDHC cards
  • Serial port

Installation

The SheevaPlug is shipped with Ubuntu 9.04 “jaunty” installed. The standard software image does have some issues, so the first thing I did was upgrad to the latest version using the SheevaPlug installer 1.0. This involved attaching the serial console to a PC and running a script which loaded the new software from an USB stick. This wasn't very difficult, but not exactly something a novice should attempt either. The only issue I ran into was that the USB stick used to perform the upgrade couldn't have any partitions on it. So the stick had to be wiped and formatted as one big FAT32 partition (mkfs.vfat -I /dev/sdX).

After the upgrade was completed, the device was ready to be configured just like any other debian-like linux machine.
Because the size of the internal flash is limited, I installed a 4GB SDHC card to mount the directories that are most likely to fill up the storage.

The next issue I ran into was that after logging in via SSH, the device complained about missing nl_BE locales. Because those are not available on the plug and I didn't really need them, I set the locale to en_US by creating /etc/default/locale with the following contents:

  1. LANG="en_US.UTF-8"
  2. LANGUAGE="en_US.UTF-8:en"

Software

I installed the following software packages, which are working without issues:

ntp
Internal primary NTP server for use by all clients. Obtains the current time from several external clock sources
bind9
Internal primary DNS server. Hosts the internal DNS zone and accepts DDNS updates from the DHCP server.
dhcp3-server
Internal DHCP server. Assigns IP addresses to clients and updates the DNS records.
squid3
Proxy server. I don't really need caching, but to access some websites, I need to use an external proxy server. Instead of having to change the client settings every time, this proxy server simply redirects requests for some websites to different upstream proxy servers
postfix
Mail relay. All outbound email needs to pass via this server, again to make it easier to switch to different upstream ISPs and to detect abuse in case a clients gets infected by a virus.
dovecot
Internal IMAP server. This hosts the users mailboxes. Email is retrieved from the ISPs using fetchmail and then stored on this server so that it can be accessed from any computer in the house.

Experience

The device is working pretty well. Other than a small issue with the SD card, everything has been running stable for a few months now. One of the major drawbacks at the time is the price. Its only 99USD, with shipping costs that adds up to a little over 100EUR plus an additional 30EUR VAT and fees.

For others interested in purchasing this device in Europe, there now is a company selling them from the UK so you can avoid the additional fees, NewIT. I don't have any experience with them the offers look pretty nice. They can even sell different models, so you won't have to perform the initial upgrade yourself. If anyone has experience with them, good or bad, let me know. I'll probably get another one just to experiment with.

Blog Category:

Subscribe to RSS - Linux