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.

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.

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.