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.
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:
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:
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:
Clear thumbnail cache:
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:
Edit the config file:
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:
Remove 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.
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.
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:
OpenRGB
On my desktop, I use OpenRGB to control the LED lights of my keyboard and mouse:
Add the OpenRGB repository:
Check the repositories for available packages: Install OpenRGB:Set a colorprofile in 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:
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:
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.
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:
And then reboot:
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.