Why I Use a Linux Desktop 2

Posted by JD 07/29/2010 at 07:51

Each of us use a computer for various reasons. Some just want a system that works, without any hassle. Most of us want to run specific software, work with specific file types, connect with everyone else, and possibly just do what the people around us are doing to be the same.

I’ll be as honest as I can and put the reasons in order.

Why do I use Linux, specifically Lubuntu Server x64 10.04, as my desktop?

Extreme Stability

Since 1998, I’ve have a Linux system running 24/7/365 in my home. Prior to that, I had Linux on dual boot or available some other way. Over that same period, I’ve had MS-Windows systems too. Linux systems stayed up and working for many months at a time. Around 2001, I had a RH system that lasted over a year of uptime (continuous running). The longest I’ve ever seen a Windows system stay up is 3 weeks. More recently, MS-Windows systems need to be rebooted weekly. These are just my experiences and aren’t scientific.

UNIX Security Model and File Systems

The UNIX security model and file systems are very well understood by me. Those file systems behave in very well known ways and it doesn’t matter if I’m physically sitting behind the console or I remote into the machine or I just connect to the remote file system. MS-Windows behaves differently if you remote connect to shared drives, which drives me nuts. I can understand how the file permissions for a computer can be confusing to someone like my Mom. Generally, those aren’t too important for a new user. The defaults are good for most people.

File systems are something that interests me greatly. MS-Windows has used FAT16, FAT32 and NTFS file systems. That stability is good when the file system meets all your needs. In Linux, a file system is something you can swap for many different reasons. I use JFS as my main file system and have since around 2000. It is fast enough, extremely stable, and journaled, which means that file system crashes are not really that important. They take minutes to correct, not 3 hours to scan (scandisk, chkdsk). I’d love to run ZFS, but it is incompatible with the Linux license. The next best competitor to ZFS is BTRFS, which is maturing rapidly. Linus runs BTRFS on his systems which lends some credibility to the commitment for that file system.

File permissions are central to UNIX security. Once you understand that in UNIX, everything is a file, then you can understand the permission model.

OS Installations are Very Portable

I can pull the hard drive out of my current desktop and place it into almost any other PC hardware and it will boot and run with all my settings. I don’t have to check the motherboard or the disk controller or the graphics card. The same OS running on my laptop can be copied over to a desktop and it will boot. Try that with MS-Windows. You will be disappointed. Oh, and copying that OS installation doesn’t violate any license agreement either.

Imagine the next time you want a new, faster PC. Imagine you could take the hard disk from your current PC and plug it into another PC and it will just work, for free. Wouldn’t that be nice? It does (within reason x32/x64 CPU compatibility). Perhaps you should give Linux a chance?

I’ve done this HDD swap multiple times and blogged about it. It works.

Fantastic Package and Patch Management

This is hard to explain to someone used to MS-Windows. APT is the killer application for Debian-based Linux, like Mint, Ubuntu, and PCLinuxOS. I’ve written about this previously a few times.

In short, all the software installed on the system goes through a central system that handles installation, updates, and removal. There is no need to search for a website to find an update or to even open the software so it will auto-update. Every week, I run 2 commands to keep my system patched. I could have automated that during the OS installation if I wanted. It can automatically update daily, weekly, monthly, or on-demand. Your choice. Mom can set it and forget it.

Most patches, even at the operating system level, do not require a reboot. That is less important for desktops, but still important. Here’s the current uptime for my desktop.

$ uptime
 09:50:08 up 26 days,  2:17,  3 users,  load average: 1.73, 1.77, 1.74

When was the last time you had a Windows system that ran 24/7 and applied patches weekly that didn’t need to be rebooted or crash after a few weeks? I’m just sayin’.

My main Xen server (Ubuntu Server x64 8.04 LTS) has been up … 54 days running about 10 virtual machines. I patch the systems every week and would have rebooted if necessary.

What Applications?

Applications are the reason to have a computer, after all. I can’t possibly list all of them here. I can’t even list the applications that I use here. I have over 1400 applications loaded currently. See how many you have on your APT-based Linux install.

$  sudo dpkg -l | wc -l

Here are a few of the best applications:

  • Open Office (MS-Office Clone)
  • Firefox (web browser)
  • Thunderbird (email)
  • Pidgin (IM)
  • VLC (media/video playback)
  • Hulu Desktop (catch up on old TV shows)
  • PDF editors and readers (You don’t need Adobe software)
  • Amarok for music playback, but there are 20+ other programs that you may like too.
  • KeePassX – password manager; LastPass and KeePass also work.
  • VirtualBox / Xen / KVM
  • The Gimp (image editor) that is 80% of PhotoShop – AND completely free.
  • Miro (podcatcher / vidcatcher like iTunes)
  • K3B (DVD / CDROM burning)
  • Audacity (audio editor)
  • AviDemux (video cutter)
  • rdiff-backup – we all need good, free backup programs.

There are thousands and thousands of other applications. A google search for Top Linux Applications returned 36,000,000 results. That’s a bunch. I always start at Freshmeat, the application index when looking for a new, free application for any platform. Don’t worry, it is safe for work. I also understand that more applications isn’t always better. You just need the specific applications that YOU ACTUALLY RUN, after all.

Did you notice the applications are are missing?

  • No anti-virus
  • No anti-spyware

Multi-User

Windows desktops really aren’t meant to be multi-user. Microsoft has been multi-user ready for years, but the software application developers haven’t all migrated to a non-administrator, user-specific data locations model. Boo to you. In Linux and other UNIX systems, the long history of being multi-user means that confusion was never an issue. Switching users in unix-like operating systems is trivial. Sometimes you need to try something in a completely clean new-user environment. In Linux, creating a new user is 1 command. Running an application as that user is trivial. Deleting that user is also trivial. Think about doing that in MS-Windows. How much time would it take and would you be absolutely certain that nothing was left over afterwards? On Linux, I’m positive that when I remove a user account and their HOME directory, all traces are gone.

Huge Library of Free, Libre, Zero-Cost, Open Source Applications

Last time I checked there were over 30,000 free packages in the package manager tool with the main repositories. Other repositories can be added AND other specific applications which were packaged in .deb format can also be installed. 32-bit or 64-bit doesn’t really matter, like it does with MS-Windows. They both run on Linux. You can freely give these apps to anyone you like thanks to the main licenses used. GPL, LGPL, BSD, MIT, Apache licenses are great for the world – provided you aren’t a proprietary software company like Apple or Microsoft.

Linux is Free and Open Source

I’ve never paid for a Linux system upgrade. Never. Copying (cloning) a complete OS with all the all settings, applications and data to a new system doesn’t violate any licenses. Linux rocks. Apple doesn’t give anything away for free, do they? Ok, that isn’t true anymore. They are giving away free iPhone covers now.

The Open Source part means that you don’t have to wait for VENDOR “A” to provide updates or patches. Open Source developers like open data formats too. That is good for everyone, except the companies that want you to be trapped with only their proprietary programs. If the open source application doesn’t do what you like, you can take steps to correct that. How?

  1. You can modify the code yourself, if you have the skill.
  2. You can encourage the project team to modify the code in many ways. A good idea, a little cash to the team, free beer is also known to work.
  3. You can pay someone else to modify the code. If you are a company, you would be amazed how far a $1000 towards a FLOSS project team will go.
  4. You can split off the project into a new project.

With proprietary code, none of those things are possible without a huge contract to a company. When was the last time that any software vendor added a feature for your company for free or even less than $5000? I’ve seen a quote for $100,000 to add a trivial interface to an existing system or to stop a program from opening another cmd.exe window and running tail -f on a log file. I’m serious.

Less Likely to Get a Virus

UNIX security can be safer than MS-Windows due to the longer history that it has. Also, since MS-Windows has 90+% of the desktops, it simply isn’t worth the effort for virus writers to bother with Linux or other operating systems. In the end, does it really matter why Linux is less likely to get a virus? The fact that it really is true is all that matters.

Recently, a security firm released a study of the major software vendors. It compared IBM, Microsoft, Oracle, Apple and other companies from a computer vulnerability perspective. Apple lost in the software security, yet it is still not highly targeted by virus writers, yet.

Less Likely to Get Spyware

Spyware seems to be collected by non-technically knowledgeable users on MS-Windows. I think, but don’t have any proof, that it is just easier to hide system changes in MS-Windows than it is possible to hide in UNIX-like operating systems. Most MS-Windows users run under administrator-equivalent accounts. On UNIX/Linux, you run as a normal user and request elevated permissions only when necessary – like when you want to update your system with patches or install software system-wide. You can usually install software just for yourself without any elevated permissions. MS-Windows just doesn’t work that way – I consider it a design flaw.

The average Linux user is much more technically adept than the average MS-Windows user. That helps to protect all Linux users. If a new, free application is made available on Linux, a fair number of them will watch the network traffic to see if there is any spyware. If they find anything, it will be announced, loudly, publicly. We’d like to believe that MS-Windows techie folks will do the same, but with so many other, more important issues in the OS related to security, I worry they simply do not have the time to perform this type of research.

WINE – Wine Is Not an Emulator

WINE is how you can run MS-Windows applications. It is a thin win32-API layer that catches win32 system calls and converts them into native Linux system calls. WINE has become VERY USEFUL in the recent releases. The free version installed with a default apt-get install under Ubuntu installed and runs MS-Office 2003 without any special tweaks. That is a major accomplishment.

I’ve gotten "Quicken 2011 and 2008 working ":/2010/11/29/solved-quicken-2011-working-on-linuxon Linux systems too. Some MS-Windows software does not run under WINE. Usually those are .NET 4.x programs. TurboTax or TaxCut are currently on my crap software list because they don’t work under WINE. It doesn’t take much for software to work under WINE and 1 person on the software development team can probably make it happen with just a few hours of effort.

If you want better WINE support, there are a few options which make MS-Windows programs and games work extremely well under Linux. In my experience, MS-Office 2003 runs faster under WINE than it does under a native MS-Windows installation. This is probably because Linux OS isn’t full of all the extra things that make MS-Windows slow.

Many older games also work under WINE, but I wouldn’t plan on recent, highly graphic games working with high frame rates …. yet.

Virtualization

I use both desktop and server virtualization on my systems.

For server virtualization, system stability is mandatory, followed by performance, then ease of use. Xen is the main production virtualization tool that I use for servers. I also run an ESXi hypervisor and it is rock solid and performs well. I would be running ESXi for all the virtualization needs, except that VMware has neglected the Linux-only companies by requiring an MS-Windows controlling workstation. The $4k price for the ESX hypervisor is also an issue. Xen or KVM or Jails or QEMU are all free and work. ESX is great, especially for MS-Windows client VMs. In 2011, I started using KVM for virtualization. It is solid with performance very similar to ESXi. I prefer to use FLOSS virtualization for servers. I’m planning to deploy Proxmox for production systems here soon. Most will be paravirtual Linux, but a few will be HVM if they aren’t running the same OS as the host (physical server).

For desktop virtualization, ease of use, performance, being open source are the key requirements. I tried to use KVM for desktop virtualization, but the performance was not good enough at the time to continue. The OSE version of Oracle’s VirtualBox has been used internally for about 2 yrs here. I’d rather use KVM (not a fan of Oracle) than VirtualBox, but there is a point where something that works is the most important consideration. This blog is mostly about virtualization, so read more about it here.

2011 Update: I’m still using VirtualBox for desktop virtualization.

Remote Access

I can remote into my desktop system from anywhere in the world that has an IP connection and control things remotely. I use ssh for this, which has state-of-the-art encryption while still being low overhead. ssh rocks! Most of the time, I want to run console applications when I’m remote or simply transfer photos from my travels back home. If I really want to run a GUI application, free virtual desktops are available. There’s no need to sign up with a 3rd party or pay any vendor to do this either. Remote access is all self contained and free.

MS-Windows Professional is needed for remote access to work for free in Windows. Sadly, it doesn’t work for Home Premium versions of the OS. Also, the RDP and other free remote access methods on Windows don’t have enterprise-ready encryption. The built-in RDP encryption is not considered safe to use by security professionals. VNC is an option for Windows, but you’ll want an enterprise encryption-ready VPN to use it safely. VNC is what many Linux users use, but you can tunnel that traffic through ssh easily on Linux or you can just use X/Windows built-in remote capabilities that are part of ssh. ssh -X does it when you remote into your desktop. Simple.

If you want the best remote full desktop and security possible on Linux, check out FreeNX. It is much more efficient than VNC and uses ssh tunnels by default. I’ve used it over dialup speeds effectively. Read more about remote desktops and remote applications.

Why Lubuntu?

The look-and-feel of Linux is something that every end user has as much or as little control as they like over. You can run a default desktop and be completely happy AND productive. Or you can customize anything about the desktop (including no having one at all) if you like. This customization lets you control the amount of system resources used by the graphical environment. In fact, you can run Linux with just 16MB of RAM (yes, that’s correct) and 20MB of disk. Obviously, you have more system resources than that, but with a tight system like that on current generation hardware, all the programs are lightning fast.

Here are the major DEs – Desktop Environments.

  1. Gnome (the default Ubuntu desktop) feels bloated to me. I recall running Linux with an X11 desktop on a 4MB PC in 1993. I used the normal Ubuntu desktop with GNOME for a few years.
  2. KDE is just as bloated – used it for 2+ years a few years ago.
  3. XFCE is fast, but still loaded 600MB of common-desktop garbage with lots and lots of applications that I’ve never used in over a year running it.
  4. LXDE was the next less-weight choice, before I dropped by to a pure X/Windows window manager like FVWM or IceWM. LXDE is what I currently run on my desktop.

Is Linux perfect, NO.

I still run Windows7 Ultimate, Windows7 Professional and WindowsXP Pro on other systems and inside virtual machines. Why?

Part of the reason is historical. I created a work specific virtual machine with Windows XP Pro where I loaded work applications like MS-Office 2007 and Visio. I avoid using Office-2007 like I would avoid getting burned by fire. But, my job includes creating technical diagrams in Visio. There is no substitute for Visio in the world today. Sadly, embedding a Visio diagram into an MS-Word document requires both applications be available on the machine. Some of the people with whom I work are forced to use MS-Office 2007, so when 100% file compatibility is needed, I’m ready.

In the business systems that I run, I’ve selected Linux Servers as the main OS for every application, except one. That application is Quickbooks. With our small company connection to Microsoft from a development point of view, we get 10 licenses for Win7 Pro. I deployed 1 of those into a virtual machine and loaded Quickbooks. Then I setup a VPN with RDP (Remote Desktop) connectivity so the other financial guys can access it. Also, I know that backups are performed and placed onto a different system. Our IT policies demand this for all systems, but I can’t verify that all the desktop systems are actually doing this. I can verify that the servers do.

Windows7 Media Center is installed on a physical system, but issues with it have me planning to swap it with a Linux-based media center. That change will probably be blogged here later.

Try Linux without Risk

You can try out Linux without touching your existing operating system. How cool that? How do you do it?

  1. Try out a Live CD of some distribution. Running this way won’t be the fastest and data files or system changes will be lost at a reboot, but you can point and click for 30 minutes, get a feel, and decide if you want to go further or not. Did you get a free, unlimited use trial with other operating systems? If you like, you can run that version forever. I’d suggest starting with Mint or Ubuntu. If you want something small, try out Puppy Linux or TinyCore.
  2. Use WUBI to install Ubuntu Linux on your hard disk, while still leaving MS-Windows and the disk drive partitions alone.
  3. Try Linux inside a virtual machine. This is not really that advanced a topic anymore. I have used VirtualBox on a Windows host with Ubuntu, Xbuntu, Lubuntu, and a few other OSes running inside a VM. It is really easy to setup and use. You can even run a Live CD version of Linux and it will be fast with no risk of corrupting your Windows installation.
  4. Create a partition on your existing hard drive – 10GB is enough for the OS and all applications. Then you can dual boot. I haven’t done this in many years, but in late 2010, I setup my Mom’s PC this way after she was spied, hacked and rooted when running WinXP. She’s been on Linux for 4 months now and prefers it. 2011 Update: I converted an Asus Eee into a triple boot system (WinXP, Eeebuntu, XBMC). It works better than I’d expected.

Why do you run Linux?

Trackbacks

Use the following link to trackback from your own site:
https://blog.jdpfu.com/trackbacks?article_id=745

  1. Kyle 08/06/2010 at 12:45

    PDF editors and readers (You don’t need Adobe software)”

    Have you found a PDF editor that allows highlighting?

    I’ve gotten foxit reader working with WINE, but would prefer not to go that route.

  2. JD 08/06/2010 at 16:26

    Doesn’t PDFEdit do what you need?

    Usually, for editing PDFs, I have the source document and use OpenOffice to create the PDF.

    Whenever I need a program, I search Freshmeat.net for it. It is unusual not to find what I seek there.