Mini Workshop on Linux

Download Ubuntu ISO (while I talk and do introductions)

  • https://ubuntu.com/download/desktop
    • Windows and Macs with Intel: You can do the LTS (long term support) version
    • Macs with M-chips: You must use ARM, so version 25 works
  • There is a difference between even and odd versions of Ubuntu!
  • If Mac users want LTS, then you would have to download the server version of Ubuntu, which we will not do for this workshop, but you can try it by searching up YouTube videos

Linux is for you!

Linux is a kernel

  • Think of Linux as the engine of a car. You cannot use a car without its engine, but you also need all the other parts to make a car run.

Linux is a kernel

  • Similarly, an operating system cannot function without its kernel, but needs all the other tools and programs to work.

Linux Distributions

  • A Linux Distribution is like the car manufacturer; there are different kinds and they create a usable product.
  • How you interact with the car engine is through the entire car product.
  • Linux distributions are usable products for us to interact with the Linux kernel.

Some user friendly Linux Distributions

  • ---> Ubuntu <---
  • Linux Mint
  • Pop! OS

Ubuntu means "humanity"

  • Ubuntu... describes a set of closely related Bantu African-origin value systems that emphasize the interconnectedness of individuals with their surrounding societal and physical worlds. "Ubuntu" is sometimes translated as "I am because we are." (Wiki)

Installing a Linux Distribution, full wipe

IN GENERAL

  • Make a backup of your data (if needed)
  • Write the Linux Distribution ISO onto a USB drive, and make it a bootable USB
  • Access BIOS/UEFI settings and disable Secure Boot
  • Turn on computer into boot mode (computers all do this differently, look it up)
  • Choose to boot from the USB, which will boot up the ISO
  • Follow specific instructions for your Linux Distribution

Installing a Linux Distribution as dual boot

IN GENERAL

  • Make a backup of your data and have a recovery disk on hand
  • Write the Linux Distribution ISO onto a USB drive, and make it a bootable USB
  • Partition your hard drive! This creates unallocated space on your hard drive for the other OS
  • Access BIOS/UEFI settings and disable Secure Boot
  • Turn on computer into boot mode and install the ISO from the USB
    • Make sure to select the unallocated space for the installation
  • There should be a boot menu when you start up the computer

In both situations, follow online instructions. But most importantly, ensure you have a way to go back

Virtual Machines (VMs) are very beginner friendly!

Installing VM

Download Ubuntu ISO (back to this)

Windows Users: Create the VM

  • In YouTube, search "installing ubuntu on virtualbox"
    • "How to Install Ubuntu 25.04 on Virtual Box [2025]"
  • We'll all go through Ubuntu installation together, so once your VM setup is done, don't run it yet.

Mac Users: I'll demonstrate because every YouTube video shows installing Ubuntu as a server and we're doing "Desktop"

  • Windows Users, some of the things are similar. The overall process is:
    • Create VM
    • Load Ubuntu ISO
    • Allocate 4 GB of RAM, 64 GB of disk space

While we wait for the installation to take place (which may take a long while)

  • I'll demonstrate some things I do in Linux
    • i3wm (tiling manager)
    • ohmyz.sh (a different shell)
    • I use neovim as my text editor
    • config files

Open the terminal with (Windows) Ctrl + Alt + T, or hit the Windows/Command key and search for terminal

  • sudo apt update
  • sudo apt upgrade
  • Use these commands before installing packages (every now and then)

Basic terminal commands for navigation

  • pwd (shows the path of your current directory)
  • ls (lists what's in the directory)
  • cd (change directory)
    • cd .. (goes up to parent directory)
    • cd ~ (goes to home directory)
    • cd [path]
  • when using things like ls/cd, start typing the directory and hit TAB to autocomplete

Using the terminal is great! But sometimes you might want something visual...

  • Open Nautilus
  • Or install another file manager like Thunar
    • You can look up online if there are simple file managers for Linux! Look for installation instructions

It's still very useful to know how to navigate your system through the terminal!

  • You will often need to perform commands or have an intuitive idea of how your system is organized.
  • Learning terminal commands can help you one day write scripts

Basic terminal commands for file & directory management

  • mkdir (make directory)
  • touch (create a new, empty tile)
  • cp [file] [new location]
  • mv [file] [location or new name]
  • rm (remove)
    • rm -r to remove directories (r stands for recursive)

Basic terminal commands for viewing

  • cat (Concatenate, and it outpus the entire file to the screen)
    • sudo apt install lolcat
      • A better version of cat

Editing files with a text editor

  • vim is already installed
  • sudo apt install micro
    • Very basic text editor
  • It's possible to install other robust text editors, like VSCode

Terminal Games

https://cs.hmc.edu/~ccalingo/terminal-games.html

Terminal fun!

  • sudo apt install tree
    • Shows you a nice tree of how your directories are organized
  • sudo apt install htop
    • Shows computer processes
  • sudo apt install neofetch
    • Just a cool way to see your computer specs (although idk how this looks on VM)
  • sudo apt install tldr
    • tldr of "man". "man" stands for manual and tells you how to use a command
  • sudo apt install fzf
    • stands for "fuzzy find," which is used to find files in your entire system

Changing the "shell"

  • This is the thing that lets you interact with the "kernel"
  • The default shell is "bash"
  • We're going to change the shell!

Install ohmyzsh

  • sudo apt install zsh
  • sudo apt install curl
  • Go to ohmyz.sh in your web browser
  • Copy/paste the installation line via curl

Make ohmyzsh your default shell

  • Follow the instructions ohmyzsh tells you to do. Reboot your VM.

Why use ohmyzsh?

  • It's like upgrading your car with better features
  • ohmyzsh has a whole bunch of community plugins and themes

Change your theme

  • In the terminal, open the ohmyzsh config file
    • micro ~/.zshrc OR vim ~/.zshrc
    • Find ZSH_THEME="[name]"
  • You can set the themes to "random" or choose a specific one.
    • Their documentation has a link to their themes in github!

Config files

  • I find that many packages allow for customization. There will usually be some sort of config file

Explore plugins

  • There are built-in plugins, which you can view on ohmyz.sh website
  • There are people out there who have made plugins and will have installation instructions

If time allows, some more fun things

Summary

  • You have basic instructions for installing Linux
  • You have basic instructions for using a virtual machine
  • We learned some terminal navigation
  • We installed some cool things
  • We changed the shell to ohmyzsh
    • If you want to change back, you can look up how to do that

Speaker Notes: Prof Bang and I use Ubuntu Prof Chang uses Debian (I think) Prof Keunning uses SuSe

Speaker Notes: This Linux Distribution specifically chose this name because their values are rooted in open source ideals Now, we're going to get into the installation part

- Open up a terminal. You can do Ctrl + Alt + T - sudo literally means "superuser do" or "substitute user do." This makes it so that you have higher privileges to access things

This is the default shell for Mac!