Linux Setup

مؤلف

Show all

Hide

A perpetually-incomplete yet aspirational guide for setting up Linux as your daily driver OS.


TL;DR
  1. Install Xubuntu on older machines.
  2. Install Pop!_OS on newer machines.
  3. Don't customize the UI or Desktop experience too much.
  4. Don't distro-hop, but if you do, use VMs or an old, spare machine, not your daily-driver, to experiment.
  5. On Intel Macs, either dual-boot to Asahi Linux or use VirtualBox to run Xubuntu in a VM.
  6. On M1/M2/M3/M* Macs, you're on your own to figure it out. sorry.
  7. Scripts below help you install some classic packages that help Linux work well as a daily-driver OS.
Introduction

Linux is an excellent OS for many applications, but it's often relegated to running on servers, raspberryPis, and cloud VMs. As of 2023, Linux has many flavors and distributions that are mature and polished to an extent that they're a viable option for desktop and laptop daily usage. Certain elements of the desktop experience may take some getting used to when switching from Windows or MacOS, but with basic tweaks, Linux can provide a very stable and familiar environment for work and play.

This guide is unapologetically opinionated (and likely wrong in many ways, based on the infinite opinions in the Linux world) for the sake of simplifying the process of getting to a workable setup. There is known challenge in using Linux called "distro-hopping", that, when you're trying to use Linux for productive purposes, tends to be an infinite time sink of trying every possible distribution in hopes the next one will be more perfect. As a humble recommendation, if "distro-hopping" is a pass-time you enjoy, try doing this by spinning up virtual machines rather than installing a new distro on your bare metal machine.

Hardware Setup

Before installing Linux, it's good to change some settings in the BIOS of your computer. On boot, press the necessary keys to enter your BIOS setup (DEL / F2 / F8 / F12).

  1. For simplicity, you should disable things like secure boot, etc. It is possible, on some Linux distributions, to use secure boot, but it tends to over-complicate your first foray into Linux.
  2. Be sure to setup the BIOS to use EFI without legacy boot options. This will enable the automatic installation of a recovery partition in certain distros (e.g. Pop!_OS).
Suggested Distributions

There are too many distributions to mention or compare here, and as mentioned above, the goal of this guide is to save you the effort of "distro-hopping". After many years of using Linux in desktop, server, and embedded environments, the two distros below have emerged as leading options for the two major situations most users will encounter.

  1. For individuals with older machines that tend to feel sluggish with modern versions of Windows, Xubuntu will serve well as a feature-rich desktop experience that won't overload the limited resources of an older machine. Xubuntu is based on Ubuntu which is, in turn, based on Debian, and follows the Ubuntu release cycles with Long-Term Support (LTS) versions released every 2 years. LTS versions are released in April of even-numbered years. For sanity's sake, and in the same vein as suggesting avoiding distro-hopping, it's best to skip the non-LTS releases unless you have a hyper-specific need for bleeding-edge features under development between LTS releases.

  2. For individuals with relatively modern machines with mid-level to high-level specifications, Pop!_OS will provide a relatively full-featured desktop experience. Pop!_OS is based on Ubuntu which is, in turn, based on Debian, and Pop!_OS follows the Ubuntu release cycles with Long-Term Support (LTS) versions released every 2 years. LTS versions are released in April of even-numbered years. For sanity's sake, and in the same vein as suggesting avoiding distro-hopping, it's best to skip the non-LTS releases unless you have a hyper-specific need for bleeding-edge features under development between LTS releases.

Pop!_OS Install

  1. Procure USB Thumb Drive (minimum 4GiB)
  2. Download Pop!_OS LTS ISO Image File
  3. Use a tool like Balena Etcher to copy the ISO Image to the USB Thumb Drive
  4. Insert the USB Thumb Drive into your computer and press the necessary key (often F12) at boot to choose to boot from USB.
  5. Select "Try or Install Pop!_OS" at boot
  6. Select Language and keyboard region (choose something sensible, can be changed later if needed)
  7. Unless you're setting up a multi-boot configuration, select "Clean Install" and select your internal hard drive.
  8. Erase and Install (be sure you've backed up files you care about from previous OS installs)
  9. Create username and password.
  10. Drive Encryption. Choose this to suit your needs, but unless you need high-security for a specific reason, life is just simpler if you don't encrypt the drive.
  11. Installation will begin. On a modern machine, it should take less than 5 minutes.
  12. Choose shutdown (or reboot). Shutdown will ensure the disk is unmounted and the machine is fully powered off when removing the USB Thumb Drive.

Power on. After the initial boot into Pop!_OS, you will be prompted for the following:

  1. Login as the user you created during install.
  2. Dock Settings : In the middle, does not extend to edges (recommendation, can be changed later)
  3. Top Bar Settings: Don't show Workspaces (recommendation, can be changed later).
  4. Top Bar Settings: Date and Time to the right (recommendation, can be changed later)
  5. Appearance: Dark (recommendation, can be changed later)
  6. Join Wi-Fi (if available). Next.
  7. Privacy: Leave location services off (recommendation, can be changed later)
  8. Time Zone: Search for your time zone. Next.
  9. Online Accounts: Skip (recommendation, can be added later)
  10. Start Using Pop!_OS
  11. You should now be staring at a Desktop environment, and you'll likely be advised by a pop-up that updates are required. You can follow the suggested prompts to update, or you can ignore, as updating is the next step in this guide. (note: sometimes the update prompts, when clicked, don't open the Pop!_Shop. You can launch it manually and click on "Installed" tab to see the available updates.)

Xubuntu Install (additional details to be added)

  1. Procure USB Thumb Drive (minimum 4GiB)
  2. Download the current Xubuntu LTS ISO Image File
  3. Use a tool like Balena Etcher to copy the ISO Image to the USB Thumb Drive
  4. Insert the USB Thumb Drive into your computer and press the necessary key (often F12) at boot to choose to boot from USB.
  5. Follow the steps of the Install Guide (many choices can be changed after install, so no stress)
  6. You should now be staring at a Desktop environment, and you'll likely be advised that updates are required. You can follow the suggested prompts to update, or you can ignore, as updating is the next step in this guide.
Initial Setup, Post-Install

Pop!_OS Specific

(Note: This option is only available if you have setup your BIOS to use EFI/UEFI. If you forgot to do that, this is a chance to consider changing that BIOS setting and quickly reinstalling Pop!_OS to have a more full-featured experience)

  1. Open Settings > OS Upgrade & Recovery
  2. Under "OS Recovery", you should see "Recovery partition update is available"
  3. Click "Update" to install the update on your recovery partition (note: it will download 3-4GiB)

Common for both Pop!_OS and Xubuntu

Open a Terminal
Press the "SUPER-KEY" (Windows Key / Command Key) to bring up the application launcher
Type "Terminal" and Launch a Terminal
All of the following commands are entered into the Terminal

Update software repositories

sudo apt update

Install packages that have been upgraded since the LTS release

sudo apt upgrade -y

Remove any packages that are no longer needed

sudo apt autoremove -y

Reboot for good measure

sudo reboot

Confirm all pacakges were installed correctly. Should result in "All packages are up to date."

sudo apt update

Install ClamAV, a basic anti-virus

sudo apt install clamav clamav-daemon clamtk-gnome

Install ufw firewall (and its gui)

sudo apt install ufw gufw

To be Continued...