Archives For November 30, 1999

For Ubuntu 24.04, Ubuntu 23.10, Fedora 38 and other Linux with GNOME 44 ~ 46, there’s now an extension allows to change display name of audio output devices from the top-right aggregation menu (aka Quick Settings).

By default,  the speakers and headphones in the sound output sub-menu is a bit too explicit, that are not very clear to understand. To make the menu easy to read, you may rename them to just “headphones”, “built-in speaker”, or whatever that you want.

1. To install the extension, first open Ubuntu Software, search and install “Extension Manager”:

Install Extension Manager in Ubuntu 22.04+

For Ubuntu 23.10/24.04, press Ctrl+Alt+T on keyboard to open terminal and run the command below instead to install it:

sudo apt install gnome-shell-extension-manager

2. Then launch “Extension Manager”, navigate to ‘Browse’ tab, finally search and install the “Quick Settings Audio Devices Renamer” extension.

For Fedora and other Linux, go to this web page and use ON/OFF switch to install the extension.

3. Once installed the extension, switch back “Installed” tab in Extension Manager (or open GNOME Extensions app). Then, click open the settings for that extension, finally click on the ‘pencil’ icon to edit the name of corresponding output device.

You can even insert emojis in the name, either by using a emoji picker or copy from “Gnome Characters” app.

Want to let “Open in Terminal” context (right-click) menu option work for another terminal emulator? Here’s an extension to do the similar job for Nautilus.

When right-clicking on either a folder or blank area in file manager, there’s an “Open in Terminal” menu option to launch system default terminal with that folder as working directory.

The option in Ubuntu so far is provided by the built-in gnome-terminal package. Meaning no way to use the option for another terminal emulator. However, there’s an extension can add similar option to open terminal from in-side folder.

And not only for Gnome Terminal, the extension supports many other terminal emulators:

  • alacritty
  • blackbox
  • cool-retro-term
  • deepin-terminal
  • foot/footclient
  • guake
  • hyper
  • kermit
  • kgx (GNOME Console)
  • kitty
  • konsole
  • mate-terminal
  • mlterm
  • qterminal
  • sakura
  • st properly patched
  • tabby
  • terminator
  • terminology
  • termite
  • tilix (the package itself supports this stuff)
  • urxvt
  • urxvtc
  • wezterm
  • xfce4-terminal

The extension adds the menu option “Open XXX Here“, with XXX changes automatically according which terminal emulator is in use.

How to Install the Nautilus Extension

This tutorial is tested and works in Ubuntu 22.04, Ubuntu 24.04. It should also work in Fedora Workstation and other Linux with GNOME & Nautilus.

1. First, press Ctrl+Alt+T on keyboard to open terminal. Then run command to install git and python3-nautilus package:

sudo apt install python3-nautilus python3-pip gir1.2-gtk-4.0

2. Then, install the extension as pip package, by running command:

pip install nautilus-open-any-terminal --break-system-packages

The --break-system-packages is required for Ubuntu 24.04 due to policy change. Skip it in 22.04

3. Finally, run command to generate the dconf configuration file.

glib-compile-schemas ~/.local/share/glib-2.0/schemas/

Apply and Set your Terminal Emulator

After installed the extension, apply it by running command to quit Nautilus:

nautilus -q

Then, open “Dconf Editor” (install it from Ubuntu Software) and navigate to ‘com/github/stunkymonkey/nautilus-open-any-terminal‘. Finally, set the value of ‘terminal’ to tell which terminal emulator to use.

You can of course choose another terminal emulator by running command (replace kgx with yours terminal app):

gsettings set com.github.stunkymonkey.nautilus-open-any-terminal terminal "kgx"

Tip: You may also remove the built-in ‘Open in Terminal’ option by running command:

sudo apt remove nautilus-extension-gnome-terminal

 

Uninstall

To get rid of the context menu option, simply open terminal (Ctrl+Alt+T) and run command to uninstall the python package:

pip uninstall nautilus-open-any-terminal --break-system-packages

Skip --break-system-packages for Ubuntu 22.04, and run nautilus -q to apply changes.

This simple tutorial shows how to install brave browser via the new apt source policy in Ubuntu 24.04 & 22.04.

Due to security issue, Debian changed its policy for adding apt sources. Ubuntu is changing the rules too. Since Ubuntu 22.04, it uses more secure key files with digital signature for system repositories and PPAs.

Since Ubuntu 23.10,  it now uses deb822 .sources file instead of the previous .list file for third-party repositories. And, the new source files include ‘Signed-by’ section to specify the key file.

Step 1: Install curl command line download tool

First, press Ctrl+Alt+T on keyboard to open terminal. When it opens, run command to install curl and apt-transport-https package:

sudo apt install apt-transport-https curl

Type user password (no asterisk feedback) when it asks.

Step 2: Download & Install the key

Then, run curl command to download the key file and save it into /usr/share/keyrings folder.

This can be done by running the single command below in terminal:

sudo curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg

Step 3: Add the brave apt source repository

The previous .list file with or without ‘Signed-By’ is still working! But here I’m going to show the new .sources file.

1. First, run command to create a .sources file under ‘/etc/apt/sources.list.d’:

sudo gedit /etc/apt/sources.list.d/brave-browser-release.sources

Replace gedit with gnome-text-editor for Ubuntu 24.04.

2. Then in the pop-up text editor window, paste following lines:

Types: deb
URIs: https://brave-browser-apt-release.s3.brave.com/
Suites: stable
Components: main
Architectures: amd64
Signed-By: /usr/share/keyrings/brave-browser-archive-keyring.gpg

As you see, the new source file is easy to read, but a bit hard to write for beginners. See this thread for more about it.

Step 4: Update cache & install Brave Browser

After saving the file in last step, you can now run commands below to refresh the system package cache:

sudo apt update

And, finally install the web browser via command:

sudo apt install brave-browser

You don’t have to run the command every time when a new release is out. Just launch “Software Updater”, newer release of the browser package will be available there along with system package updates.

Uninstall Brave:

To remove brave browser package, open terminal (Ctrl+Alt+T) and run command:

sudo apt remove --autoremove brave-browser

And remove the apt source repository by running command:

sudo rm /etc/apt/sources.list.d/brave-browser-release.list

Also remove the key file via command:

sudo rm /usr/share/keyrings/brave-browser-archive-keyring.gpg

Finally, run sudo apt update to refresh system package index.

For developers who want to prepare their project for the latest Python releases, here’s how to install Python 3.12 in all current Ubuntu releases.

Python 3.12 finally goes stable. It features more flexible f-string parsing, Per-Interpreter GIL, new type annotation syntax for generic classes, support for the Linux perf profiler, and many performance improvements, but removed the distutils package and wstr from Unicode. See more about Python 3.12.

How to Install Python 3.12

Python is easy to install in Ubuntu by either using the popular Deadsnakes PPA or building from the source. Choose either one that you prefer.

Option 1: Install Python 3.12 from PPA

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

Option 2: Compile and install Python 3.12 from source

Don’t trust third-party repositories or you’re running Ubuntu 23.04 or Ubuntu 18.04? It’s easy to build Python from the source tarball.

1. First download the source tarball from its ftp download page:

2. Then open ‘Downloads’ folder, extract the source tarball, finally right-click on source folder and select “Open in Terminal”.

3. When terminal opens, run the commands below one by one to configure and build Python:

./configure --enable-optimizations
sudo make -j4 && sudo make altinstall

NOTE: You have to first install all build dependency libraries before running last 2 commands. See this tutorial for details.

Verify:

Once installed Python 3.12, verify by running command:

python3.12 --version && pip3.12 --version

Set Python 3.12 as default

It’s NOT recommended to set non-preinstalled Python package as default for Python3, since it will break some core applications.

However, you may try to set python3.12 as python by running the commands below one by one:

  • First, run command to find out where Python 3.12 executable is installed to:
    whereis python3.12

    It’s either /usr/bin/python3.12 or /usr/local/bin/python3.12.

  • Then, add Python 3.12 as an alternative link to python (replace /usr/local/bin/python3.12 according last command output).
    sudo update-alternatives --install /usr/bin/python python /usr/local/bin/python3.12 1
  • Finally, run command to set default for /usr/bin/python executable if more then one available:
    sudo update-alternatives --config python

Uninstall Python 3.12:

If you installed Python 3.12 using the PPA repository, simply open terminal and run command to remove it:

sudo apt remove --autoremove python3.12

For the PPA, run command to remove it:

sudo add-apt-repository --remove ppa:deadsnakes/ppa

If you built the Python 3.12 from source tarball, then there’s no uninstaller script to automate the job.

However, you may manually remove the installed files by running commands:

cd /usr/local/bin && sudo rm python3.12* pip3.12 idle3.12 pydoc3.12 2to3-3.12
cd /usr/local/lib && sudo rm -R python3.12 pkgconfig libpython3.12.a

RedHat announced the release of Podman Desktop 1.0 general availability (GA) on Tuesday. Here’s how to install it in all current Ubuntu releases.

Podman Desktop is a container management tool.  It provides a simple and user friendly user interface to easily create, manage, and deploy Podman, Docker, Lima, Openshift Local, Kind, etc containers and complex container configurations all in one place.

The app provides out-of-the-box Kubernetes environment based on Kind, allowing to create a multi-node Kubernetes cluster on local machine, and test applications without having to install and configure Kubernetes manually.

Other features include:

  • Install and run in Windows, macOS, and Linux
  • Keep Podman and other dependencies up to date
  • Manage multiple container engines at the same time.
  • Compatabile with Docker Compose
  • VPN and proxies configuration
  • And more and more, see release note for details.

How to Install Podman Desktop 1.0 in Ubuntu:

The application is available to install in most Linux using Flatpak package. Fedora 38 & Linux Mint 21 can simply search for and install it from either Gnome Software or Software Manager.

For all current Ubuntu users, follow the steps below one by one to get it.

1. First, open terminal either by searching from ‘Activities’ overview or by pressing Ctrl+Alt+T on keyboard.

2. Then, run command to enable flatpak support.

sudo apt install flatpak

Ubuntu 18.04 user need to run the 2 sudo commands to add the Flatpak PPA first.

3. Finally, install Podman Desktop by running command:

flatpak install https://dl.flathub.org/repo/appstream/io.podman_desktop.PodmanDesktop.flatpakref

NOTE: Besides the software package itself, there may be other run-time libraries to install automatically.

Once installed, search for and launch it from ‘Activities’ overview and enjoy!

NOTE: first time installing a flatpak app may needs a log out and back in to make app icon visible.

Uninstall Podman Desktop

To remove the software package, also press Ctrl+Alt+T on keyboard to open terminal and run command:

flatpak uninstall io.podman_desktop.PodmanDesktop

Also run flatpak uninstall --unused to remove useless runtime libraries.

The ‘Tab’ key bash auto-completion does not work for you? Here’s how to re-enable this feature in Ubuntu.

When typing in terminal/command console, user can press ‘Tab’ key to auto-complete command, options, file path & name. This feature is quite useful and available out-of-the-box for every user with home directory.

If you broke something done and the feature does no longer work, then this tutorial could help.

Step 1: Install bash-completion package

For Debian, Ubuntu, and most other Linux, this feature is implemented by bash-completion package files. So the first step is to make sure that package is installed on your system.

To do so, open terminal/command console and run command:

sudo apt install bash-completion

Step 2: Enable Bash Completion

For each user, there’s a .bashrc file in user home directory. The file runs automatically on every login, and it contains the rule to enable bash completion.

1. First, run command to edit the file:

nano ~/.bashrc

2. When the file opens, add the following lines or make sure the lines below exist:

if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

To save file, press Ctrl+X, type y and hit Enter.

You can alternatively edit the system wide config file:

sudo nano /etc/bash.bashrc

Then enable the corresponding lines (remove # at the beginning for each line), so it applies to all users at login.

After saving the change, it should work immediately in new terminal window or command console.

In addition

The default configuration files for bash completion is located in “/usr/share/bash-completion”. However, some Linux Distro or may be 3rd party program may add rules by creating files under “/etc/bash_completion.d/”.

So, if the feature does not work for a specific command, go check the config file under “/etc/bash_completion.d/”.

For Ubuntu 23.04, Fedora 38 and other Linux with Python 3.11 as default, Pithos 1.6.1 was released today to fix the plugin support!

Pithos is a simple free open-source GTK client for Pandora music & podcasts, writing in Python programming language.

The previous versions lack plugin support for the latest Linux Distributions due to Python 3.11. When you try to open the ‘Plugins’ tab in Preferences, it just shows a blank page.

If you start it from command line, it will output something look like:

Traceback (most recent call last):
  File "/usr/share/pithos/pithos/plugin.py", line 147, in on_got_bus
    plugin = plugins[name] = load_plugin(name, window, bus)
                             
  File "/usr/share/pithos/pithos/plugin.py", line 101, in load_plugin
    module = __import__('pithos.plugins.' + name)
             
  File "/usr/share/pithos/pithos/plugins/mpris.py", line 66, in 
    class PithosMprisService(DBusServiceObject):
  File "/usr/share/pithos/pithos/plugins/mpris.py", line 647, in PithosMprisService
    @dbus_method(MEDIA_PLAYER2_IFACE)
     
  File "/usr/share/pithos/pithos/plugins/dbus_util/DBusServiceObject.py", line 138, in decorator
    in_args = _create_arginfo_list(func, in_signature)
              
  File "/usr/share/pithos/pithos/plugins/dbus_util/DBusServiceObject.py", line 123, in _create_arginfo_list
    arg_names = inspect.getargspec(func).args

To fix the issue, the new 1.6.1 was released. Which, also fixed the issue that very short songs are being labeled as advertisements.

Nothing else!

How to Install Pithos 1.6.1 in Ubuntu via PPA

For all current Ubuntu releases, including Ubuntu 18.04, Ubuntu 20.04, Ubuntu 22.04, Ubuntu 22.10, Ubuntu 23.04, and their based systems, I’ve uploaded the app package into this PPA repository.

To add the PPA and install Pithos package, do:

  1. First, press Ctrl+Alt+T key combination on keyboard to open terminal. When it opens, run the command below to add the PPA:
    sudo add-apt-repository ppa:ubuntuhandbook1/apps

    Type user password when it asks (no asterisk feedback) and hit Enter to continue.

  2. Then, run command to fresh the package cache for old Ubuntu 18.04 and Linux Mint:
    sudo apt update
  3. Finally, install or update the lightweight Pandora Radio client to listen online music:
    sudo apt install pithos

As the application does not update frequently, you may also download & install the .deb package directly from this page.

For most Linux, Pithos is also available to install as Flatpak package runs in sandbox.

Uninstall Pithos

To remove the Ubuntu PPA, open terminal and run command:

sudo add-apt-repository --remove ppa:ubuntuhandbook1/apps

Or, open ‘Software & Updates’ utility and remove the source line under ‘Other Software’ tab.

To remove Pithos, use command:

sudo apt remove --autoremove pithos

Ubuntu now provides expanded security maintenance (esm) updates for the packages in main/universe repositories through “Ubuntu Pro” service.

With it, you can get 5 years more (total of 10 years) security updates support for Ubuntu LTS. Meaning Ubuntu 22.04 support until 2032, Ubuntu 20.04 support until 2030, and Ubuntu 18.04 support until 2028.

For Ubuntu Server or Desktop users that use apt upgrade to install updates, you’ll get following prompt in the output:

Get more security updates through Ubuntu Pro with ‘esm-apps’ enabled: …

In this tutorial, I’m going to show you how to get rid of this “esm-apps” prompt by:

  • either enable Ubuntu Pro security updates.
  • or skip the esm-apps updates and disable the command line prompt.

Option 1: Enable Ubuntu Pro Security Updates

For each user, Ubuntu Pro is free for up to 5 machines for personal use! Here’s how to enable it in both graphical and command line ways!

For Ubuntu Desktop

1. For Desktop users, first search for and launch “Software & Updates” tool from ‘Activities’ overview.

2. When it opens, navigate to “Ubuntu Pro” tab, and click on “Enable Ubuntu Pro” button. In the pop-up dialog will show you a short code.

For Ubuntu 18.04, run sudo apt update && sudo apt full-upgrade command first if you don’t see the ‘Ubuntu Pro’ tab.

3. Next, in your web browser go to https://ubuntu.com/pro/attach. Login with your account (create for free if you don’t have one). Finally, enter the code you got in the last step, and then click “Submit”.

4. Finally, go back “Software & Updates” and click “Confirm” (see screenshot in step 2). When done, you’ll see the “Ubuntu Pro support is enabled” text in green. And, you can toggle the options to enable/disable ESM Infra, ESM apps, Kernel Livepatch as you want.

For Ubuntu Server (command line way)

For Server and those who prefer Linux command, this can be done by running a single command in console.

First, in web browser go to https://ubuntu.com/pro/dashboard. Log in with your account (create if you don’t have one), then copy or write down the key token.

Then, in terminal or command console, run:

sudo pro attach KEY_TOKEN_HERE

When done, it outputs the enabled and disabled services in terminal output. You can then run command to enable/disable your desired services:

  • Enable an Ubuntu Pro service.
    sudo pro enable SERVICE_NAME
  • Disable access an Ubuntu Pro service.
    sudo pro disable SERVICE_NAME

In the commands, replace SERVICE_NAME with one of esm-apps, esm-infra, livepatch, realtime-kernel.

To disable Ubuntu Pro, as well as all enabled services, run command:

sudo pro detach

Get Rid of “esm-apps” command line prompt without enabling Ubuntu Pro

UPDATE: if this step does NOT work, try to disable the Ubuntu Pro software sources instead!

If you don’t want to install the expanded security updates, you can also disable the command line prompt by removing the config file.

It’s handled by the “20apt-esm-hook.conf” config file under “/etc/apt/apt.conf.d/” directory.

First, press Ctrl+Alt+T on keyboard to open terminal. When it opens, run command to navigate to that directory:

cd /etc/apt/apt.conf.d/

Then, create a backup folder to store the config file as backup. So, you can restore the change at any time by moving the file back.

sudo mkdir -p /etc/apt/backup

Finally, moving the config file to backup folder you just created:

sudo mv 20apt-esm-hook.conf /etc/apt/backup/

To apply change, also run sudo apt update.

To restore, run command to move the file back:

sudo mv /etc/apt/backup/20apt-esm-hook.conf /etc/apt/apt.conf.d/ && sudo apt update

That’s all. Enjoy!

The KeePassXC password manager application released version 2.7.5 today! Here are the new features and how to install guide for Ubuntu / Linux Mint users.

KeePassXC 2.7.5 add a new “Allow Screen Capture” option under “View” menu, though it seems to be for Microsoft Windows only. By enabling this option, allows to temporarily take screenshot of the app window.

Allow screenshot option for Windows.

For Linux, the release added a new rule “SingleMainWindow=true” and “X-GNOME-SingleWindow=true” in the .desktop app shortcut file. So, there will be no longer “New Window” option when right-clicking the KeePassXC shortcut icon.

Other change in KeePassXC 2.7.5 include:

  • Add support for compiling with Botan 3
  • New shortcut “Ctrl + ,” to open Settings.
  • Greatly improved performance when having large amount of entries.
  • Increase max TOTP step to 24 hours
  • Improve HTML export layout
  • Turn search reset off by default
  • Various stability and other fixes.

How to Install KeePassXC 2.7.5 via PPA in Ubuntu/Linux Mint

For all current Ubuntu releases, including Ubuntu 18.04, Ubuntu 20.04, Ubuntu 22.04, Ubuntu 22.10, Ubuntu 23.10, and Linux Mint 20/21, and their based systems, KeePassXC 2.7.5 is available to install via its Official PPA repository.

1. First, press Ctrl+Alt+T on keyboard to open terminal and run command to add the PPA:

sudo add-apt-repository ppa:phoerious/keepassxc

Type user password when it asks (no asterisk feedback) and hit Enter to continue.

2. If you have an old version of KeePassXC installed as .deb package, simply launch “Software Updater” or Update Manager to update it to the latest.

Or, run the apt command below in terminal to install the password manager:

sudo apt install keepassxc

NOTE: Linux Mint has to run sudo apt update first to update cache.

After installation, search for and open the tool either from ‘Activities’ overview or system start menu depends on your desktop environment.

Uninstall KeePassXC

To uninstall the password manager installed as native .deb package, either use Ubuntu Software app or open terminal and run command:

sudo apt remove --autoremove keepassxc

And remove the PPA repository either via ‘Software & Updates‘ tool under ‘Other Software‘ tab,

or command below in terminal:

sudo add-apt-repository --remove ppa:phoerious/keepassxc

That’s all. Enjoy!

 

I have an external disk mounted in my Ubuntu 22.04 with read and write permission. It however ran into issue recently. When I tried to boot Virtual Machine from that disk, it return error “NS_ERROR_FAILURE (0X80004005)“. And, when to save VM settings it output “Runtime error opening ‘/path/to/vm-machine.vbox-tmp’ for overwriting: -113 (Write protect error.).

I was thinking that’s an configuration error in /etc/fstab for auto-mounting disk partition. Until touch command returned “Read-only file system” while ls -al and file ‘Properties’ dialog did say I have both read and write permissions.

After digging around, I found that’s something to do with Microsoft Windows. I have Ubuntu dual boot with Microsoft Windows 10. Both systems are able to access that external disk. And the issue occurs sometime after making changes to that disk from Windows 10. And, the solution is just disable “Fast Startup” in Windows.

Disable Fast Startup in Windows 10

The configuration page varies a bit in different Windows editions. Here’s how to disable the feature in Windows 10.

1. First open “Settings” from start menu. When it opens, click “System” to go power settings page.

2. In next page, navigate to “Power & sleep” in the left pane. Then, click on “Additional power settings”.

3. Then, click the “Choose what the power button do” link in the left in next pop-up dialog.

4. Finally, click “Change settings are currently unavailable” link to unlock settings option, un-check “Turn on fast startup”, and finally save changes.