Magesh Ravi

Magesh Ravi

Artist | Techie | Entrepreneur

Why I switched from GNOME to XFCE

Gnome is a great desktop environment. No doubts. The easy-to-use keyboard shortcuts, dynamic workspaces and ALT-TAB for application switching (instead of window switching) are some of the few things I absolutely love about GNOME. But, recently I had to let go of it and find an alternative DE.

Before listing the difficulties I had with gnome, a bit of background info about my system and my typical usage. I use a Lenovo ideapad laptop with 8GB RAM and 1TB Sata Drive plugged into 2 full HD monitors. I extensively use VisualStudio code, have a handful of firefox/chrome tabs open most of the time in various workspaces. I have no plans of upgrading to an SSD hard disk or adding more memory anytime soon.

Degrading performance

Recently, my system started slowing down and turning unresponsive from time to time. It appeared to be random at first, but then I started noticing a pattern.

  1. No speed or responsiveness issues immediately after I log in or boot up.
  2. System usually slows down after I have been coding for a few hours straight i.e., lots of tabs in VS code/firefox/chrome open, a few other electron apps running and frequent switching between different workspaces.
  3. Closing tabs and/or applications helped. But at times, even after I closed almost all the applications, the system was not back to startup speeds.
  4. Rebooting fixed the responsiveness everytime.

In short, GNOME went from fast & smooth to slow & unresponsive as I do more work.

After figuring out the pattern, I started monitoring my RAM usage and here is what I found.

  1. GNOME consumed ~1.2GB of RAM on startup. Yes, that's quite a lot.
  2. gnome-shell behaved like a black hole for memory. It started with ~300MB, then gradually increased to ~490MB with more activity. Even after I closed ALL the applications, the RAM usage declined slightly, but never came back to the 300MB range.

In short, play as much as you want while the fun lasts. Once the sluggishness kicks in, it will stay until you reboot.

Searching online for solutions, I found the now famous GNOME memory leak. Though the bug is now fixed, there is heavy criticism about the fix itself.

Alternatives

Convinced that my DE shouldn't start with 15% of available memory (1.2GB of 8GB), I set out to find an alternative with lower memory footprint.

Here are the typical RAM usage of various distributions based on the latest Ubuntu 18.04 LTS release,

DistroRAM usage
Ubuntu (GNOME)1300 MiB
Ubuntu Minimal1200 MiB
Budgie865 MiB
Budgie Minimal710 MiB
Mate596 MiB
Mate Minimal578 MiB
Xubuntu515 MiB
Kubuntu462 MiB
Lubuntu262 MiB

Reference: YouTube

Kubuntu

I decided to try Kubuntu, Xubuntu and Mate in a virtual machine with 2GB RAM. I didn't quite like Lubuntu's interface (from the screenshots), so didn't even try it.

I liked Kubuntu briefly. Loved the global menu bar (I miss them). But, within half hour of playing around, I felt the interface was not smooth all the time.

The latest version of VisualStudio Code felt buggy in KDE. The buttons in dialog boxes didn't have proper focus states when used with keyboard. This was specific to KDE as I could see the focus states in XFCE.

In another instance, I opened a new file and quit the application without saving the file. When I started the application again and attempted to save the file, I saw an error "Cannot save file:///Unknown-1". This behaviour however, is not reproducible always.

Mate

Mate felt more responsive than KDE. But the design wasn't that great. I had Mate and Xubuntu running side by side most of the time and I liked Xubuntu better.

Xubuntu

Xubuntu felt a lot more cleaner and fresh in comparison with Mate. I ended up running the VM for a few days before I actually made the switch. There were a few downsides in comparison to GNOME, yet it is definitely worth the switch.

The Good

  1. Lower memory usage on startup.
  2. Drop-down mode in XFCE4-terminal. No need to install guake/yakuake.

The Bad (can be tweaked to become good)

  1. Pressing Ctrl + Esc to open the menu is not as comfortable as Super key. Remapping this to Super key only has side effects. For example, pressing Super + F to open file browser opened the menu as well. Remapping to Super + Space feels better.
  2. Super + Up arrow did not maximise the window. Instead, resized to fit the top half of the screen. Had to press Alt + Space and then select unmaximise from the menu.
  3. Moving windows across workspaces is less intuitive. Keboard shortcut for navigating between workspaces is using Ctrl + Alt + Left/Right arrow keys, whereas moving windows across workspaces is using Ctrl + Alt + Home/End keys. This can be remapped to Ctrl + Alt + Shift + Left/Right (as in GNOME).
  4. No dynamic workspaces. But the keyboard shortcuts Alt + Insert and Alt + Delete come in handy.

The Ugly (have to live with it)

  1. Cannot move windows to another monitor with a keyboard shortcut.
  2. Cannot set Alt + Tab to switch between applications rather than windows. For example, let's say I have 2 firefox windows and 2 file explorer windows open. Application switcher will display 2 options - one for firefox and one for file explorer. Whereas window switcher will display 4 options - one for each window.

I have been using Xubuntu as my main OS at home for more than a week now and it has been great so far.

Last updated: Nov. 5, 2023, 6:28 p.m.