Using Linux at Work
When I started using Linux, I wondered when I would get to actually use it “on the job”. It wasn’t easy sometimes to work with a Windows-based computer—when there’s a skill set available that can help you do things faster on the computer. This skill set is the Linux command shell, but as mentioned your computer runs Microsoft Windows. What can you do??
At one job, I was able to install Perl. At another job one had to submit a request (with business justification) to add software to a workstation. Instead of Perl I thought “why not Python?” Since both times it was a Windows XP Environment, I used the DOS command line (or “CMD” app) to execute the Perl or Python programs.
I used the DOS CMD because (at that time) I did not know about Cygwin. Using the DOS CMD to execute programs is easy. The difficult part is dealing with case-insensitivity (which hurts portability) and using a shell to navigate folders with spaces in the names is a real pain.
Using the DOS shell to execute programs is not the same as using Cygwin. Cygwin is command shell that emulates a working Linux environment. Installing Cygwin with the base packages is simple and will provide a good “starting point” for learning some shell commands.
Want to use Linux but your work computer is Mac OS-X?
OS-X (like Linux) is Unix-based. It has a shell that’s known as “Terminal” and it is in the Applications/Utilities folder. You can also (if the OS is 10.5 or later) use keystrokes (apple + Space bar) to show the “spotlight search” box at the top right and start typing Terminal. When search finds “Terminal” then press ENTER and voila! Say hello to the Darwin Terminal.
Darwin handles the basic stuff really well. It’s capable of helping you learn Shell commands. But it doesn’t do everything that a regular Linux distro does. Darwin’s limits can be overcome by installing apps and libraries. Most likely you will need your System Administrator’s help to get and install X11, MacPorts, or Fink to augment the BSD-derived Darwin environment.
LifeinTECH
Over the past twenty-years, enthusiasts, researchers and analysts have predicted the “Year of the Linux Desktop”.
I started using Linux in 2001, during a strange period when boxed Linux distributions could be purchased in a physical store (e.g. PC World, Staples, etc.) This was short-lived phenonium, but I did personally buy a boxed version of Mandrake Linux (which at the time, included the best documentation).
Ironically, Linux has seen enormous growth in almost every market (e.g. Server, Mobile, IoT), but has failed to gain momentum on the desktop (currently estimated at 1.74% global market share).
With this in mind, I wanted to answer the question, could I use a Linux Desktop full-time for work?
As Chief Technology Officer (CTO), my time is split across the following tasks.
- Collaboration (e.g. E-mail, Messaging, Conferencing, etc.)
- Productivity (e.g. Document Creation, Reviews, Presentations, etc.)
- Architecture (e.g. Creating and Reviewing High/Low-Level Designs, etc.)
- Engineering (e.g. Software Development, Administrative, etc.)
- Testing (e.g. Integration, System, Acceptance, etc.)
I would like to state that architecture and engineering are where I spend the majority of my time, but the reality of my role places a heavy emphasis on collaboration and productivity. I do however look for opportunities to stay grounded, by getting “hands-on keyboard” as often as possible.
Linux Work Setup
As a long-time advocate of Fedora from Red Hat, I selected the near-final version of Fedora 33 as my Linux distribution. Fedora 33 is set to be released in November and includes the usual updates to the Linux kernel (v5.8), GNOME (v3.38.1), as well as a controversial shift away from EXT to Btrfs as the default file system. As a long-time supporter of the ZFS file system, I have mixed opinions about this change, but happy to give it a try.
I installed Fedora 33 on a Dell XPS 13 (9300), with the following specification:
- 13-inch Dell XPS 13 (9300)
- 1.3GHz 4-Core Intel i7-1065G7 (Turbo up to 3.9GHz)
- 16GB 3733MHz LPDDR4x RAM
- 512GB M.2 PCIe NVMe SSD
- Intel Iris Plus Graphics
- 13.4-inch Display (1920×1200, 500nits)
Although not a powerhouse, the Dell XPS 13 is a fast, portable laptop with the same exceptional aesthetics as the Dell XPS 17. The photo below compares the Dell XPS 13 against the 12-inch Apple MacBook, highlighting the similar dimensions, which is impressive considering the Dell is significantly more powerful.
Dell has also “confirmed” support for Linux (specifically Ubuntu), selling a specific “developer edition”.
The installation of Fedora 33 was flawless, with only the integrated fingerprint scanner failing to be recognised (I have not found a workaround yet). The lack of dedicated graphics within the XPS 13 is disappointing from a performance perspective but does remove a common challenge when installing Linux (especially when working with Nvidia graphics.
As I am currently working from home (due to COVID-19), the Dell XPS 13 is connected to my Samsung C49RG90 Super Ultrawide display and Bluetooth Logitech keyboard/mouse.
The 5120×1440 resolution of the display works the Intel Iris Plus Graphics fairly hard, but still provides enough horsepower to deliver a smooth experience for collaboration and productivity tasks. The only minor watch-out was the refresh rate, which could only be set to a maximum 100Hz (instead of the default 120Hz).
Linux Work Software
To support my work needs, I installed the following software, the majority of which is Free and Open-Source (FOSS).
The software installation process was fairly simple, following the steps outlined in my Fedora 31 article, using a combination of different package managers (DNF, Flatpak and Snappy). The only issue I experienced was with the SimpleNote snap package, which I resolved by using the traditional DNF install.
The overall software story on Linux is generally positive, with key applications such as Chrome, Zoom and 1Password all being available and offering a comparable feature-set to their Windows/macOS counterparts.
It is also great to see companies continuing to invest in Linux, for example, 1Password recently announced a native Linux client is in development, replacing the need to use a Chrome plugin.
At work, I am in the fortunate position where the majority of our applications are accessible via the browser (e.g. Corporate, Financial, HR, etc.) Therefore, assuming the user has a valid identity, multi-factor authentication enabled and meets the conditional access requirements, the underlying operating system is largely irrelevant (e.g. Windows, macOS, Linux, etc.) In this scenario, the browser becomes the operating system, placing a heavier emphasis on projects such as Chromium.
One area of contention is Microsoft Office 365, used for Collaboration and Productivity.
Over the past few years, Microsoft has demonstrated a renewed energy for Linux, with the release of Visual Studio Code and Teams (helped by the fact that they are both Electron applications). They have also announced the release of Edge (Chromium-based browser), which could have integration benefits for Microsoft 365 customers.
Unfortunately, the main Microsoft Office Suite (Outlook, Word, PowerPoint and Excel) are not natively available on Linux, forcing the use of virtual environments, emulation or Office Online.
Office Online has come a long way in recent years and I prefer Microsoft Outlook on the web over the desktop version. It is feature-complete (at least for my usage) and includes a “less cluttered” user interface, which streamlines common tasks.
Unfortunately, I cannot recommend the online versions of Microsoft Word, PowerPoint and Excel. Although they all technically work, I find the majority of my documents (which tend to be quite large and complex) result in constant stuttering and loading delays, as well as the occasional formatting inaccuracy (mainly with colours). These barriers make the user experience very cumbersome, resulting in constant frustration.
As an alternative, I tested LibreOffice (v7.0.x), WPS Office (v11.1.x) and OnlyOffice, which all include native Linux applications and compatibility with the Microsoft Office Open XML format (e.g. docx, pptx, xlsx, etc.)
Unfortunately, I did not find a perfect solution. In my testing, LibreOffice had the most comprehensive feature-set, but struggled with text styling and compressed images from Microsoft Office. The screenshot below highlights the issues (red box).
I found WPS Office to be more compatible, but less comprehensive. The screenshot below highlights the same slide, achieving a (slightly) better outcome.
I was most disappointed by OnlyOffice, which I had heard good things about (especially regarding Microsoft Office compatibility), but the applications felt very unoptimised on the desktop, delivering an undesirable user experience. Although I have not completed thorough research, I assume OnlyOffice for Linux is a shell for their web applications (making it only marginally better than Microsoft Office Online).
If I had to select one office suite for Linux, it would be WPS Office, which although not perfect, was the most compatible and delivered enough features to support my common use cases. The only watch-out is that WPS Office is not open-source (maybe a deal-breaker for some) and the license agreement requires a paid edition to support business use cases, starting at £31.00 per year (or £62 one time).
With that said, thanks to the open-source nature of Linux, I would likely recommend installing both LibreOffice and WPS Office, providing the best of both, depending on the specific task.
It is worth noting that to achieve font compatibility, you might need to install the Microsoft True Type fonts. Simply run the following Terminal commands:
sudo su sudo dnf install curl cabextract xorg-x11-font-utils fontconfig sudo rpm -i https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm
Once complete, the Microsoft fonts should be accessible across the operating system and compatible applications.
Finally, if all else fails, you can always run Windows in a Virtual Machine. Fedora comes pre-installed with Gnome Boxes, which provides a simple GUI for creating virtual machines.
I use VMware Workstation Pro, which includes a more comprehensive feature-set (3D Graphics, Advanced Networking), as well as compatibility with other VMware-based virtualisation technologies (vSphere integration, etc.)
VMware Workstation Pro requires a paid license but includes a 30-day free trial. VMware Workstation Player is also an option, which is a free but includes feature limitations (single virtual machine).
To install, simply download VMware Workstation Pro and run the following Terminal commands (update the filename as required):
sudo chmod 755 VMware-Workstation-Full-abc.x86_64.bundle sudo ./VMware-Workstation-Full-abc.x86_64.bundle
Once complete, Vmware Workstation Pro can be used to install Windows 10 using the ISO.
Conclusion
Overall, when considering my role and common tasks, Linux is absolutely a viable operating system for work.
The primary pain point is Microsoft Office compatibility, but this is “workable” through the use of Linux compatible applications (LibreOffice and WPS Office) alongside Office Online. With that said, I would love to see Microsoft deliver a native Linux version of Office in the future.
Regarding the Dell XPS 13 and Fedora 33, both worked flawlessly. Recognising that Fedora 33 is still pre-release (scheduled for GA on 28-OCT-2020), some software repositories had not been updated (e.g. Docker), but this did not cause me any significant issues.
In conclusion, it may not be the “Year of the Linux Desktop”, but for me at least, the Linux Desktop is now a viable option as my daily driver.
Matthew Bull
Chief Technology Officer / Chief Information Security Officer