Ubuntu 16.04: Initial Setup


Note about this page
The information I provide here works for me personally, and is in no means an objective guide


Image credit: actrons (2017/1/30) of a Thinkpad X220t running Ubuntu 16.04 LTS
Ubuntu 16.04 LTS
Canonical's latest Long Term Support Release of Ubuntu, 16.04 marks a new milestone in their development, bring many new technolgies and added stability with it.

Ubuntu Post Install Script
A simple script to aid post installation for Ubuntu 16.04

Download it: You can download my script here [SHELL SCRIPT 5.5 KiB]

Ubuntu is a practical GNU/Linux distribution to use, because of it's wide spread adoption and industry support. While there are functionally cleaner and more advanced distros available, such as the bleeding edge Archlinux, because of Ubuntu's overwhelmingly large install base, generally stable and supported desktop environment and relative ease of use, it has become the de facto standard in the GNU/Linux world.

Having learned the UX sphere from the perspective of Archlinux, the lack of customization and occasional bugs and glitches found in Ubuntu can be quite annoying to deal with. Because of this, I have compiled a goto list of fixes and recommended package sources, I make use of personally. Most of these I apply immediately after a fresh Ubuntu 16.04 install, and consider it part of my mandatory initial setup of the OS.

Because no OS is shipped in a satisfactory state, additional modifications and software is always required out of the box. However, due to the openness of the GNU/Linux platform, and the many tools at one's disposal, such as a hardened package management system, this initial configuration is quite simple and not very time consuming, in comparison with the Windows 10 platform.

Possibly the most annoying feature in Ubuntu releases.

Disable Error Reporting
Because of bugs in Ubuntu's design, the system error reporter is usually thrown out of whack fairly quickly, resulting in constant pop-up messages on boot, notifying about broken features.

# Edit the apport config file at /etc/default/apport
enabled=0
# Disable apport in systemd
sudo systemctl disable apport

Disable Auto-mounting of drives
The auto-mounting performed by the nautilus file-manager is quite annoying and a possible security risk.

# To disable this feature
gsettings set org.gnome.desktop.media-handling automount false
# To enable this feature
gsettings set org.gnome.desktop.media-handling automount true

Delete the Amazon Launcher
While Ubuntu 16.04 comes shipped with related data collection disabled, the pesky Amazon Launcher still remains in Unity.

# Delete the .desktop file for amazon
sudo rm -rf /usr/share/applications/ubuntu-amazon-default.desktop

Install Kdenlive Theme Support and use Official Repo
Installing Kdenlive (NLE Video Editor) theming support requires certain KDE packages.
The alternative repositories, which ship with newer versions of kdenlive, would also be recommended.

# Using the Ubuntu 16.04 Repos:
sudo apt-get install plasma-workspace plasma-desktop kdenlive
# Using the Kdenlive Repos:
sudo add-apt-repository ppa:kdenlive/kdenlive-stable
sudo apt-get update
sudo apt-get install kdenlive plasma-workspace plasma-desktop

Installing Telegram
Telegram is not included in the official Ubuntu 16.04 repos, and I have found that all Snap packages are quite buggy and are missing proper Unity inegration. Luckily there is a repository one can use.

# Add the atareao paa and install
sudo add-apt-repository ppa:atareao/telegram
sudo apt-get update
sudo apt-get install telegram

Force apt-get to use IPv4
In certain scenarios issuing an apt-get package cache update will fail because of a broken IPv6 implementation (or any other sort of bug relating to networking). To bypass these issues, simply disable IPv6 in apt-get.

# If you only want to modify apt-get, then you can force IPv4 with:
apt-get -o Acquire::ForceIPv4=true update
# To make the setting persistent, create the file 99force-ipv4
sudo nano /etc/apt/apt.conf.d/99force-ipv4
# Put the following contents in it:
Acquire::ForceIPv4 "true";

Install Psensor
Managing temperatures and hardware utilization is very simple with Psensor. Simply install it from the included repos and configure it to your liking.

# Using the Ubuntu 16.04 Repos:
sudo apt-get install psensor

Install MPV
While mpv is included in the official Ubuntu repos, it is not updated regularly enough, resulting in incompatibilities with external services (YouTube), which are subject to rapid changes.

# MPV can be installed by simply adding their repository
sudo add-apt-repository ppa:mc3man/mpv-tests
sudo apt-get update
sudo apt-get install mpv

Install youtube-dl
While youtube-dl is included in the official Ubuntu repos, it is not updated regularly enough, resulting in incompatibilities with external services (YouTube), which are subject to rapid changes.

# Download the program using wget
sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl
# Set execution permissions
sudo chmod a+rx /usr/local/bin/youtube-dl
# To update type
sudo youtube-dl -U

Install KeePassX
KeePassX is an open source password management system, which creates encrypted databases to store your passwords. I highly suggest using a password manager, with my choice being KeePassX. It's available from the official repos, so installing it is easy.

# Using the Ubuntu 16.04 Repos:
sudo apt-get install keepassx

Install syncthing
Syncthing is a decentralized synchronization program, available on a large variety of platforms. Syncthing is not available from the official Ubuntu 16.04 repos, but can be installed by simply adding their repository.

# Add the release PGP keys:
curl -s https://syncthing.net/release-key.txt | sudo apt-key add -
# Add the "release" channel to your APT sources:
echo "deb https://apt.syncthing.net/ syncthing release" | sudo tee /etc/apt/sources.list.d/syncthing.list
# Update and install syncthing
sudo apt-get update
sudo apt-get install syncthing