Fresh Ubuntu / Pop!_OS Installation

Anh-Thi Dinh
The basic steps I often do every time I install a new Ubuntu system. The order of things is important.
☝️
Most of commands are for both Ubuntu and Pop!_OS, there are some which are only for Pop!_OS.
👇
For Pop!_OS: You don't need to do everything in below steps.
  1. Download Ubuntu ISO. If you like a MacOS-like version, you can choose Elementary OS.
  1. Using Rufus (on Windows) or Etcher (on any system, recommended) or popsicle (usb flasher, on Pop!_OS) to create a bootable USB driver.
  1. [Pop!_OS] Download Pop!_OS (with NVIDIA)
    1. (Update 05 Jun 2021 - IMPORTANT) If you're using DisplayLink Dock (more than 1 external screens, Pop!_OS doesn't work with the DisplayLink Driver 5.4 but it works for Ubuntu 20.04). So, you have no choice to use Ubuntu instead of Pop!_OS!!!! Read more.
    2. Choose a custom partition while installing > use at least 2 partitions for the installing (1 which is main for Root / and one which is ~500MB for Boot /boot/etc)
  1. Update & Upgrade
    1. 1sudo apt update & sudo apt upgrade
  1. Download and install Google Chrome. 👈 I use Brave
    1. Sign in to Google Account + sync all extensions + settings.
    2. Disable Tab hover information: Go to chrome://flags/ and search "tab hover" then choose "Disable".
    3. Install also these extensions:
      1. mate translate, google dictionary, TabCloud, raindrop, last pass, AVIM, adblock, GNOME Shell integration.
      2. Google Aut alternative on Chrome: use this.
  1. Install Guake Terminal (drop-down terminal supporting tabs). We install it first because we working mainly on terminal.
    1. 1sudo apt-get install guake
      2# then add it to startup applications
      3#
      4# load preferences
      5guake --restore-preferences ~/Downloads/guake_prefs
      Note that: read Terminal + ZSH to install a good font and use zsh for terminal.
  1. Install GNOME Tweaks from App Store.
  1. Install Dash to panel extension and use this config for pop and this for ubuntu.
  1. Install git 👈 Check more in Github.
    1. 1sudo add-apt-repository ppa:git-core/ppa
      2sudo apt update
      3sudo apt install git
      After that,
      1# Tell who you are
      2git config --global user.name "Thi"
      3git config --global user.email "me@dinhanhthi.com"
      1# Create a new ssh
      2# Windows + Linux
      3ssh-keygen -t rsa -b 4096 -C "me@dinhanhthi.com"
      4# (-C for adding comment only)
      5# Enter a file:
      6# Linux: /home/thi/.ssh/id_rsa
      7# Windows: C:\Users\dinha\.ssh\id_rsa
      8# Enter password
      9
      10cat /home/thi/.ssh/id_rsa.pub
      11# copy the public key
      12# then go to: <https://github.com/settings/keys> to add this key
      And then clone the repositories.
  1. Using rEFInd 👈 Just install and then restart to see the result!
    1. 1sudo apt-add-repository ppa:rodsmith/refind
      2sudo apt-get update
      3sudo apt-get install refind
      In case you wanna hide some options in the boot manager with rEFInd, you can use - button to hide it.
  1. Make Alt-Tab show windows instead of applications: change in Settings > Keyboards > Custom keyboards > Switch windows. Gnome: install this one to switch between windows on current screen only.
  1. [Optional] Make emojis showing up
    1. 1sudo apt install fonts-noto-color-emoji
      After that (make browser recognize more icons), create a new file
      1~/.config/fontconfig/conf.d/01-emoji.conf
  1. Cannot use f keys on keyboard Keychron K8 (this is useful too):
    1. 1echo 0 | sudo tee /sys/module/hid_apple/parameters/fnmode
      2# restore
      3echo 1 | sudo tee /sys/module/hid_apple/parameters/fnmode
      Hint: You can add this command to a script on startup.
  1. [Ubuntu only] Auto install drivers
    1. 1sudo ubuntu-drivers autoinstall
      In case you wanna switch between Intel (more power efficient) and NVDIA driver (more powerful)
      1sudo prime-select intel
      2sudo prime-select nvidia
  1. [Ubuntu only] Check the NVDIA driver and install the newest version: check in Additional Drivers. In case you wanna remove it and reinstall it later, use
    1. 1sudo apt purge nvidia-*
  1. [Ubuntu only] Install GNOME Shell extensions
    1. 1sudo apt install gnome-shell-extensions
      Install also chrome extension. Go to the corresponding extension link and turn it on and install it.
  1. Install video codecs,
    1. 1sudo apt install ubuntu-restricted-extras
  1. [Pop!_OS] Install snap: sudo apt update && sudo apt install snapd.
  1. Install email client Mailsrping with snap: sudo snap install mailspring.
    1. 1# Copy icon
      2sudo cp /var/lib/snapd/desktop/applications/mailspring_mailspring.desktop /usr/share/applications/
  1. Install GoldenDict (app store) and dictionaries.
  1. Visual Studio Code and its basic extensions: Bracket Pair Colorizer, Docker, Linux Themes for VS Code, Markdown All in One, Markdown Shortcuts, Remote Development, Python, Auto Close Tags
    1. Also add below settings to setting json file (Ctrl + Shift + P and search "Preferences: Open Settings (JSON)", it's in ~/.config/Code/User)
  1. Install Git Client as Gitkraken. Log in with Github account and clone all working repositories.
  1. Turn off Gnome Shell Activities Animations (click on window taskbar to toggle max/min),
    1. 1gsettings set org.gnome.desktop.interface enable-animations true # enable
      2gsettings set org.gnome.desktop.interface enable-animations false # disable
  1. IBUS Bamboo, Vietnamese Input Method. Need to restart Ibus and choose Bamboo in the keyboard layout. You can use also Shift + ~ for changing the options (Removing the underline, for example) -- You have to switch to Vietnamese Input before using this shortcut. Use Super + Space to change between input methods.
  1. [Optional] You may need to install Python before install (successfully) Overgrive.
  1. Google Drive client for Ubuntu: OverGrive (5$ for each account). An alternative to Vgrive.
    1. 1# startup commandline for overgrive
      2python3 /opt/thefanclub/overgrive/overgrive
  1. LaTeX
    1. 1sudo apt-get install texlive-full # 5GB
      2sudo apt-get install texmaker
  1. If you install Matlab, you can install matlab-support to add matlab icon to applications. Note that, if matlab exe file is at /usr/local/MATLAB/R2017b/bin/matlab, we add the location of folder as /usr/local/MATLAB/R2017b/.
  1. Use super + E to open Nautilus File Manager: change in Keyboard shortcut > Custom Shortcut with command nautilus.
  1. Default text editor gedit, you can use this command in terminal.
  1. Gnome Calendar in app store.
  1. Screen Recorder, use Kazam (app store). If cannot recognize mic and speaker, read this solution. An alternative is SimpleScreenRecorder.
  1. VLC (app store). If there is a problem of displaying video (there is only sound without video), check this.
  1. Read SD card
    1. 1sudo apt-get install exfat-utils exfat-fuse
  1. If you wanna make nautilus default again:
    1. 1xdg-mime default nautilus.desktop inode/directory application/x-gnome-saved-search
      2gsettings set org.gnome.desktop.background show-desktop-icons true
  1. If you wanna make some web app a desktop app, use nativefier.
  1. Bluetooth problem on Dell XPS 15 only: cannot turn on bluetooth ⇒ Try turn off and turn on again the bluetooth in BIOS setting.
  1. Useful shortcuts:
      • Capture fullscreen: Ctrl+Alt+Print (photos will be saved in Pictures)
      • Show desktop: set in Keyboards settings, try to find "Hide all normal windows".
  1. [Only Ubuntu] Connect Airpod to Ubuntu 20.04:
    1. 1# check bluetooth service is running
      2hciconfig -a
      3#
      4# open a file
      5sudo nano /etc/bluetooth/main.conf
      6#
      7# add
      8ControllerMode = bredr
      9#
      10# restart bluetooth service
      11sudo /etc/init.d/bluetooth restart
      12#
      13# disconnect other headphone device
      14# press and hold backward button in the airpod case (flash light)
      15# connect to airpod as other device via bluetooth
  1. Location of .desktop files,
    1. 1~/.local/share/applications/
      2/usr/share/applications/
      3/var/lib/snapd/desktop/applications/
      4# or
      5locate *.desktop # bash
      6locate \*.desktop # zsh
  1. [Optional]Xbox controller bluetooth connection: check this.
  1. Remove icon from dash application
    1. 1sudo add-apt-repository ppa:caldas-lopes/ppa
      2sudo apt-get update
      3sudo apt-get install ezame
  1. Restore dconf setting:
    1. 1dconf load / < dconf-settings.ini
      2# or
      3cat dconf-settings.ini | dconf load /
  1. Restore custom keyboard shortcuts
    1. 1# load
      2dconf load /org/gnome/desktop/wm/keybindings/ < keybindings.dconf
      3dconf load /org/gnome/settings-daemon/plugins/media-keys/ < keybindings.dconf
  1. [Optional] Disable touchpad automatically when plugging mouse:
    1. 1sudo add-apt-repository ppa:atareao/atareao
      2sudo apt update
      3sudo apt install touchpad-indicator
      4# then open > click on icon > preferences
      5# > action tab > "Disable touchpad when mouse plugged"
  1. Other applicatons:
    1. Skype
    2. Extreme Download Manager (uninstall by running as root /opt/xdman/uninstall.sh)
    3. AO (MS to do for Ubuntu): snap install ao
    4. Shotwell or gThumb (image viewer + quick editor, install on Store)
    5. KolourPaint (photo editor supports cut and move a selection like Paint on Windows, install from AppStore)
    6. Cheese (camera app)
    7. Drawing
    8. Stacer (optimizer system like Advanced System Care)
    9. Google Music. This one: Youtube Music Desktop (install with snap) -- Remove the coincisive keys with the system's.
    10. Authenticator
    11. alacarte (Main Menu, can be found in App Store): change/add icon in launcher.
  1. Swap function keyboards on Logitech K380, using this tool (try all keyboard hidraws if you are not sure!).
  1. Force Unity Dash to index all files on Home: sudo updatedb (install by sudo apt-get install mlocate)
  1. [Only Ubuntu] There are 2 ubuntu softwares in dash? (ref this question). "Ubuntu software" is pre-installed snap store (run by snap-store), the other is gnome-software.
  1. Backup before installing a new system.
      • Settings in ~/.config/ or ~/.<software-name>
      • All apps in ~/apps/ with their desktop files in ~/.local/share/applications/
  1. Pop!_OS Tips:
    1. Super + Y: toggle tiling mode.
    2. Add a windows/applition exepton of tiling mode (it won't be counted)
    3. Make clocks + dates 2 lines -> tutorial.
        • Using %H:%M%n%d/%m/%Y in text to display instead of the clock (with the spaces so that they are center aligned).