[Home] [GRP] [RES] [PUB] [ETC] [LEC] [S/W]
 

Linux at home and at work: Pros and Cons

[Some personal anecdotes, and some opinions (Jochen’s, that is). I have so far not been interested in Apple computers, other than the iPhone, and there is a good chance that I will never be. This piece is about using Linux on x86 PC hardware.]

Linux, combined with GNU software, often referred to as GNU/Linux, is a widely used UNIX-like operating system (OS), combining the Linux kernel with a large collection of free software. Many additional free and commercial software packages have become available over the years to run on GNU/Linux. For brevity, I refer to the OS and software collectively as Linux in what follows, and I won’t make any distinctions between Linux, GNU/Linux, UNIX, Unix, BSD, etc., or whether or not a system conforms to POSIX. This piece is organized into sections about the early days, use of dual-boot setups, and a description of how I switched to Linux for good. I also provide my view of certain challenges that are in the way of Linux becoming the dominant or a strong minority OS for desktop systems, and some good news in case you want to give it a try.

Early Linux Days

I have been a Linux user for some time, starting ca. 1993 with a Slackware distribution, or perhaps a clone thereof. It was based, if I remember correctly, on kernel 0.99 patch level 15. The distro came on some twenty or so 3.5 inch 1.44 MB floppy disks. A fellow chemistry student, Frank Finner, had received them by mail order from a company called S.u.S.E. and copied the disks for me. The installation took a long time. Unsurprisingly, one of the disks was bad, and so the installation had to wait until after I received another copy of that failed disk from my friend. Finally, I had my first Linux system running on an Intel 80386 microprocessor PC. The machine was equipped with 2 MByte of RAM, which was considered plenty in those days. The PC also had a 80387SX floating point unit, which I had to buy separately from the CPU.

I played around with the Linux installation for a few days, in a dual-boot configuration with Windows 3.1 on a separate partition. Setting up the X-Windows graphical system was not entirely trivial, but I got it to work eventually. I also managed to mount the Windows partition into the Linux file system so I could access my word processor files if I wanted. Not that this was particularly useful; there was no software for the Linux system that could be used to view or edit the documents generated with the ‘Ami Pro’ word processor that I was using at the time.

Being completely inexperienced with a UNIX-style OS, I quickly managed to mis-configure the Linux system so badly that only a fresh installation was going to get it going again. So, while logged in as user root, what could be easier than removing the whole system cleanly by typing rm -rf / ? While the command was running, I remembered suddenly that I still had my Windows partition mounted! Ctrl-C stopped the delete process, but it had already traversed into the mounted Windows file system and removed a subset of the files. Worse, the undelete software that I had running on my Windows system (which basically copied ‘deleted’ files into a hidden folder) was bypassed, and the missing files turned out to be unrecoverable at my skill level. This included a physical chemistry lab report due the next day, which I had finished only hours earlier. The remainder of the day was spent with reinstalling Windows and other software, and re-typing the lab report.

A lesson was learned.

Dual-Boot Years

It didn’t take long before I gave Lunux another try. I also discovered the LaTeX typesetting system around the same time, probably late 1993, and soon stopped using word processors. One thing that I found useful when working under Linux was that the integration of LaTeX in those days felt much more natural than working with the software available for DOS/Windows. Later, I also purchased student editions of early Linux versions of Mathematica and Maple V that I used to teach myself mathematical concepts or to visualize them. This was helpful in particular for my physical chemistry courses. Eventually, there was even a GNU Fortran compiler available, replacing the need for f2c.

However, getting a sound card or a CD-ROM to work under Linux was not easy in those days (it wasn’t even easy using Windows), and there was not much other software available that I could use productively or for fun. As a result, for many years I used Linux as a secondary system, but I stuck with Windows 3.1, then Windows 95, and later the glorious candy-colored Windows XP, for much of my work and all of my recreational use of computers (Napster, WinAmp, other ‘multimedia apps’).

I kept dual-boot setups (Linux & Windows) on my PCs for many years. When I got my first laptop in 2000, costing about 12% of my pre-tax postdoc salary of 29,000 Canadian dollars per year, I was able to replicate the dual-boot OS and software setup on it, too, and the configuration served me well for several years. During the first few years of my faculty appointment at U. Buffalo, I purchased quite a lot of Windows software.

Dual-Boot No More

Fast forward to 2009, approximately. At the time, I was still running Windows XP on my PC and laptop, but a lot of my work was done within the Cygwin environment, which gave me a Linux-like work setup under Windows [there was no Windows subsystem for Linux at the time; the two OSs seemed mutually exclusive]. After evaluating how I spent my days, I noticed that the only ‘genuine’ Windows software packages I was still using regularly were Powerpoint and Illustrator. At that point, I decided it was time to switch to Linux, on my work PC, my PCs at home, and the laptop used for traveling.

From then on, conference presentations were done using LaTeX (with the beamer packages), conference posters with baposter, I was already writing almost all of my research articles and proposals with LaTeX, and going to a native Linux system allowed me to integrate other work tasks more seamlessly with the work I was doing at our local supercomputing center. First, I used Arch Linux, but around 2018 or so I switched to the Linux Mint distribution.

How It Works For Me

I have not looked back to my Windows days. However, I have virtual machines (VMs) with Windows XP and Windows 10, which have MS Office installations and other bespoke software, all properly licensed and paid for, and I use them occasionally. VMs running Windows versions that no longer receive support are not allowed access to the internet and thus frozen-in-time. Other Windows software that I use frequently, such as IrfanView, runs very well under WINE, which has made huge strides over time. I’m not an advocate for using only software that’s free (as in free from restrictions and non-proprietary, not just free of charge), although I prefer to use free software whenever it gets the job done—which is often the case. This is to say that I’m not a Linux purist, or a free software purist. I’d like to be one, but it is not very practical. Let me explain:

I scientifically collaborate a lot with many other researchers. Nearly all of them use MS Word for writing their article manuscripts and research proposals. Therefore, when a collaborative article manuscript gets written, or a joint proposal, it is usually (though not always) done in MS Word. Likewise, it happens often that a student of one of my collaborators sends me a Powerpoint file with data, visuals, or other research content. LibreOffice and similar software can be very useful for having a quick look at those files, so I don’t have to switch to a VM just to see what’s in an email attachment. However, the compatibility of LibreOffice et al. with the native MS Office file formats has its limitations, whatever the underlying reasons may be. Likewise, saving a file from MS Office in one of the supported open office file formats does not mean that the document looks close to the original when opened in LibreOffice. Editing such a file in LibreOffice usually causes noticeable or severe glitches when it is opened again in MS Office. I suppose I could ask my collaborators and their students to use free software in our collaborations, but that would add friction to their workflow. Everyone is already way too busy. A decent work–life balance is unattainable for most of us scientists. The bottom line is that I’d rather not be the guy who makes the situation even worse for my dear colleagues by demanding the use of free software. There are more important things that I care to spend my energy on.

My other use of non-free software is likewise driven more by convenience or aesthetics than by an absolute lack of available free software alternatives. The day has only so many hours, life is short, et cetera. You get the point.

Challenges

For almost as long as Linux has been around, the idea has come up with some frequency that one day Linux will replace proprietary systems as the most common OS that people use for desktop applications, or at least that Linux will represent a non-fringe fraction of desktop OS installations—Linux on the desktop. It works for me, as described above. Even a Linux setup using free software exclusively would likely work for me, with drawbacks such as alienating my collaborators and foregoing the use of Mathematica. However, I don’t see a substantial number of people switch to running their PCs with Linux anytime soon. I’ll be pleasantly surprised if it happens before I kick the bucket.

My 85-year old (at the time of writing this) mother-in-law, Ela, is a good example for the challenges that come up when you try to get inexperienced users in front of a Linux desktop. I’m not talking about the use of the command line interface (CLI)—this is no longer necessary for everyday use of a Linux system. [Experienced users use the CLI because doing so can save a lot of time or because using CLI tools is simply the best way to accomplish a certain task.]

Ela was familiar with Windows 3, 95, XP, and she eventually got used to the Windows 7 user interface (UI). When Windows 10 came around, she did not want to learn a new UI. We thought that the Cinnamon desktop on Linux was sufficiently similar in look & feel to Win 7, so we gave it a try. A big advantage was that Ela’s favorite web browser is Firefox, not one of the Microsoft browsers, so the transition was actually quite easy—in principle. I installed a Linux Mint system for her. Ela is a former engineer and likes to click around on her computers to see what happens. Turns out that a right click on the Menu button offers an option Remove ‘Menu’. Clicking it will do so without further confirmation, and without an obvious way to get it back. I also wasn’t able to find a configuration option to disable the Remove ‘Menu’ option. Ela’s memory isn’t great, in part because of a stroke in 2012, and neither is her vision, so this happened several times, leaving her unable to use her computer until my wife or I had time to fix the menu. The PC is Ela’s main connection to the world outside of her retirement home. After a couple of months, the system was changed to Windows 10 with Classic Shell, and she’s been happy with it for several years now.

I suppose you can also render a Windows desktop unusable with a few mouse clicks, but Ela hasn’t managed to break it easily. Furthermore, with quite some effort on my end I suppose I could have created a Cinnamon fork and got rid of the source code responsible for the Remove ‘Menu’ option, or gone deep into the possibilities for configuring it, or potentially entered into a drawn-out discussion with the developers about removing the option in the main branch. This makes me circle back to the statements made earlier about life being short. The lessons that I took from this are: 1. UI design is not trivial. 2. The open-source Bazaar is not for everyone.

Update 2014-06-12: The conclusions above remain valid, but Ela has now repeatedly managed to mis-configure her Windows system, too. It would be best to have some kind of ‘kiosk’ setup for her computer that cannot be reconfigured. Please email me (Jochen) if you know a good tutorial how to set this up on Linux.

The (Mostly) Very Good News

These days, Linux distributions such as Ubuntu, Mint, and perhaps others are very easy to try out. You can download an ISO image, install it on a USB drive that can hold a few GB of data, and boot a live system from the USB drive. From there, a full installation on your hard drive is only a few mouse clicks away, if you like what you’re seeing.

With the pre-installed software in a base system, you can perform virtually all routine office tasks, browse the web, watch movies, listen to music, or get creative with graphics and multimedia software. It’s very easy to install additional software, for example in you want to join a videoconference. Or get a compiler suite and write some code. There is a seemingly endless selection of additional software that one can install in addition to what comes with a base system, and often there are multiple different software projects for similar things. For example, there are several desktop environments you can select from, ranging from animated colorful Windows-like desktop environments to spartan ones that consume only minimal system resources. There is something for everyone.

Many of the open-source software projects that started out in the Linux ecosystem are now also available for Windows and Mac platforms. This makes it easier for someone who uses one of the proprietary OSs at work to switch to Linux at home, or vice versa. Examples of major open source software projects that are available for Linux, Windows, and Mac are LibreOffice, the Inkscape drawing suite, and the graphics suite Gimp. Many proprietary programs are nowadays also available for Linux, Windows, and Mac. Zoom comes to mind, web browsers such as Firefox, Chrome, or MS Edge, or scientific software such as Mathematica, Maple, or Matlab.

Therefore, if you want to try Linux, or if you are thinking about switching completely, this has never been easier. I hear from friends and read on-line that Linux is not as good of an OS as compared to Windows (or Mac) for playing modern computer games, but as far as I can tell there are suitable options. I don’t play computer games, so on this topic I’m not able to give advice or make a case for using Linux. Another area where things could improve is in regard to the acceptance of Linux by some of the major content-and-copyright owners. Some of the available streaming services have their digital rights management (DRM) so locked down that their content won’t play in a web browser running under Linux, even with DRM enabled. I’ve had no trouble with some of the major players [names withheld], but potentially you won’t get to see their content in the highest-resolution formats. Another provider that I won’t name here had live streams that did not play because of DRM issues.

Update July 2023: Regarding some of the Pros and Cons of Linux on the Desktop, I recommend reading the lively discussion of this article on Ars Technica in the Reader Comments section.

© 2023 J. Autschbach. Most of this article was written in April 2023. Updates in July 2023. Further updates where indicated.