Ubuntu has a “Folder Color” package in system repository, allows to change the color and add emblem for individual folder. However, it’s only available for Ubuntu LTS, and uses the old default ‘Humanity’ icon theme, which looks very outdated.
To fix the issue, a free open-source yaru-colors-folder-color project was created to work along with system default ‘Folder Color‘, so to have folder icon in different colors while keep using default Yaru theme.
The project is discontinued, due to switch to the new “Folder Color” project, which works out-of-the-box with Yaru colors integration. And, not only for Ubuntu LTS, but also supports all current short-term releases, such as Ubuntu 24.04.
With it, user can right-click on any folder, to get the menu to change folder color to ‘Blue’, ‘Brown’, ‘Green’, ‘Grey’, ‘Pink’, ‘Purple’, ‘Red’, and ‘Yellow’. As well as adding emblem such as ‘Important’, ‘In Progress’, ‘Favorite’, ‘Finished’, and ‘New’.
After changing color or adding emblem, the folder will also have a ‘Default‘ option in that menu, to restore to default.
Hugin, the free open-source panorama photo stitching and HDR merging software, rolled out the Beta release of 2023 version few weeks ago.
This Beta so far does not have any release note for changes. But only the changelog according to the changes.txt file in source tarball:
PTBatcherGUI can now also queue user defined assistant and user defined output sequences.
PTBatcherGUI: Added option to generate panorama sequences from an existing pto template.
Assistant: Added option to select different output options like projection, FOV or canvas size depending on different variables (e.g. image count, field of view, lens type).
Allow building with epoxy instead of GLEW for OpenGL pointer management.
Several improvements to crop tool (outside crop, aspect ratio, …).
Install Hugin 2023 Beta in Ubuntu:
NOTE 1: This is so far a Beta release for testing purpose!
For those who want to try out the new features, I’ve uploaded the package into this unofficial PPA for Ubuntu 18.04, Ubuntu 20.04, Ubuntu 22.04, Ubuntu 23.04, and Ubuntu 23.10 on both X86_64 and Arm64/hf CPUs.
1. First, press Ctrl+Alt+T key combination on keyboard to open terminal. When it opens, run command to add the PPA:
Type user password when it asks (no asterisk feedback) and hit Enter to continue.
2. Ubuntu 18.04, and some Ubuntu based systems may need to manually refresh package cache after adding PPA, though it’s done automatically sine Ubuntu 20.04.
To do so, just run command:
sudo apt update
3. Finally, install the Beta release of Hugin by running command:
sudo apt install hugin
Uninstall:
To downgrade the stock version of Hugin in your system repository, simply open terminal and run command to purge the PPA:
This simple tutorial shows how to make Qt-based applications automatically change their theme to be light or dark, according to system color style in Ubuntu 22.04.
Ubuntu has global option to change system color scheme to light or dark since 22.04. However, Qt apps (e.g., VirtualBox, qBittorrent, keepassxc) always stick to their own color style, except for the title-bar.
To make Qt applications fit into GNOME environment as well as possible, Fedora Linux is working on some projects to do the job.
NOTE: Ubuntu 23.04 and Ubuntu 23.10 users can directly run the last apt install command without adding PPA.
After installation, the new theme package should be automatically taken use for your Qt (qt5) apps. Some Qt apps use their own theme options, you have to open their ‘Preferences’ or ‘Settings’ dialog to switch to default or system theme.
If NOT, open ‘Files’ and press Ctrl+H to view hidden files. Then, click editing the ‘.profile‘ file and adding the new line below in the end:
export QT_QPA_PLATFORMTHEME='gnome'
Finally, log out and back in to apply change.
Uninstall:
You can remove the Ubuntu PPA after installation, since it will no longer receive updates. To do so, open terminal and run command:
Your apps do NOT have window border and shadow in Ubuntu 24.04? Here are the quick workarounds for the applications based on Qt UI toolkit.
In Linux Desktop, applications are built with different UI toolkit. While, GNOME, Cinnamon, and XFCE use GTK3/4, KDE and LxQt use Qt for their applications.
Ubuntu by default uses GNOME as default desktop environment, but user may also use Qt applications, such as qbittorrent, ksnip screenshot tool, kdenlive video editor, and more.
Since Ubuntu 23.10, the Qt applications are looking weird. They have very thin border without shadow, that look kinda borderless. This is an upstream issue that also happen in Debian 12 bookworm.
Qt apps in Ubuntu 23.10
If you have similar issue, then this tutorial is going to show you how to fix (workaround) it by 2 ways:
xcb QPA plugin – for Qt apps run against X11.
QGnomePlatform Theme – Qt app inclusion in GNOME, but lack Qt6 support in Ubuntu so far.
NOTE: You can do both ‘Option 1’ and ‘Option 2’ in Ubuntu. They seem not conflicting with each other.
Option 1: Set xcb QPA environment
If most of your Qt apps are running against X11, then this option is a good choice.
1. First, press Ctrl+Alt+T to open up a terminal window. When it opens, run command to install the required libraries:
sudo apt install libxcb-cursor0 libxcb-composite0
Then, you can try to launch a Qt app, qBittorrent from example, from command line with xcb plugin to see if it works:
export QT_QPA_PLATFORM=xcb && qBittorrent
2. If it works, then open “Files“, press Ctrl+H to show hidden files/folders.
Then find out the .profile file, right-click on it and select “Open With Text Editor”.
3. When the file opens, scroll down and add the new line below in the end:
export QT_QPA_PLATFORM=xcb
After saving the file, log out and back in. Then, try launching your Qt applications to see the result.
Tips: without log out and back in, you may press Ctrl+Alt+T to open terminal. Then run command export QT_QPA_PLATFORM=xcb to set the environment for this terminal window. Finally, launch Qt app from this terminal.
Option 2: Use QGnomePlatform Theme
Fedora Linux has QGnomePlatform project to allow Qt applications to fit into the GNOME environment as well as possible, though it’s no longer maintained due to switch to QAdwaitaDecorations.
The theme works great, and even let your Qt apps automatically switch between light and dark mode according to desktop color style.
Ubuntu 23.04 and Ubuntu 23.10 include the package in system repository, sadly for Qt5 apps only!
1. First, press Ctrl+Alt+T on keyboard to open terminal. When terminal opens, run command to install the theme package:
sudo apt install qgnomeplatform-qt5
Ubuntu 24.10 user can also install the qgnomeplatform-qt6 package for Qt6 apps support!
2. Next, also open “Files”, press Ctrl+H to view hidden files. Then, edit the ‘.profile‘ file and add new line in the end:
export QT_QPA_PLATFORMTHEME='gnome'
Finally, log out and back in to apply change.
After doing both ‘Option 1’ and ‘Option 2’, all my Qt applications have native window borders, though the Qt6-based qBittorrent is still not fitting well in GNOME.
Qt apps in Ubuntu 23.10 after this tutorial
Run Qt app against Wayland
After doing ‘Option 1’, your Qt applications will run against X11.
If you do need to run app against Wayland, then either launch the app from terminal. For example, launch kdenlive using wayland:
env QT_QPA_PLATFORM=wayland kdenlive
Tips: some apps may be running silently in the background. You need to close it first before running the similar command above.
Or, edit the app shortcut file (usually under /usr/share/appliations), and set the environment by changing the value of ‘Exec’.
For example, edit the app shortcut for Kdenlive, to make it run against wayland:
This simple tutorial shows how to fix broken pip installer after installing Python 3.12 from Deadsnakes PPA in Ubuntu 22.04 and Ubuntu 20.04.
Due to removal of long deprecated pkgutil.ImpImporter class, pip command may not work for Python 3.12 in your Linux with old setuptools. It either just does not work or outputs following error, when installing anything via pip install:
ERROR: Exception:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 165, in exc_logging_wrapper
status = run_func(*args)
^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 205, in wrapper
return func(self, options, args)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/pip/_internal/commands/install.py", line 285, in run
session = self.get_default_session(options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 75, in get_default_session
self._session = self.enter_context(self._build_session(options))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 89, in _build_session
session = PipSession(
^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/pip/_internal/network/session.py", line 282, in __init__
self.headers["User-Agent"] = user_agent()
^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/pip/_internal/network/session.py", line 157, in user_agent
setuptools_dist = get_default_environment().get_distribution("setuptools")
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/pip/_internal/metadata/__init__.py", line 24, in get_default_environment
from .pkg_resources import Environment
File "/usr/lib/python3/dist-packages/pip/_internal/metadata/pkg_resources.py", line 9, in
from pip._vendor import pkg_resources
File "/usr/lib/python3/dist-packages/pip/_vendor/pkg_resources/__init__.py", line 2164, in
register_finder(pkgutil.ImpImporter, find_on_path)
^^^^^^^^^^^^^^^^^^^
AttributeError: module 'pkgutil' has no attribute 'ImpImporter'. Did you mean: 'zipimporter'?
To fix the issue, you just have to manually install pip for Python 3.12. And, here’s how to do the job in 2 ways.
Method 1: Install pip via ensurepip
Python has a built-in module ensurepip, to provide support for bootstrapping the pip installer into an existing Python installation.
First, press Ctrl+Alt+T on keyboard to open terminal. When it opens, run command:
python3.12 -m ensurepip --upgrade
After that, you should be able to use the pip installer for Python 3.12 by either pip3.12 or python3.12 -m pip command.
Method 2: Install pip via get-pip.py
In case the previous method does not work for you, Pypa.io provides a script that can do the same job.
First, open terminal (Ctrl+Alt+T) and run command to download the script via wget command:
wget https://bootstrap.pypa.io/get-pip.py
Then, just run the script to download & install pip:
python3.12 get-pip.py
After installation, you may run python3.12 -m pip command to use the pip installer. To bind it to pip3.12, just run alias pip3.12="python3.12 -m pip".
New API for monitoring Python programs running on CPython at low cost.
Per-Interpreter Global Interpreter Locks
Support for the Linux perf profiler to report Python function names in traces.
New type annotation syntax for generic classes
New decorator typing.override() in the typing module.
The new Python release also removed a few deprecated modules, including smtpd and distutils. For Ubuntu 22.04, Ubuntu 20.04, it causes a broken pip. As a workaround, you need to manually install pip for Python 3.12.
How to Install Python 3.12.0 in Ubuntu:
For Ubuntu 22.04, Ubuntu 20.04, and their derivatives such as Linux Mint 21, the Deadsnakes PPA has made the packages for all supported CPU architecture types: amd64, arm64/armhf, ppc64el, and s390x.
1. First, press Ctrl+Alt+T on keyboard to open terminal. Then paste the command below and hit run to add PPA:
sudo add-apt-repository ppa:deadsnakes/ppa
Type user password (no asterisk feedback) when it asks and hit Enter to continue.
2. Ubuntu 20.04+ automatically refresh package cache while adding PPA. However, Linux Mint user may need to do this job manually by running command:
sudo apt update
3. Finally, run command to install Python 3.12:
sudo apt install python3.12
For other Ubuntu editions, you may manually compile Python 3.12 from source tarball.
This simple tutorial shows how to install GDM Settings tool to configure the Gnome Login Screen in Ubuntu 22.04 and Ubuntu 24.04 LTS.
GDM Settings, aka Login Screen Manager, is a graphical configuration tool for GNOME Login Screen. With it, user can easily configure following things for the login screen:
This simple tutorial shows how to switch CPU power mode between ‘Performance’, ‘Balanced’, and ‘Power Saver’ using Linux command in Ubuntu 22.04, Ubuntu 23.10, and Ubuntu 24.04.
GNOME has options in both ‘Settings’ and top-right system status menu to change CPU frequency by switching between ‘Performance’, ‘Balanced’, and ‘Power Saver’.
It’s useful for saving battery life while being able to get better performance when gaming or doing heavy work.
For users who want to bind the options to keyboard shortcuts, or make the function into script or even application, here’s the single command to switch the power mode.
Single command to change Power Mode in Ubuntu
NOTE: This tutorial is only tested in Ubuntu (GNOME ONLY) with Intel CPU, though it should also work in Fedora workstation and Debian 12 with GNOME desktop.
The power mode setting option is handled by the power-profiles-daemon. It has a command line tool powerprofilesctl to check current and switch power profile.
To switch power mode to ‘power-saver’ for example, just press Ctrl+Alt+T on keyboard to open terminal and run command:
powerprofilesctl set power-saver
In command, replace power-saver with balanced or performance as you want.
After making change, verify by running command:
powerprofilesctl
In the output, the one with an asterisk ‘*’ in the beginning is the power profile currently in use.
For those who want to do the job through D-Bus interface, run the single command below instead:
Also, change power-saver in command with balanced or performance as need.
View CPU Speed / frequency in Real Time
As mentioned, you can verify CPU power mode by simply running powerprofilesctl command.
For choice, you may also see CPU frequency (aka clock speed) in real-time by running command in terminal:
watch -n 1 "grep \"^[c]pu MHz\" /proc/cpuinfo"
It will show you the speed for all CPU cores, and update every 1 second. As you want, you may replace number 1 in seconds (e.g., 2 for 2 s, or 0.5 for 500 ms).
Auto-cpufreq, automatic CPU speed & power optimizer, now is at version 2.0.0 release!
This is a popular free open-source tool that monitors Linux laptop’s battery state, CPU usage, temperature and system load. And, automatically switches CPU profile between “power saving” and “performance mode” according to whether power supply is plugged. It also automatically turn on/off CPU turbo boost according to system load.
By releasing 2.0.0 version, it has a graphical GTK3 user interface, making the things easy for beginners! As well, it now has Nix Flake and better NixOS support
Auto-cpufreq graphical interface.
How to Install Auto-CpuFreq in Ubuntu Linux
NOTE 1: In Ubuntu with default GNOME desktop, there’s already an extension can do similar job. So, you may only need this on Ubuntu flavors such as XUbuntu, Ubuntu MATE, KUbuntu, etc.
NOTE 2: Ubuntu Software (or App Center) includes auto-cpurfreq package, though it’s Snap package that so far does not support GUI, due to sandbox permission issue.
NOTE 3: Installing auto-cpufreq in GNOME Desktop will disable the default power profile daemon.
1. First, download the source code (ZIP or Tar.gz) from github releases page:
2. After downloading the source, open your “Downloads” folder and extract the tarball. Then, right-click on extracted folder and select “Open in Terminal“.
3. In pop-up terminal window, run command to start the official installer, and answer “i” to start installing the tool.
sudo ./auto-cpufreq-installer
It will automatically install auto-cpufreq as well as download and installing all required dependencies on your system. If everything goes OK, you’ll be able to launch it from applications menu or ‘Activities’ overview.
And, first launch will prompt to click install and run the daemon. Just click ‘Install’ and re-launch the tool. Finally, you should be able to see the main UI like the top screenshot shows you.
Then, just leave it there to automatically change power profile depends on power state and CPU load. Or, you can manually switch to Power-save or Performance as you need.
Uninstall Auto-CPUFreq
To remove the tool, simply re-run the previous steps, but answer ‘r‘ while running the installer script in terminal window.
This simple tutorial shows how to install the latest Whisker Menu, the main menu for launching apps, in XUbuntu 22.04, Linux Lite 6.6, and Linux Mint 21 XFCE Edition.
The default main menu (aka applications menu, or start menu) in Debian and Ubuntu with XFCE Desktop is Whisker Menu. It’s a free and open-source project being developed by gottcode.org.
XUbuntu 22.04 includes Whisker Menu 2.7.1, while the latest version has now reached v2.8.0. For users who want to try out new features and receive bug-fixes, here’s how to install it step by step.
What’s New in Whisker Menu 2.8.0
For multiple monitors, you may have more than one instances of the menu in panel. In the case, the default Super shortcut key always open the menu in primary monitor.
To trigger the Whisker Menu in other monitors, user can bind xfce4-popup-whiskermenu -i ID-number to a keyboard shortcut. To get the ID-number, open ‘Panel Preferences -> Items’ and move mouse over the Whisker Menu applet to see the tooltip. It’s NOT the PID, but seems to be applet sequence number.
Also for keyboard users, the new release can trigger the menu in screen center by binding xfce4-popup-whiskermenu -c to a shortcut key.
The appearance settings menu has been redesigned in the release. There’s a new “Position profile on buttom” option. With it, user can put the user figure, Settings, Logout buttons in either top or bottom of the menu.
There’s also a “downside” in the release. User can no longer drag menu border to resize it. Instead, there are new “Menu width” and “Menu height” setting options to resize the menu. For more about the new release changes, see its official page.
Install Whisker Menu 2.8.0 via its Official PPA
The software developer has an official PPA contains the latest Whisker Menu packages for Ubuntu 22.04, Ubuntu 23.04, Ubuntu 23.10, and their derivatives.
(X)Ubuntu, Linux Mint XFCE Edition, and Linux Lite users can follow the steps below one by one to install it:
1. First, press Ctrl+Alt+T on keyboard to open up a terminal window. When terminal opens, run command to add the PPA:
sudo add-apt-repository ppa:gottcode/gcppa
Type user password (no visual feedback) when it asks and hit Enter to continue.
2. Then, Linux Mint users need to manually refresh the system package cache, by running command:
sudo apt update
3. Finally, install the latest version of Whisker Menu by running command:
sudo apt install xfce4-whiskermenu-plugin
After installing the package, log out and back in. Then, right click on the menu and go to ‘About‘ to verify its version!
For Debian 12 with XFCE Desktop, user can download and install the .deb package directly from the PPA packages page.
How to Uninstall
To restore the original Whisker Menu, open terminal (Ctrl+Alt+T) and run command to install ppa-purge tool:
sudo apt install ppa-purge
Then, purge the PPA which will also downgrade the menu to the original version:
sudo ppa-purge ppa:gottcode/gcppa
In case the command above failed for you, you may manually remove the PPA by running command: