The heady days of being limited to a Windows device when at work are long gone.

The ancient paradigm os the same for all is both restricting and in some cases if not maintained is hugely difficult to manage.

There are some clear advantages to using Linux in the workplace, and the days of compatibility and difficulty in doing this while not totally over are far less than they were a few years back.

This article is written as an insight to some of the options available to you should you want to run an Ubuntu based distro. They are the tools I use and you may not agree with me, that's perfectly fine.  

Not all the tools are free either, however specifically in a work environment, as there are licencing costs for almost everything you'll run, paying for some of this software seems the least we can do to keep good software.

OS Setup

First we look at the OS and some of the choices which should be made when configuring Ubuntu based distros for usage as a work laptop which you may not make when using it for personal use.

LTS Release

https://wiki.ubuntu.com/LTS#:~:text=LTS,designed%20with%20security%20in%20mind.

Canonical release a new Ubuntu version every 6 months, usually in April or October. Following this 6 month update cycle gives the user 9 months worth of security updates.

Every 2 years however Canonical release in April a Long Term Support (LTS) release of Ubuntu. This release will provide 5 years of security updates.

While it may seem like, and is a good idea to keep your Ubuntu based desktop up to date, upgrading every 6 months, this is complete OS update and while in 99% of cases this will work flawlessly as this will be a work device this update will take time, and may have errors on it. This could result in needing a complete rebuild of the laptop and restore of data.

While no where as complex as a Windows update this type of major OS update always carries a risk. On your work device you're looking for stability.

Using an LTS release will provide you with long term stability and peace of mind that security updates will keep coming possibly well past the lifetime of the device you've installed the OS on.

KDE Desktop

Homepage

This suggestion is a personal choice, and one which deeply divides the Linux community, if you have strong opinions on it I get it.. I do..

I would recommend for a Work laptop using KDE Desktop and I would recommend using it through Kubuntu the official KDE spin of Ubuntu.

Stock Ubuntu comes with a heavily customised version of Gnome a KDE Alternative, and my wholly personal observation is that KDE gives me more screen real estate and provides me with a more visually appealing desktop.

There are many reading this now who will will wholeheartedly disagree with this choice, and they are opinions they are entitled to. However I'm writing this, so it's my choice.

KDE through Kubuntu gives an experience very close to the one provided by Windows with the "Start Menu, Toolbar and System Tray" and is close enough that for most users who would normally run Windows for work its easier to get to grips with. It's also in recent versions be shown to less processor and battery intensive that some of the alternative desktops like Gnome.

Encrypted Disk

During the installation of Ubuntu or Kubuntu there is the option to the Encrypt the entire disk and setup encrypted Logical Volume Management (LVM)

I'm not going to get into the details of LVM and why its useful here, the option to encrypt the disk however should be chosen always.

This provides you whats called Data at rest encryption which the long and short of is, if your device is off and you leave it on a train or its stolen. The contents of the hard disk are fully encrypted. So if someone removes the hard disk they will not be able to see your data.

For many companies this is no longer just a nice to have, its an essential. I do like how many Linux does this at point of install.

You'll be asked to put a password in as the encryption password, don't lose this because without it the data on the device will not be accessible by you either.

Join the AD Domain

While you may be making the leap from Windows to Linux through your chosen Ubuntu based distro the reality of life is its pretty likely where you work will be fully invested in Microsoft and have a centralised system for administrating users and computers called Active Directory (AD).

Opinions on Microsoft products will vary from the people you talk to in the IT Community, however its fair to say that Microsoft's AD is the defacto standard for corporate centralised management of users, groups and computers.

It's very unlikely that your IT team would even consider letting you use your chosen Ubuntu based distro on your work laptop without connecting it to the AD server(s).

Thankfully this is possible, I run Microsoft AD on Server 2016 and my Kubuntu 20.04 connects via AD to login to the Laptop.

However getting this to work isn't for the faint of heart, and does require knowing the Administrator (or equivalent) creds for the AD server in order to connect to the Active Directory. You'll also need to understand a little about LDAP and AD's groupings.

Once installed however using AD does provide a working, supported, tutorial written, and tried and tested central location to manage your login, and if you use Office365 with any form of AD sync with it everything uses the same Single Sign on (SSO)

Service - SSSD
SSSD SSSD stands for System Security Services Daemon and it’s actually a collection of daemons that handle authentication, authorization, and user and group information from a variety of network sources. At its core it has support for: Active Directory LDAP Kerberos SSSD provides PAM and NSS modu…

Essential Office Applications

Once the base operating sytem is installed with Full Disk Encryption and AD Login it's time to look into the software you'll be using.

If you're coming from a Windows Background or working in an environment which is based on Microsoft's applications such as Office you'll need to make sure that you're not just able to use the applications installed, they will also need to read and output in formats compatible with the other users in the business.

The applications here again are my personal choice. You may have you're and where possible i'll explain my choice.

Softmaker Office

SoftMaker Office
SoftMaker Office: SoftMaker’s fast, powerful and compatible office suite for Windows, Mac and Linux

Ubuntu distros come with Libreoffice installed by default and its a hugely capable option for creating Office documents on Linux. I find however when i really want to get something done the layout and functionality to be too different from years of Microsoft Office muscle memory just make using Libreoffice a chore rather than a daily driver for me.

On looking for an alternative I found Softmaker Office which boasts not only a similar look and feel across its Word, Excel and Powerpoint alternatives but a lot more compatibility with more complete layout documents than Libreoffice.

Softmaker Office is not free, however there is a free trial for it. If you want to pay there is both a monthly subscription or annual subscription price. You can also run it on Windows or Mac as well.

Installing Softmaker office is done so using a deb file downloaded from the site

Outlook

Hiri best email client for Windows, Mac and Linux
Hiri is the best email client for Managers on Windows, Mac and Linux.

Like Libreoffice is the default goto Office client on Ubuntu based distros. Evolution Exchange is the choice of MS Outlook alternative. And for many years it's been a worthy client when others did not exist.

Personal feeling has been for a while that Evolution has felt bloated and slow when used. This got me looking for an alternative which in turn lead to finding Hiri

Hiri is faster than Evolution, its got skills as an option to define layouts, and enhance the product and supports Office365/Exchange out of the box.

It's not free and at time of writing is $39 a year, however for that you can run the software across multiple OS. There is a free trial to test this out.

Installing Hiri is done using Snap

Install hiri for Linux using the Snap Store | Snapcraft
Hiri email client

using the command

sudo snap install hiri

Teams

Download desktop and mobile apps | Microsoft Teams
Download Microsoft Teams now and get connected across devices on Windows, Mac, iOS, and Android. Collaborate better with the Microsoft Teams app.

Microsoft are embracing the Linux Desktop in many ways and one of the most surprising was the launch of a native Teams client. With Teams being bundled with the Office365 business subscriptions many businesses are adopting it as the defacto office messaging and conferencing app.

There is also good linux support for Zoom, Webex and several other similar systems.

If i have one criticism of the Linux version of Teams is its not on feature parity  with the Windows version. With that being said having used the Linux version for a long period of time it does the basics you'd expect well.

Teams is installed using a downloaded Deb file.

VPN

OpenConnect VPN client.
VPN client compatible with Cisco AnyConnect SSL VPN

Almost every company I've worked for has had a Cisco AnyConnect VPN, and while i'm no personal fan of this platform, its a thing, and if you're working for a business who uses it you have a couple of choices.

There is a Linux version of the AnyConnect client however its a bit fiddly to get installed if certificates are used.

The other option is the free OpenConnect VPN client which not only installs from the command line, it also integrates with the KDE (and Gnome) network Manager so can be accessed from the Network icon in the systray.

Installing the client is simple using

sudo apt install network-manager-openconnect

Which will install the openconnect client as well as the network manager integration and the related dependencies.

Setting up openconnect is either as simple as knowing the VPN endpoint address and using your AD creds or you may need to apply certificates which are also supported.

Useful Additional Applications

As well as the staples of company systems we have just gone through there are also daily driver applications which often get mentioned as blockers when moving over to Linux OS's

You're going to see a lot of snap application installs here, and this seems to be the way forward for Ubuntu. Its a divisive install system, however its maintained by Canonical and works well on Ubuntu based distros.

PhotoGimp

Install PhotoGIMP for Linux using the Snap Store | Snapcraft
Patch para o GIMP

PhotoGimp is an example of what happens when 1000s of Adobe users observe there is no Linux version of Photoshop and thus cannot move. I'd suggest for many but the most hardened of users of this image editing software the issue is more they have learnt photo shop and do not want to learn an alternative. Which is a shame because as an Opensource system GIMP other than its silly name (Glympse if you want the fork) is a very powerful image editor.

Knowing this someone (Pedro Marinho) has written a plugin for Gimp that gets the look, feel and workflow as close as it can to looking like Photoshop.

Now sure, this isn't PhotoShop, it is what i'd call a transfer solution, and its a pretty good one. Gimp doesn't get the plaudits it deserves for what it is

Install

sudo snap install photogimp

Termius

Termius
The #1 cross-platform terminal with built-in ssh client which works as your own portable server management system in any situation.

Next on this list is Termius, a cross platform SSH client. I've blogged about this before because I find it to be one of the most useful tools in my toolbox.

Straight off the bat there is a really good free version of this available however I've plumped for the paid version because software like this is worth funding.

Whats so good about this SSH Client?

The first thing which got me hooked was I'm a sucker for any software which can work across multiple platforms and not need me to reenter my data. So once I've added the SSH Clients to Termius I can login with my account on Ubuntu or Android (in my case) and see the same hosts and add remove from either platform.

Then the ability to setup logins, using keys and have these  swap between systems is great because i've got the peice of mind at the back end its fully encrypted and at the login I'm using 2Fa to gain access to my account using an authenticator app.

The SSH application is very customisation and if there are small bash scripts you want to run on the hosts this can be managed by a snippets feature.

All round this is a great application, its regularly updated and pen tested and the support team are really good as well.

Install

sudo snap install termius-app

VSCode

Visual Studio Code - Code Editing. Redefined
Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications. Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.

Another one mainly for the sysadmins or coders, Visual Studio code is another example for Microsoft embracing the Linux platform. As an application its supported on Windows, Mac and Linux  and unlike Teams (at time of writing) there seems to be a want to keep feature parity across platforms.

The cross platform working is important because it would help a new user feel comfortable using the same application they are used to on a non Linux system.

With its plugin system providing plenty of scope to add support for things like ansible, bash, git, puppet, chef, python, html5 and so much more VSCode has pretty much become the defacto standard for maintaining code on most platforms.

While its not sexy, it is functional, well supported and does what it needs to. Integrating with git it makes a pretty useful version controlled note taking system at a push to.

Install

There is either a native .deb file available from the link above or a snap package.

sudo snap install code --classic

Slack

Where work happens
Slack is where work flows. It’s where the people you need, the information you share, and the tools you use come together to get things done.

If you're not using MS Teams in the office to communicate chances are you're probably using Slack. While MS Teams may be vying for feature comparability to "wipe slack off the map". Slack has a loyal following in the tech community.

Slack seriously has its place and the simple to get started free tier is a huge draw and a recent deal with Amazon will hopefully get Amazon's products for AWS and video conferencing built in.

Feature wise Slack is already if not more feature reach than teams with a huge number of integrations with other services.

Install

sudo snap install slack --classic

Authy

Home

If your IT Team are doing their job right, a vast majority of the systems you use will need 2 factor authentication (2fa). As well as your password, you need to provide an additional number either from an app or sms.

Authy is a 2fa app, its one of many out there from Microsoft, Google, Duo and others.

What I like about Authy (and others may have now caught up) is like Termius, your "FA Codes for your apps are stored on an encrypted cloud account. This is important for 2 reasons. If you use the app on your phone, as most will. On some of the other 2FA apps should you lost your phone you need to dredge out the offline codes and resetup your 2FA. Which is a pain. Authy doesn't have this issue.

Authy also supports just about every platform available including Ubuntu based distros so you can run, update and edit your Authy data on your laptop or mobile and they will stay in sync.

Authy will work with any software which the other 2FA apps will work with as well, so if your office 365 suggests using Microsoft Authentication, but your google account suggests using Google Authentication you can ignore them both and just use Authy

Install

sudo snap install authy --beta

KDEConnect

https://kdeconnect.kde.org/

KDEConnect is one of KDE's killer features if having the alerts from your phone turn up on your desktop or the alerts from your desktop turn up on your phone.

There are a huge number of other plugins to link functionality between your phone and your Kubuntu install. a few stand outs include the ability to use your phone as a touchpad/mouse for your laptop. Remote access, file aharing between devices and a shared clipboard between desktop <-> phone.

This can be a really useful or really annoying app depending on how you use it

Install

apt update
apt-get build-dep kdeconnect

Dashlane

https://www.dashlane.com/

Another contentious area mainly because everyone has their own opinion on Password managers.

A Password Manager is simply put, a place you can store passwords where you only need to remember the password for the password manager.

Using a password manager application you should when setting up new accounts be able to use highly random long passwords saved against login creds and never have to know the application password.

There are plenty of good password managers out there Lastpass, 1-Password and Bitwarden and i'd be remiss to say one is better than the other, and I hate lists like that who do this, no commitment.

Having used Lastpass and Bitwarden for a long time, it was the support released for Dashlane for ChromeOS and Linux at the time which coupled with the simple interface and cross platform ability I kind of fell into Dashlane and stayed here.

If I have to pick some very low level things I didn't like about Lastpass or Bitwarden it was that Lastpass's Admin interface at the time was a mess, and Bitwarden always felt a bit cottage industry. That last comment considering its open source and you should be judging your password manager on its security not its aesthetics is a little poor.

This is one of the few items on this list where i'd suggest trying all the options above and choose one. But do get a password manager

Install

Powered as a browser plugin on Linux head over to https://www.dashlane.com/download

XBrowserSync

xBrowserSync - Browser syncing as it should be: secure, anonymous and free!
Free and open source tool for syncing your bookmarks and browser data between your various browsers and devices.

If you run multiple browsers as I do keeping Brave, Google Chrome and Firefox in sync Bookmarks wise can be difficult.

A recent addition to the toolbox is XBrowsersync a browser plugin which will quite literally keep the Bookmarks on the above browsers in sync.

Doing so over an encrypted pipe as explained here

xBrowserSync utilises the browser’s native Web Crypto library to encrypt your browser data client-side before it is transmitted over the internet. For key derivation, xBrowserSync uses PBKDF2 with 250,000 rounds of SHA-256 (as a comparison, LastPass’ key derivation uses a similar approach but with only 100,100 rounds by default). The data is then encrypted using AES-GCM with a random 16 byte IV and the user’s random 32 char sync ID as a salt. This approach ensures your data cannot be decrypted without your sync password (which is never transmitted) so please ensure you use a strong password! If you would like to review the encryption code, the relevant functions are getPasswordHash and encryptData.

And if you don't feel comfortable using the xbrowsersync cloud storage then you can self host your own

xbrowsersync/api
Server-side REST API that serves requests from xBrowserSync client apps - xbrowsersync/api

This is a handy tool and seems well executed.

Install

Via a Browser plugin

NotepadQQ

https://notepadqq.com/s/

This is Notepad++ for Linux and the alternative to VSCode depending on what you are using it form.

As with Notepad++ there are support for 100+ Languages and overlays so the same keystrokes and templates work.

It's another "personal choice" thing really, I find it useful to keep nots which i can sync to a Git Repo.

Install

sudo snap install --classic notepadqq

or PPA

sudo add-apt-repository ppa:notepadqq-team/notepadqq
sudo apt-get update
sudo apt-get install notepadqq

Final Thoughts

This is an opinion piece and no doubt you may have an opinion on my suggestions and choices which is different. I use the above software and setup daily, I don't use Windows and it works for me. Could it work for you? What would you do different?

Utilising Linux for a work environment isn't just a viable option, in the right case it can extend the lift of hardware