Ubuntu

The most popular Linux distribution in the world.

Desktop Development Beginner Server Gaming

Overview

Based onDebian
Package managerAPT (with Snap integration)
Package format.deb
Release modelFixed releases every 6 months. LTS every 2 years (5 year support).
Default DEGNOME (modified)
Init systemsystemd
Websiteubuntu.com

Why Ubuntu?

Editions & Flavors

Package Management

Ubuntu uses APT for system packages. Canonical also pushes Snap packages for containerized, auto-updating applications.

# System updates
sudo apt update && sudo apt upgrade

# Install packages
sudo apt install neovim git curl

# Search
apt search "image editor"

# Snap packages
sudo snap install code --classic
sudo snap install discord
snap list
Snap controversy: Ubuntu installs some packages as Snaps by default (including Firefox). Some users prefer to install Flatpak instead and avoid Snaps. You can remove snapd entirely if you prefer: sudo apt remove snapd.

Setting Up for Development

# Essential development tools
sudo apt install build-essential git curl wget

# Node.js (via nvm)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
nvm install --lts

# Python
sudo apt install python3 python3-pip python3-venv

# Docker
sudo apt install docker.io docker-compose
sudo usermod -aG docker $USER

# VS Code
sudo snap install code --classic
# Or via APT repo (preferred by many):
# See code.visualstudio.com/docs/setup/linux

Setting Up for Gaming

# Install Steam
sudo apt install steam

# Enable 32-bit libraries (required for many games)
sudo dpkg --add-architecture i386
sudo apt update

# Install latest GPU drivers
sudo ubuntu-drivers autoinstall

# Install Lutris (for non-Steam games)
sudo apt install lutris

# Install GameMode (optimizes system for gaming)
sudo apt install gamemode

Tips