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
3. Download GNOME extensions
Go to https://extensions.gnome.org/ and download the following extensions for GNOME version identified in the step 2
4. Extract extension zip files and rename directories
Go to the download directory and extract extension zip files
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
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
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
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
Open Tweaks and go to Appearance. You should be able to select the themes for Applications, Cursor, Icons and Shell
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