Customize Ubuntu 20.04

I have been programming for more than two decades now. In my programming journey so far, I have used Windows OS, MacOS and Linux OS. All of these operating systems have advantages and limitations. However, I found Linux to be the most programmer friendly. I am certain that there are other developers who would argue in favor of Windows or MacOS. This post is not about proving that Linux is the best but it is about helping other developers set up their own machine with Linux if they prefer to explore Linux. This post particularly describes the steps to customize Ubuntu 20.04

Prerequisites

  • A machine or Virtual Machine with Ubuntu 20.04 GNOME desktop
  • Basic understanding of Linux operating system

GNOME vs XFCE vs KDE plasma

If you have worked with any Linux operating system, it was most likely either one of these desktops. I have used all three; MX Linux with XFCE, Kali Linux with KDE plasma and Ubuntu with GNOME. XFCE is considered very lightweight and efficient but it is visually less appealing. KDE is considered graphically very rich and has many visually appealing desktop themes. However, KDE plasma has few stability issues. I experienced some of the stability issues while using Kali Linux with KDE plasma desktop environment. In my opinion, GNOME desktop is stable and also visually appealing when customized as per your need. The steps provided here will help you to customize Ubuntu 20.04 with GNOME desktop

1. Install packages to customize desktop

Open a terminal window and install gnome-tweak-tool and dconf-editor

sudo apt install gnome-tweak-tool dconf-editor

2. Identify GNOME version on your machine

Go to settings -> About and note GNOME version for the next steps

GNOME version

3. Download GNOME extensions

Go to https://extensions.gnome.org/ and download the following extensions for GNOME version identified in the step 2

customize Ubuntu 20.04: fully transparent top bar extension
customize Ubuntu 20.04: fully transparent window moving extension
customize Ubuntu 20.04: user themes extension

4. Extract extension zip files and rename directories

Go to the download directory and extract extension zip files

downloaded extension folder

Open each folder and open metadata.json file. Copy uuid value for the respective folder and rename the folder name with that value. The following example shows extension folder fully-transparent-top-baraunetx.v10.shell-extension and its uuid value that is used to update folder name

metadata json file with UUID
Renamed extension folders

5. Copy extension folders to GNOME shell extensions

Go to home directory and ensure that hidden files are shown. Go to .local -> share -> gnome-shell -> extensions and paste the extension folders created in step 4

6. Remove desktop icons and enable installed extensions

Open Tweaks and go to extensions. Disable Desktop Icons and enable Smart transparent topbar, Transparent window moving & User themes extensions. Select settings for Transparent window moving and set the following values

transparent window moving settings

7. Customize the dock

Open dconf editor, search for dash and select dash-to-dock extension. This will show the list of settings to customize as per your preference. The following screen shots show the most common settings customized for the dock

dconf editor: background opacity
change the existing value of 0.699… to 0.299
dconf editor: icon size and fixed flag
dconf editor: extended height flag

8. Customize the desktop theme, icons and cursors

Go to www.gnome-look.org, search for a theme and download the compressed file. Extract the file and copy the theme folder from it to the .themes folder under home directory. If .themes folder does not exist, create it and then copy the extracted theme

Similarly, search for icons and cursors theme on www.gnome-look.org, download the files. Extract the files and copy the theme folder from it to the .icons folder under home directory. If .icons folder does not exist, create it and then copy the extracted icons and cursors folders

themes folder to copy custom themes
Copy theme folder, e.g. Qogir from compressed theme file, to .themes folder in the home directory
icons folder to copy custom icons and cursors
Copy Icon and cursor theme folders, e.g. Qogir & Qogir-cursors from the respective compressed file, to .icons folder

Open Tweaks and go to Appearance. You should be able to select the themes for Applications, Cursor, Icons and Shell

Custom theme with Tweaks

Qogir is my preferred theme, the links are included below,

  • Applications & Shell theme: https://www.gnome-look.org/p/1230631/
  • Icons theme: https://www.gnome-look.org/p/1296407
  • Cursor theme: https://www.gnome-look.org/p/1366182/

9. Download a custom image and set it up as a wallpaper

Download any high resolution image that you want to use as a desktop background. Go to .local folder in your home directory and copy the image to share -> backgrounds. Open background settings on your machine and select the image as your desktop wallpaper. The website www.gnome-look.org has collection of high resolution background images

The list of customization here can be extended to further install more extensions, user themes, background images and much more. I usually setup application shortcuts, other custom shortcuts and also customize bash to include aliases