Skip to content

Pop OS 22.04 Setup

Out of the box, Pop OS comes ready to run. However, I run a few additional extras that complete my expirience.

Once I complete the initial setup prompts and have connected to WiFi, the customization can begin!

Run Updates

Of course, it's always important to make sure everything is up to date to begin with.

Update APT

The following command runs a string of shell commands that call on apt which is Pop OS's default package manager.

sudo -- sh -c 'apt update; apt dist-upgrade -y; apt autoremove -y; apt autoclean -y'
Here's a breakdown of what these commands do:

Update

Queries the repositories and gets a current list of all available packages, updating the local repository of available packages.

Dist-Upgrade

Performs the actual updates, comparing the currently installed versions to the local repository of available packages that was updated by the 'update' command. If a newer version of a program exists, it will download and install the newer version.

Autoremove

Removes any packages that were installed as dependencies for other programs and are no longer needed. So, for example, you install package X and it requires Y, installing X will install Y. If you later uninstall X, autoremove will see that Y is no longer used and uninstall it.

Autoclean

Removes packages that can no longer be downloaded from the local repository of available packages.

Update Flatpak

Flatpak comes with Pop and is the application manager for flatpaks. Flatpacks are system agnostic software that run in a sandboxed environment. They include all dependencies for each application with the flatpak so there is no need to install multiple applications to support a single application.

You can read more about flatpaks here.

Flatpaks can be updated by running the following command:

flatpak update

Rename Computer

This changes the name of the computer to whatever you want it to be. Just replace [hostname] with whatever you want to name the computer:

sudo hostnamectl set-hostname [hostname]

Thumbnail Previews

By default, Pop OS's file manager "Files" will not show media previews for files viewed from a device on a network (i.e. while navigating a SMB share). Gstreamer will make this possible.

Install gstreamer library:

sudo apt install gstreamer1.0-libav -y

Clear thumbnail cache:

rm -r ~/.cache/thumbnails/fail

Auto Mounting Network Shares

I host users Documents, Music, Pictures and Videos folders on my NAS in a SMB share called "users". Inside of the users share, there is a folder for each user. This allows central access to a users files accross any machine in my network.

There is also a "public" SMB share that I mount to the Public folder that all users can see and use.

Libpam will automatically mount a network location to the specified folder when a user logs in.

Cifs-utils is a package that provides the ability to use SMB shares. By default, a Linux machine does not have an application to access Windows shares.

Note

In order for this to work as intended, the username and the password must be the same for each user between the local machine and the NAS/server hosting the SMB share and permissions set accordingly.

Install libpam-mount and cifs-utils:

sudo apt-get install libpam-mount cifs-utils -y

Edit the config file:

sudo nano /etc/security/pam_mount.conf.xml

Add the following to the end of the file, before the closing </pam_mount>:

<volume
        fstype="cifs" 
        server="192.168.0.11" 
        path="users/%(USER)/Documents" 
        mountpoint="~/Documents" 
/>

<volume
        fstype="cifs" 
        server="192.168.0.11" 
        path="users/%(USER)/Music" 
        mountpoint="~/Music" 
/>

<volume
        fstype="cifs" 
        server="192.168.0.11" 
        path="users/%(USER)/Pictures" 
        mountpoint="~/Pictures" 
/>

<volume
        fstype="cifs" 
        server="192.168.0.11" 
        path="users/%(USER)/Videos" 
        mountpoint="~/Videos" 
/>

<volume
        fstype="cifs" 
        server="192.168.0.11" 
        path="public" 
        mountpoint="~/Public" 
/>

Replace Pop-Shop with Cosmic Store

Install the Cosmic Store:

sudo apt install cosmic-store -y

Remove Pop Shop:

sudo apt remove --purge pop-shop

Install Apps From Cosmic Store

These apps I commonly use with Pop OS:

  • Firewall Configuration - a GUI to configure the machine's firewall
  • GIMP - a photo editing program
  • WPS Office - an office like program that emulates Microsoft Office
  • remmina - a remote desktop client
  • VLC - a media player

The folllowing apps are used for gaming on Linux:

  • Steam - a video game digital distribution service and storefront
  • Lutris - a game manager
  • ProtonUp-Qt - a utility to install Proton based compatability tools

Both Steam and Lutris should be installed using the "System" selection and not as flatpaks.

Remove LibreOffice

I am not a fan of LibreOffice, and instead use WPS Office as it provides a expirience that is nearly identical to using a Microsoft Office product.

sudo apt remove --purge libreoffice-\*

Media Codecs and Microsoft Fonts:

Some software cannot be distributed with the OS due to legal reasons. We can install them on their own and agree to the terms and conditions to use them. Documentation can be found here.

sudo apt install ubuntu-restricted-extras -y

Increase Timeout of GNOME Desktop

I primarily added this as GNOME would throw messages complaining that games were becoming unresponsive while launching through Steam. This increases the timeout before GNOME decides an application is taking to long to respond:

gsettings set org.gnome.mutter check-alive-timeout 10000

OpenRGB

On my desktop, I use OpenRGB to control the LED lights of my keyboard and mouse:

Add the OpenRGB repository:

sudo add-apt-repository ppa:thopiekar/openrgb
Check the repositories for available packages:

sudo apt update
Install OpenRGB:

sudo apt install openrgb -y

Set a colorprofile in OpenRGB:

openrgb
  • Set a colorprofile and save as default.

Set it to apply the color profile on login:

  • Open Startup Applications
  • Click Add
  • command: openrgb -p default.orp

The default color profile will now be loaded when logging in.

WINE

WINE Is Not an Emulator is a compatability layer that allows Windows based application to run on NIX systems. Official documentation can be found here.

Add the repositories to the list of sources for apt:

sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources

Install the stable version of WINE:

sudo apt install --install-recommends winehq-stable

Tailscale

Tailscale is a software overlay VPN that uses wireshark to connect devices together. I have a tailscale docker container on my home network, and this allows me to access everything on my local network from anywhere.

The one caviet to this is in order to mount the network shares above, I have to connect to wifi before logging in.

Instructions for installing tailscale can be found here.

There is a script that will handle the installation and all dependencies and configs for you:

sudo curl -fsSL https://tailscale.com/install.sh | sh

The following command starts and enables the tailscale service and tells it to accept the routes advertised by my docker container for my internal resources.

sudo tailscale up --accept-routes

Update and Reboot

I run the update command above to make sure that everything is up to date and purge any dependencies that are no longer needed:

sudo -- sh -c 'apt update; apt dist-upgrade -y; apt autoremove -y; apt autoclean -y'

And then reboot:

sudo reboot now

Now I'm ready to rock 'n roll!

Maintinence

Keeping things up to date is important, so I typically run the commands listed at the beginning of this page to update apt and flatpak. You can always use the Cosmic Store or Pop Shop to do this, but I find it quicker and easier to simply run these commands. The terminal will keep a history of commands you have used and using the up and down arrow keys, you can simply scroll through and use them again.