Ubuntu Cheat Sheet
Earlier today, Canonical released Ubuntu Desktop 24.04 LTS Noble Numbat. I recommend reviewing their recent blog post for a summary of the new features, etc.
NixOS and Fedora are my preferred Linux distributions. However, at work, I still use Ubuntu Desktop thanks to the stronger support for Microsoft Endpoint Management (Intune) and Protection (Defender).
Therefore, I thought I would share my initial setup steps (which can be automated) for Ubuntu Desktop.
Ubuntu Desktop Configuration
Ubuntu Desktop 24.04 LTS Noble Numbat can be downloaded from the Canonical website.
I create a bootable USB using balenaEtcher, which supports Windows, macOS and Linux.
As part of the initial Ubuntu Desktop installation, I configure the following:
Secure Configuration:
- Full Disk Encryption: LVM and Encryption
- Encryption Passphrase: Minimum 12 Characters
- Login Password: Minimum 12 Characters
I also install the following corporate endpoint management and protection software.
Security Software:
Ubuntu Pro Configuration
The following commands enable Ubuntu Pro, which is a low-cost (free for personal use) subscription service that aims to provide stability, security, and compliance for Ubuntu installations.
sudo pro attach ...
pro --version
pro security-status
pro security-status --esm-apps
NOTE: The attach command requires your unique token, which can be found on the Ubuntu Pro Dashboard.
Ubuntu Pro includes the following useful features.
-
Expanded Security Maintenance (ESM): ESM provides 10 years of vulnerability management for critical, high and selected medium CVEs for all software packages shipped with Ubuntu.
-
Live Kernel Updates: Minimise downtime and unplanned reboots with patches for critical and high-severity kernel vulnerabilities.
-
Compliance and Hardening: Certified automation tools for hardening and compliance profiles. Specifically, I target “cis_level1_workstation”.
Ubuntu Package Manager
The following commands are useful when interacting with the Ubuntu Advanced Packaging Tool (APT).
sudo apt update
sudo apt upgrade
sudo apt install ...
sudo apt remove ...
sudo apt purge ...
sudo apt download ...
sudo add-apt-repository -L
sudo add-apt-repository ...
I would always recommend running ‘sudo apt update’ and ‘sudo apt upgrade’ following a new installation to ensure the operating system and software packages are up to date.
Recommended Snaps (Applications)
Although I prefer Flatpak, Canonical continues to favour snaps. Therefore, outlined below are the applications I install via snap, all of which are verified.
sudo snap install libreoffice
sudo snap install slack
sudo snap install code --classic
sudo snap install firefox
sudo snap install standard-notes
sudo snap install bitwarden
sudo snap install gimp
sudo snap install krita
sudo snap install audacity
sudo snap install vlc
sudo snap install natron
sudo snap install obs-studio
sudo snap install gnome-boxes
sudo snap install postman
sudo snap install godot-4
sudo snap install steam
I use Obsidian for note-taking, which can also be installed via a snap. However, it must be downloaded manually from the Obsidian website and installed using the following command.
snap install obsidian_1.5.12_amd64.snap --dangerous --classic
The “dangerous” flag sounds scary, but is OK when the snap is downloaded from a trusted source. In short, it acknowledges that Canonical has not reviewed this snap.
Finally, the following commands are useful when interacting with snaps.
snap refresh --list
snap info ...
sudo snap refresh
sudo snap refresh ...
The ‘sudo snap refresh’ command will update all installed snaps.
Recommended APT Packages (Applications)
The following applications are not available, viable and/or verified as a snap. As a result, I install them using the Ubuntu Advanced Packaging Tool (APT).
The following command installs the common Microsoft fonts.
sudo apt install ttf-mscorefonts-installer
The following command installs and starts Docker and Docker Compose.
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo service docker start
At work, we use Microsoft 365 for productivity, collaboration and security. As Microsoft do not have native applications for Linux, I would recommend installing Microsoft Edge for improved compatibility with their web services. To install, you must first download Microsoft Edge from the Microsoft website.
It can then be installed using the following command.
sudo apt install ./microsoft-edge-stable_124.0.2478.51-1_amd64.deb
Openshot, which is a popular open-source video editing application, can be installed via the following commands.
sudo add-apt-repository ppa:openshot.developers/ppa
sudo apt update
sudo apt install openshot-qt python3-openshot
Quickemu, is a great virtualisation application that automates the download, installation and configuration of virtual machines (Windows, macOS, Linux, etc.) The following commands install Quickemu.
sudo apt-add-repository ppa:flexiondotorg/quickemu
sudo apt update
sudo apt install quickemu
Finally, Ollama is an application for running local Large Language Models (LLMs), including popular open-source options such as Meta Llama 3, etc. The following command installs Ollama.
curl -fsSL https://ollama.com/install.sh | sh
That’s it! Ubuntu Desktop is now ready for work. There are other applications that I install, but I consider these personal/optional, which I tend to install as needed and not as part of my initial setup.