My Linux journey started with Ubuntu as a test operating system. I played around with hypervisors to get any Linux or alternative OS working. Back then, it wasn't about learning it but simply discovering what a Windows alternative looks like. Slowly, it became a part of my college curriculum, and I used it on both college and personal computers. But today's Ubuntu is wildly different from what I tried 11 years ago. Its design, feature set, and overall package try to appeal to a bigger audience.

But despite all these enhancements, it became a pain for me to use. Shifting strategies, forced bloatware, missing features, and customization make it a difficult choice by today's standards. Let's discuss why I finally gave up on it after spending more than ten years.

Hardware demands ignore basic systems

Ubuntu isn't a low-spec distro anymore

Ubuntu could run with 500MB of memory when I started using it. As Ubuntu matured, it ditched Unity desktop and reintroduced GNOME, which is popular now. System requirements gradually increase as operating systems add more tools, UI improvements, and I support this stance.

But Linux is an alternative to Windows, and Ubuntu is likely the next best thing for users ditching Windows 11. I started questioning the approach when Ubuntu 24.04 LTS Desktop’s baseline requirements shot up to 4GB minimum memory. Being on par with the system requirements of a mainstream OS isn't a good thing when Ubuntu's pitch is to be a better alternative. Ubuntu's next release, version 26, plans to set 6GB of memory as the baseline requirement, and that's baffling. The company later tried to clarify that it was merely a suggestion and not a hard rule, as browsers and apps need more memory now.

8 Questions · Test Your Knowledge

How well do you know Ubuntu commands?
Trivia challenge

From navigating directories to managing packages — prove you know your way around the Ubuntu terminal.

TerminalLinuxCommandsFile SystemPackages
01 / 8Navigation

Which command prints the full path of your current working directory in Ubuntu?

Correct! The 'pwd' command stands for 'print working directory' and displays the absolute path of the folder you are currently in. It is one of the most fundamental navigation commands in any Linux terminal.
Not quite. The correct answer is 'pwd', which stands for 'print working directory'. Commands like 'cwd' and 'path' do not exist as standard Linux commands, and 'dir' is more commonly associated with Windows CMD.
02 / 8File System

What does the command 'ls -la' do in Ubuntu?

Correct! The '-l' flag enables long format listing, showing permissions, ownership, and timestamps, while '-a' includes hidden files (those starting with a dot). Combining them gives you a comprehensive view of everything in a directory.
Not quite. The correct answer is that 'ls -la' lists all files including hidden ones in long format. The '-l' flag means long format and '-a' means all files, including dotfiles. It does not lock files or sort exclusively by access time.
03 / 8Packages

Which command would you use to install a new package called 'curl' using Ubuntu's default package manager?

Correct! 'sudo apt install curl' is the standard way to install packages on Ubuntu using the APT package manager. The 'sudo' prefix grants administrative privileges required for system-wide installations.
Not quite. The correct command is 'sudo apt install curl'. Ubuntu uses APT as its package manager, and the correct syntax is 'apt install' followed by the package name. 'pkg install' is used on systems like FreeBSD, not Ubuntu.
04 / 8Permissions

What does 'chmod 755 script.sh' do to the file 'script.sh'?

Correct! In octal notation, 7 means read+write+execute for the owner, while 5 means read+execute for the group and others. This is a common permission set for executable scripts that others should be able to run but not modify.
Not quite. The correct answer is that chmod 755 gives the owner full permissions (read, write, execute) and gives the group and others read and execute permissions. Octal 7 = rwx, and octal 5 = r-x. There is no encryption involved.
05 / 8Processes

Which command displays a real-time, dynamic view of running processes and system resource usage in Ubuntu?

Correct! The 'top' command provides a live, updating view of running processes, CPU usage, memory consumption, and more. Many users also use the enhanced alternative 'htop', which offers a more colorful and interactive interface.
Not quite. While 'ps aux' shows a snapshot of running processes, it is not real-time. The correct answer is 'top', which continuously refreshes its output. 'jobs' only shows background jobs in the current shell session, and 'proc' is not a standard command.
06 / 8File System

What is the correct command to create a new directory called 'projects' inside your home directory?

Correct! 'mkdir' stands for 'make directory' and is the standard command for creating new folders in Linux. The '~/' prefix is a shortcut that refers to your home directory, making this command work regardless of where you currently are in the file system.
Not quite. The correct command is 'mkdir ~/projects'. The 'touch' command creates empty files, not directories, while 'create' and 'newdir' are not valid Linux commands. Always use 'mkdir' when you need to create a new folder.
07 / 8Networking

Which Ubuntu command would you use to display your machine's current IP address and network interface information?

Correct! 'ip addr' (or its shorthand 'ip a') is the modern Linux command for displaying network interface information including IP addresses. It replaced the older 'ifconfig' command, which is no longer installed by default on many Ubuntu versions.
Not quite. The correct answer is 'ip addr'. The command 'ipconfig' is a Windows-only command and does not work on Linux. While 'ifconfig' used to be common on Ubuntu, it has been deprecated in favor of the 'ip' command suite. 'showip' is not a standard command.
08 / 8Terminal

What does the 'sudo !! ' command do in Ubuntu's terminal?

Correct! '!!' is a shell history shortcut that refers to the last executed command. Prepending 'sudo' to it effectively re-runs that command with administrative privileges. It is incredibly handy when you forget to type 'sudo' before a command that requires it.
Not quite. The correct answer is that 'sudo !!' re-runs the previous command with superuser privileges. The '!!' notation is a Bash history expansion that expands to the last command you ran. It saves you from retyping long commands when you simply forgot to add 'sudo' upfront.
Challenge Complete

Your Score

/ 8

Thanks for playing!

The current trend of surging hardware requirements indicates that it's no longer an OS for weak or entry-level computers. Ubuntu becomes a difficult option even if I want to use it in a virtual machine. I have a machine dedicated to Ubuntu 24.04 LTS, and that doesn't work as smoothly as you expect with 4GB memory allocation. There's a slight delay in every action, and when I tried it on my thirteen-year-old laptop, the HDD and dual-core processor combo turned out very weak for it.

So, it’s moving to a modern OS format that doesn’t align with the needs of most of my system. I might give it a try on a capable system, or have to switch to a non-desktop environment option like the Ubuntu server.

👁 Visual Studio on Ubuntu
6 ways modern Linux distros are less infuriating

Thinking about trying Linux? Here's why it's less complicated and annoying than before.

Bloatware ruins the experience

Snap and other default packages are to blame

Ubuntu tries to be a complete package, and that’s becoming a problem. It now bundles tools, apps, background services, and extra utilities that serve very little use for me. I don’t need a ton of extra apps, and even if I go the minimal option route, there are too many things included in the OS packaging that consume extra storage space.

Snap is also one of the major reasons why the OS needs more storage than usual. Even if you use the apt package manager to install software, Ubuntu forces the Snap version in most cases, instead of apt. It’s becoming a norm for most popular applications listed on the Snap store or the default app store on Ubuntu.

But how is it bad? Well, Snap packages an app into a complete unit, which means every file that it needs to run on a Linux system is present inside the package. It's broadly similar to how Docker containers work, where every file that a container needs is isolated from other containers.

Using Snap packages ensures that the app can run on most systems without hiccups. But because of this distinct approach, the storage, CPU, and memory requirements increase by a noticeable margin. App launches feel significantly slower than the Debian packages, and the storage demands increase. Even if dependencies are similar, one Snap package cannot reference another one or the Linux system.

Debian packages share dependencies, which promotes lower storage use, but can often fail to install or work if those packages are missing. Lambasting Snap isn’t my intention, but I crave the freedom of picking the package type. I don’t want Snap to become the default for every app that I need.

The GNOME desktop has problems

Skips many useful features

Reintroducing GNOME in Ubuntu brought some necessary changes, a design overhaul that made it look like a polished system. But if I want to use Ubuntu as a daily driver, and it has the same hardware demands as Windows 11, I expect rich customization elements and features out of the box.

Sadly, GNOME is more of a vanilla experience than other desktop environments like KDE. I can’t stand it when I need to hunt for extensions for simple changes like better tiling support or adding a categorization feature to the app launcher. Extensions forcibly modify shell behavior and have a hard time when GNOME updates. Conflicts arise, and that breaks the workflows until the developers patch their extensions to work with the latest GNOME edition.

The minimalist design philosophy makes little sense when I need to hunt for extensions for very basic elements. It’s possible to switch to another DE, but that’s more of a workaround rather than a native experience.

Better options exist

Ubuntu’s main draw is that it’s popular, receives updates, and is more stable, all of which are the key aspects of a modern Linux distro. But it’s difficult for me to avoid its glaring shortcomings. I’ve moved to MX Linux as it offers multiple desktop editions, including an edition for low-spec computers. It runs a small-scale server with ease while offering a bare-bones window manager to interact with the system. For one of my main machines, I use the KDE edition due to its rich customization support and sensible design.

A mainstream Linux distro based on Debian with a minimalist interface and long-term stability.