Enable ESM in Ubuntu 20.04 LTS to Continue Getting Updates

2 weeks 1 day ago

Time is nearly up on support for Ubuntu 20.04 LTS, with standard software, bug fix and security updates coming to an end on May 29, 2025. Users on Ubuntu 20.04 LTS should consider upgrading to Ubuntu 22.04 LTS (or newer) if possible, but if unable should enable Extended Support Maintenance (ESM) as soon as possible in order to continue receiving critical security patches. ESM for Ubuntu provides “10 years of vulnerability management for critical, high and selected medium [security issues] for all software packages shipped with Ubuntu.” Enabling ESM is a bit of a no-brainer since it’s free for regular […]

You're reading Enable ESM in Ubuntu 20.04 LTS to Continue Getting Updates, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

Debugging and Profiling Linux Applications with GDB and strace

2 weeks 1 day ago
by George Whittaker

Debugging and profiling are critical skills in a developer's toolbox, especially when working with low-level system applications. Whether you're tracking down a segmentation fault in a C program or understanding why a daemon fails silently, mastering tools like GDB (GNU Debugger) and strace can dramatically improve your efficiency and understanding of program behavior.

In this guide, we’ll dive deep into these two powerful tools, exploring how they work, how to use them effectively, and how they complement each other in diagnosing and resolving complex issues.

The Essence of Debugging and Profiling What is Debugging?

Debugging is the systematic process of identifying, isolating, and fixing bugs—errors or unexpected behaviors in your code. It’s an integral part of development that ensures software quality and stability. While high-level languages may offer interactive debuggers, compiled languages like C and C++ often require robust tools like GDB for line-by-line inspection.

What is Profiling?

Profiling, on the other hand, is about performance analysis. It helps you understand where your application spends time, which functions are called frequently, and how system resources are being utilized. While GDB can aid in debugging, strace provides a view of how a program interacts with the operating system, making it ideal for performance tuning and root cause analysis of runtime issues.

Getting Hands-On with GDB What is GDB?

GDB is the standard debugger for GNU systems. It allows you to inspect the internal state of a program while it’s running or after it crashes. With GDB, you can set breakpoints, step through code, inspect variables, view call stacks, and even modify program execution flow.

Preparing Your Program

To make your program debuggable with GDB, compile it with debug symbols using the -g flag:

gcc -g -o myapp myapp.c

This embeds symbol information like function names, variable types, and line numbers, which are essential for meaningful debugging.

Basic GDB Commands

Here are some fundamental commands you'll use frequently:

gdb ./myapp # Start GDB with your program run # Start the program inside GDB break main # Set a breakpoint at the 'main' function break filename:line# Break at specific line next # Step over a function step # Step into a function continue # Resume program execution print varname # Inspect the value of a variable backtrace # Show the current function call stack quit # Exit GDB

Go to Full Article
George Whittaker

Ghostty DEB Installers Now Available for Ubuntu 25.04

2 weeks 2 days ago

Ghostty terminal fans needn’t fear an upgrade to Ubuntu’s latest release, as a community packaging effort just added Ghostty DEB packages for Ubuntu 25.04. The Ghostty Ubuntu project was set up was the aim of providing “Ubuntu/Debian (.deb) packages for Ghostty” so users on supported Linux distributions, including Ubuntu-based distros like Linux Mint and ZorinOS, can download, install and use the app properly. To date, there’s no official snap or Flatpak version of Ghostty available, and although compiling it from source isn’t hard, it’s more hassle than most are willing to go through to try a new app — yes, […]

You're reading Ghostty DEB Installers Now Available for Ubuntu 25.04, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

Parallels Desktop 20.3 Brings Linux VM Fixes to Mac Users

2 weeks 4 days ago

The fourth major release in the Parallels Desktop 20 series has been released, bringing a stack of fixes for running Windows, macOS and Linux virtual machines on macOS. Yes, I did say macOS. I know; at first blush it seems odd for an Ubuntu blog to cover macOS app updates. But, Parallels is virtualisation software. It lets macOS users run Windows, macOS and Linux distributions as virtual machines so they can …Do whatever it is they need to. Scores of developers rely on Linux virtual machines in their day-to-day work since they aren’t able to run Linux on ‘bare metal’ […]

You're reading Parallels Desktop 20.3 Brings Linux VM Fixes to Mac Users, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

11 Things to Do After Installing Ubuntu 25.04

2 weeks 5 days ago

The Ubuntu 25.04 release is packed full of fresh features, updated apps and other upgrades that deliver a practical, pleasing out-of-the-box experience. —Perhaps not a perfect one, though. I just installed Ubuntu 25.04 on my “couch potato” laptop and there were a few “things” I had to do to make the experience better — albeit better for me! I didn’t do anything drastic: I didn’t remove Snap, uninstall GNOME Shell, or decamp to a 100% Libre Linux kernel and expunge proprietary drivers. Part post-install tasks and todos, part future-proof plumbing to setup a few things ahead of time so I […]

You're reading 11 Things to Do After Installing Ubuntu 25.04, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

How to Upgrade to Ubuntu 25.04 ‘Plucky Puffin’

2 weeks 6 days ago

Do you currently run Ubuntu 24.10 on your computer but want to upgrade to the new Ubuntu 25.04 release to benefit from its (many) changes? As long as you’re full up-to-date and have a working internet connection, you can upgrade to Ubuntu 25.04 directly – no need to do download an ISO, flash it to a USB stick and do a clean install. And upgrading soon is a good idea. Ubuntu 24.10 supports ends in July, and those using it after that date will need to upgrade to Ubuntu 25.04 to continue receiving security updates. Those left cold by the churn of upgrading every […]

You're reading How to Upgrade to Ubuntu 25.04 ‘Plucky Puffin’, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

Debian Package Management: Aptitude vs. Apt-Get in Ubuntu

2 weeks 6 days ago
by George Whittaker

Package management is at the heart of every Linux system. It’s what makes installing, updating, and managing software on Linux-based distributions not just possible but streamlined and elegant. For users of Debian and its popular derivative Ubuntu, two powerful tools often stand at the center of debate: apt-get and aptitude. Though both are capable of managing packages effectively, they have unique characteristics that make them better suited to different use cases.

This article provides a comparison of apt-get and aptitude, helping you understand their roles, differences, and when to use one over the other.

Understanding the Debian Package Management Ecosystem

Before diving into the specifics, it's helpful to understand the ecosystem in which both tools operate.

What is a Package Manager?

A package manager is software that automates the process of installing, upgrading, configuring, and removing software packages from a computer. In Debian-based systems, packages are distributed in .deb format.

The APT System

APT, or Advanced Package Tool, is the foundation of package management in Debian-based systems. It works with core components such as:

  • dpkg – the base tool that installs and manages .deb files

  • apt-get / apt – command-line front-ends for retrieving and managing packages from repositories

  • apt-cache – used for searching and querying package information

  • aptitude – a higher-level package manager that interacts with APT and dpkg under the hood

What is apt-get? A Brief History

apt-get has been a trusted part of Debian since the late 1990s. It was designed to provide a consistent command-line interface to the APT system and has been widely used in scripts and system automation.

Core Features
  • Handles package installation, upgrade, and removal

  • Fetches and resolves dependencies automatically

  • Interacts directly with APT repositories

Common Commands

Here are some frequently used apt-get commands:

Go to Full Article
George Whittaker

Ubuntu 25.04 Release Now Available for Download

3 weeks ago

Pull the party poppers and unpack the cake as today is Ubuntu release day — and Ubuntu 25.04 ‘Plucky Puffin’ is now available to download. Ubuntu 25.04 is arguably the most polished & performant release to date! The latest short-term release of the world’s best-known desktop Linux operating system, Ubuntu 25.04 receives ongoing support until January 2026 — not long, but Ubuntu 25.10 is out in October, with direct upgrades available from this version. Over the past six months Ubuntu engineers, developers and community contributors have baked plenty of improvements into this release — arguably the most polished & performant […]

You're reading Ubuntu 25.04 Release Now Available for Download, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

VirtualBox 7.1.8 Adds Support for Linux Kernel 6.14

3 weeks 1 day ago

Ubuntu 25.04 is out this week and many will be turning to virtual machine to test, trial or tie the release into their development workflows — perfect timing for a new version of VirtualBox, then! Oracle today (April 15) issued the fourth maintenance update in the current VirtualBox 7.1 series. No new features were added but a flurry of bug fixes, stability boosts and integration buffs are present, which users across all supported OSes will benefit from. For Linux users frustrated at flakey wireless network adapter detection in earlier releases, the 7.1.8 update fixes the issue. Similarly, anyone ticked off […]

You're reading VirtualBox 7.1.8 Adds Support for Linux Kernel 6.14, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

Ubuntu 25.10 is Officially Named ‘Questing Quokka’

3 weeks 3 days ago

Drum roll your desks to help build some suspense because the Ubuntu 25.10 codename has been confirmed as …’Questing Quokka’. —Oh wait; I put in the headline so you already knew! As expected, the new Ubuntu codename keeps to convention, following on in alphabetical order—the previous release begins (it’s not out yet) with a ‘P’—and using a cute adjective and animal combo. Now, Canonical had teased the supposed new codename of Ubuntu 25.10 a few weeks back when it tweeted (or whatever the equivalent term is called on X) “Quizzical Quokka”. Except, it did that on April 1, aka April […]

You're reading Ubuntu 25.10 is Officially Named ‘Questing Quokka’, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

Rnote 0.12 Released with Improved Linux Note-Taking Features

3 weeks 3 days ago

A major new release of Rnote, an open-source app for taking handwritten notes, sketching out ideas and annotating documents and pictures, is out. Rnote 0.12 brings several new features, new customisation and configuration options, user experience buffs, bug fixes, and other lower-level tune-ups. For those unfamiliar with it, Rnote is a digital note-taking app built using GTK4 and Rust. It’s primarily intended to be used with stylus input (so includes pen pressure, stroke styles, button actions, etc) but supports typed text entry, shapes, importing images, etc too. Rnote offers a range of document layouts, from fixed pages to infinite canvases, […]

You're reading Rnote 0.12 Released with Improved Linux Note-Taking Features, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

Pinta 3.0 Released With New Effects and GTK4 Port

3 weeks 5 days ago

Indulging your casual creativity (read: making memes, defacing selfies, etc) using open-source tools is made easier with the long-awaited release of Pinta 3.0. Pinta, as long-time Linux users will be aware, is a cross-platform raster graphics tool with a feature set and user-interface partly inspired by popular Windows image editing tool Paint.NET. I previewed the Pinta 3.0 beta back in January and came away impressed. Pinta port to GTK4/libadwaita lends the UI a much-needed modern look – and is more than superficial: usability, performance and stability is bolstered by the toolkit bump. Pinta 3.0 switches to a button-based header bar […]

You're reading Pinta 3.0 Released With New Effects and GTK4 Port, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

Ubuntu Unity vs. GNOME: Choosing the Right Ubuntu Experience for Your Workflow

3 weeks 6 days ago
by George Whittaker

Ubuntu is one of the most popular Linux distributions, renowned for its ease of use, extensive community support, and frequent updates. While the core of Ubuntu remains consistent, the desktop environment—what users interact with visually—can vary. Two prominent options for Ubuntu users are Unity and GNOME. Each offers a distinct experience with unique design philosophies, features, and workflows.

Whether you're a seasoned Linux user or a curious newcomer, understanding the differences between Unity and GNOME can help you tailor your Ubuntu setup to better suit your needs. This article explores both environments to help you make an informed choice.

A Tale of Two Desktops: History and Evolution Unity: Canonical's Custom Vision

Unity was first introduced by Canonical in 2010 with the release of Ubuntu 10.10 Netbook Edition. It was developed to create a consistent user experience across desktop and mobile devices, long before convergence became a buzzword.

Unity became Ubuntu’s default desktop starting with Ubuntu 11.04. Its vertical launcher, global menu, and Dash search aimed to improve efficiency and streamline user interaction. However, despite its innovation, Unity had its critics. Performance issues on lower-end hardware and resistance to change from GNOME users caused friction in the community.

In 2017, Canonical made the unexpected decision to abandon Unity development and return to GNOME, starting with Ubuntu 17.10. But Unity didn’t disappear—it was adopted by the open source community and lives on in the form of Ubuntu Unity, an official Ubuntu flavor.

GNOME: The Linux Standard

GNOME is one of the oldest and most respected desktop environments in the Linux ecosystem. Launched in 1999, it focuses on simplicity, accessibility, and ease of use. The release of GNOME 3 in 2011 marked a major redesign, introducing GNOME Shell, which departed from the traditional desktop metaphor in favor of a more modern and minimal interface.

GNOME became the default Ubuntu desktop again in 2017 and has since seen continuous refinement. With support from major distributions like Fedora, Debian, and Ubuntu, GNOME enjoys a broad user base and robust development activity.

Interface Design and User Experience Unity: Efficiency Meets Innovation

Unity's interface is distinct and immediately recognizable. Here are some key components:

  • Launcher (Dock): Positioned vertically on the left side, the Launcher holds pinned and running applications. It’s space-efficient and easily navigated via mouse or keyboard.

Go to Full Article
George Whittaker

Linux Mint Expands Regex File Search in Nemo

4 weeks ago

Finding the exact files you want in the Nemo file manager will soon be easier and faster. Linux Mint is bringing ‘enhanced’ search functionality to the next major version of its GTK-based Nemo file manager (which is likely to see release the same time as Cinnamon 6.5 and ship out-of-the-box in Linux Mint 22.2 in the summer). The new filters allow you search, sift and surface files using regular expressions (often abbreviated to simply ‘regex’) queried against filenames. While regex searching is already included in Nemo it doesn’t work on file names, only file contents. The next version of Nemo adds […]

You're reading Linux Mint Expands Regex File Search in Nemo, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

The Power of Linux Shell Environment Variables

4 weeks 1 day ago
by George Whittaker

If you're working in a Linux environment, chances are you've encountered environment variables—even if you didn’t realize it at the time. They quietly power much of what goes on behind the scenes in your shell sessions, influencing everything from what shell prompt you see to which programs are available when you type a command. Whether you're an experienced sysadmin or a new Linux user, mastering environment variables is essential for customizing and controlling your shell experience.

In this guide, we'll take a dive into environment variables in the Linux shell. By the end, you'll not only know how to view and set these variables, but also how to persist them, use them in scripts, and troubleshoot issues effectively.

What Are Environment Variables?

At a basic level, environment variables are dynamic named values that affect the behavior of running processes on your Linux system. Think of them as configuration settings that your shell (like Bash or Zsh) and applications refer to in order to understand how they should operate.

For example:

  • The PATH variable tells the shell where to look for executable files.

  • The HOME variable stores the path to your home directory.

  • The LANG variable defines your system’s language and character encoding.

Environment Variables vs Shell Variables

There is an important distinction between shell variables and environment variables:

  • Shell variables are local to the shell session in which they are defined.

  • Environment variables are shell variables that have been exported, meaning they are inherited by child processes spawned from the shell.

Viewing Environment Variables

Before you can modify or use environment variables, it's important to know how to inspect them.

View All Environment Variables

printenv

or

env

Both commands list environment variables currently set for the session.

View a Specific Variable

echo $HOME

This will display the current user's home directory.

View All Shell Variables

set

This command displays all shell variables and functions. It's broader than printenv.

Setting and Exporting Environment Variables

You can define your own variables or temporarily change existing ones within your shell.

Go to Full Article
George Whittaker

Try Firefox’s Experimental Link Previews with AI Summary

1 month ago

Hate having to read an article and use your brain to understand what it’s about? Would you rather read what an AI says it (hopefully) says instead? If so, Mozilla has your back. Saltiness aside, current nightly builds of Firefox include an experimental link preview feature that shows an AI-generated summary of what the linked page is (purportedly) about, so you can check before you visit it, saving you time, a click, or the need to use critical thinking. Firefox generates its AI summaries locally, on device – great for privacy but not for speed No data about you or […]

You're reading Try Firefox’s Experimental Link Previews with AI Summary, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

Celluloid 0.28 Adds Lua Module Support, Refreshes UI

1 month ago

Open-source video player Celluloid premiered a new release this weekend with user-interface improvements, support for Lua models and more. Celluloid is a popular GTK front-end to MPV, the (incredibly) configurable cross-platform, command-line based media player, and makes many of MPV’s more advanced features a touch easier for users to find, try and benefit from. In Celluloid 0.28 its developers have focused on improving the UI. Player controls see refinement in both regular mode, full-screen mode and if ‘floating’ controls are enabled for windowed mode – fewer buttons are shown by default: As you can see above (and below), the player […]

You're reading Celluloid 0.28 Adds Lua Module Support, Refreshes UI, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

Tauon Music Player Adds Slick Transparency Mode for Linux

1 month ago

A new version of Tauon music player is out, gifting fans of the powerful and unique-looking audio app a raft of new features to play with – including some Linux exclusive eye candy! Tauon 8.0 has been fully ported to SDL3, an efficient cross-platform and open-source multimedia library that provides a robust API for interacting with hardware (like audio devices). Tauon mention that the port provides better stability and scope for adding interesting new capabilities. Features-wise, Tauon 8.0 adds an options menu to the stop button so let users define stop behaviour (including an ‘always’ setting, e.g., ‘always stop after […]

You're reading Tauon Music Player Adds Slick Transparency Mode for Linux, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

Inkscape 1.4.1 Brings Snap App Fixes, New Features

1 month ago

Digital artists, designers and vector illustrators among you may be be interested to know that an updated version of open source graphics app Inkscape is (sort of) out. Inkscape 1.4.1 builds on the giant set of features last year’s release of Inkscape 1.4 brought with it with a number of worthwhile enhancements and bug fixes, plus two new features. When opening Inkscape a new splash screen is shown during loading (it can be disabled) to let users (especially those on older/slower devices) know something is happening since they clicked or tapped on Inkscape icon to open it: The welcome dialog which […]

You're reading Inkscape 1.4.1 Brings Snap App Fixes, New Features, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

Git on Linux: A Beginner’s Guide to Version Control and Project Management

1 month ago
by George Whittaker

Version control is a fundamental tool in modern software development, enabling teams and individuals to track, manage, and collaborate on projects with confidence. Whether you're working on a simple script or a large-scale application, keeping track of changes, collaborating with others, and rolling back to previous versions are essential aspects of development. Among various version control systems, Git has emerged as the most widely used and trusted tool — especially on Linux, where it integrates seamlessly with the system's workflow.

This guide will walk you through the basics of Git on Linux, explaining what Git is, how to install it, and how to start using it to manage your projects efficiently. Whether you're a new developer or transitioning from another system, this comprehensive introduction will help you get started with Git the right way.

What Is Git and Why Use It?

Git is a distributed version control system (DVCS) originally created by Linus Torvalds in 2005 to support the development of the Linux kernel. It allows developers to keep track of every change made to their source code, collaborate with other developers, and manage different versions of their projects over time.

Key Features of Git:
  • Distributed Architecture: Every user has a full copy of the repository, including its history. This means you can work offline and still have full version control capabilities.

  • Speed and Efficiency: Git is optimized for performance, handling large repositories and files with ease.

  • Branching and Merging: Git makes it easy to create and manage branches, allowing for efficient parallel development and experimentation.

  • Integrity and Security: Every change is checksummed and stored securely using SHA-1 hashing, ensuring that your project’s history cannot be tampered with.

Compared to older systems like Subversion (SVN) or CVS, Git offers far greater flexibility and is better suited to both small personal projects and large collaborative efforts.

Installing Git on Linux

Installing Git on Linux is straightforward thanks to package managers available in every major distribution.

For Ubuntu/Debian-based Systems:

sudo apt update sudo apt install git

For Fedora:

sudo dnf install git

For Arch Linux:

sudo pacman -S git

After installation, verify it with:

git --version

Go to Full Article
George Whittaker