12th April 2017, updated:10th May 2020

My own setup for Ubuntu

These are the steps I normally use to setup a Ubuntu desktop distribution, currently up to Focal Fossa (20.04). For previous Ubuntu distributions, see this previous version.

This setup only defines the initial installations and basic system configuration, not all the programs that I eventually install.

Installation

  • Choose minimal installation, without games, etc. Select the checkboxes to download updates during the installation and to install 3rd party software.
  • Install basic applications from the command line:
    sudo apt install -y gnome-tweaks git make dconf-editor guake vim curl exfat-utils exfat-fuse
  • Install sensors applications, from the command line:
    sudo apt install -y lm-sensors psensor
    sudo sensors-detect
    /etc/init.d/kmod start
  • Install additional applications from the command line: JDK, virtualbox, mono:
    sudo apt install virtualbox default-jdk mono-runtime
    sudo apt install virtualbox-ext-pack
  • Install applications using the Ubuntu Software Center:
    • Authy
    • Gimp
    • Intellij Idea Ultimate
    • KeePassXC (snap version)
    • LibreOffice
    • Slack
    • Thunderbird
    • VLC
  • Install applications using their own installers / instructions:

Nvidia

I keep using either Intel embedded GPUs or Nvidia cards. For the computers with Nvidia cards, I find myself sometimes in a 640x480 resolution. This normally requires re-installing the nvidia driver (which I normally install instead of the nouveau driver). The reinstallation can be done:

  • Opening the "Additional Drivers" application, going to "Additional Drivers" and selecting the preferred option (difficult to see in a 640x480 resolution).
  • In a terminal window, issuing: sudo apt-get install nvidia-driver-460 (or whichever is the current version)

Configuration

  • Regional format:I live in Luxembourg, but want to use standard English formats. I found that the best choice is to select English (Ireland) as regional format. Press the Super Key and enter in the search textbox 'Language support', then go to the Regional Formats tab in the application and choose English (Ireland), then apply system-wide. This step will require a logout / login.
  • Desktop configuration: open Tweaks application
    • Extensions - desktop icons: set to off, and press the configuration button: hide personal folder and trash
    • Workspaces: Disable dynamic workspaces, enable 4 static workspaces
    • Keyboard and Mouse:
      • Overview Shortcut: Right Super. The original, Left Super, I use it better for switching workspaces, as it is done on Mac
      • Additional layout options:
        • Miscellaneous compatibility options: Numeric Keypad always enter digits
        • Caps lock behaviour: Caps lock is disabled (not the Disable option)
  • Disable usage of Super + Numpad as dock favourites shortcut: open dconf-editor application:
    • Navigate to org / gnome / shell / extensions / dash-to-dock, scroll down and find out line says hot-keys, and turn it off.
    • Navigate to org / gnome / shell / keybindings, remove switch-to-application 1...4: Use default value: off, custom value: [''].
  • Disable edges tiling (windows snapping / resizing when brought to the edges):
    • gsettings set org.gnome.mutter edge-tiling false
    • gsettings set org.gnome.shell.overrides edge-tiling false
  • Open settings application.
    • Appearance: Dock : Autohide
    • Search : Only enable files and calculator
    • Power : Power Button Action : Suspend
    • Power: Power saving: 4 minutes
    • Privacy / Screen Lock / Blank screen delay: 4 minutes
    • Privacy / Screen Lock / Automatic Screen lock delay: 30 minutes
    • Keyboard shorcuts
      • Home folder: Windows E
      • Switch to next input source : Disable (backspace). Otherwise,it uses Super + Space
      • Switch to workspace 1: Super + 1
      • Switch to workspace 2: Super + 2
      • Switch to workspace 3: Super + 3
      • Switch to workspace 4: Super + 4
      • Move window to workspace 1: Shift + Super + 1
      • Move window to workspace 2: Shift + Super + 2
      • Move window to workspace 3: Shift + Super + 3
      • Move window to workspace 4: Shift + Super + 4
      Note that Super + S allows a workspace view
  • Cleanup dock: remove any applications not required, like Ubuntu software, help, etc, and add any new ones
  • Configure Nautilus
    • Remove from Nautilus entries to Documents, Music, Pictures, Videos and Desktop: Open the file ~/.config/user-dirs.dirs, and modify all entries that should not appear. For example, to have only a DOWNLOAD folder, this file should have the following content (note that XDG_DESKTOP_DIR keeps its original value):
      XDG_DOWNLOAD_DIR="$HOME/Downloads"
      XDG_DESKTOP_DIR="$HOME/Desktop"
      XDG_TEMPLATES_DIR="$HOME/"
      XDG_PUBLICSHARE_DIR="$HOME/"
      XDG_DOCUMENTS_DIR="$HOME/"
      XDG_MUSIC_DIR="$HOME/"
      XDG_PICTURES_DIR="$HOME/"
      XDG_VIDEOS_DIR="$HOME/"
    • Show files as list in nautilus, in small size:
      gsettings set org.gnome.nautilus.preferences default-folder-viewer list-view
      gsettings set org.gnome.nautilus.list-view default-zoom-level small
    • It is needed to reset nautilus:
      killall nautilus
    • Now, when Nautilus is open again, there will be entries for Documents, Music, etc, but right clicking on them shows the Remove option
  • Start guake at login: Open Startup Applications (use launcher), press add, enter Guake as name, and /usr/bin/guake as command
  • On a Mac keyboard, avoid having to press Fn to key F1 to F12:
        sudo -s
        echo options hid_apple fnmode=2 > /etc/modprobe.d/hid_apple.conf
        update-initramfs -u
  • Hide top bar in Gnome desktop: open a terminal, and enter:
    mkdir -p ~/.local/share/gnome-shell/extensions/
    cd ~/.local/share/gnome-shell/extensions/
    git clone https://github.com/mlutfy/hidetopbar.git hidetopbar@mathieu.bidon.ca
    cd hidetopbar@mathieu.bidon.ca
    make schemas
    cd ..
    gnome-extensions enable hidetopbar@mathieu.bidon.ca
    

Browsers configuration

  • Block notifications across the browsers, and maximize privacy:
    • Brave:
      • Settings:
        • Sync: activate it across devices, syncing bookmarks, extensions, settings and theme
        • Shields: Trackers & ads blocking: aggressive
        • Social media blocking: disable Facebook, Linkedin
        • Additional settings: autofill: passwords: do not offer to save passwords
      • Extensions: include uBlocker (Adblock tool for Chrome)
      • settings / Additional settings / Privacy and security / Site and Shield settings / Notifications: set off Sites can ask to send notifications
    • Chrome: enable synchronization using account.
      • Settings:
        • autofill / passwords: do not offer to save passwords
        • security / safe browsing: standard protection
        • privacy and security / Site Settings / Notifications: Don't allow sites to send notifications
    • Firefox: enable synchronization with firefox login.
      • Enable bookmarks: mouse right-click at the right of the URL bar, select Bookmark toolbar, click on Always Show
      • Settings / Privacy and security:
        • Enhanced tracking protection: Strict
        • Logins and passwords: uncheck Ask to save logins and passwords for websites
        • Permissions: Notifications: set the checkbox Block new requests asking to allow notifications, then save the changes
    • Opera:
      • Advanced settings: Privacy protection
        • Block ads
        • Block trackers
      • enter the URL: opera://settings/content/notifications , then set Sites can ask to send notifications off
    • Vivaldi:
      • Webpages, notifications: block

SSH settings

Basically, follow these instructions

ssh-keygen -t rsa -b 4096

Then copy the public id in the ~/.ssh/authorized_keys files of the reachable hosts.

I use different keys for other services, like git. To generate any additional key with a comment

ssh-keygen -t rsa -b 4096 -f hg_id_rsa -C coderazzi@summer-git,hg

Finally, reboot the system for all configuration changes to take place.