Archives For November 30, 1999

This simple tutorial shows how to replace ‘Recent Used‘ with current working directory as default in GTK file chooser in Ubuntu.

Many apps use “Recent Used” as default in their “Open File” dialog. It’s great, but there’s a choice to make it default to the directory of current editing files.

GTK4 File Chooser

This is quite useful when working with many files in same directory. For example, when editing image via GIMP, press Ctrl+O (or Ctrl+Alt+O) will open file chooser and automatically open the directory of current image, instead of always ‘Recently Used’.

For GTK2 Apps

There are still some popular applications, such as GIMP, use GTK2 toolkit for their user interface.

1. First, open ‘Files’ (the file browser), press Ctrl+H to show hidden files/folders. Then navigate to .config -> gtk-2.0.

2. In that folder, click edit the ‘gtkfilechooser.ini‘ file. When file opens, change StartupMode=recent to StartupMode=cwd and save the file.

For GTK3/GTK4 Apps

GTK3 file chooser in Ubuntu 22.04/23.10 by default selects current working directory, but GTK4 chooses recent files as default. And, they have hidden option to configure this behavior.

Option 1: Use gsettings command

For those who are OK with Linux commands, just press Ctrl+Alt+T on keyboard to open a terminal window.

When terminal opens, run command to set current working directory as default for GTK3 file chooser:

gsettings set org.gtk.Settings.FileChooser startup-mode 'cwd'

For GTK4 applications, run this command instead in terminal window:

gsettings set org.gtk.gtk4.Settings.FileChooser startup-mode 'cwd'

Option 2: Use Dconf Editor (Graphical)

For graphical way, first search for and install ‘Dconf Editor‘ in Ubuntu Software:

or run command in terminal to install the tool, in case the Software App does not work for you:

sudo apt install dconf-editor

Then, search for and launch the ‘Dconf Editor’ tool:

When it opens, navigate to ‘org.gtk.Settings.FileChooser’. Finally, click ‘startup-mode’,turn off ‘Use default value’ and set custom value to ‘cwd’.

Also, navigate to ‘org.gtk.gtk4.Settings.FileChooser’ and change the value of ‘startup-mode’ to ‘cwd’ for GTK4 file chooser.

After making the changes, all your GTK file chooser dialog should use current working directory as default instead of ‘Recently Used’ immediately!

Ubuntu 23.10 with GNOME 45 has replaced the top-left ‘Activities’ with a workspace indicator. By hovering over it, you can use mouse scroll to switch workspaces.

This is done by a simple extension called “Workspace Scroll”. Like the volume icon, with that extension, you can move mouse cursor over the top-left indicator, then scroll the middle mouse button to switch workspaces (aka Windows’ Virtual Desktop).

This can be useful for mouse heavily users, since it saves you a few mouse clicks!

UPDATE: THIS BEHAVIOR NOW IS DEFAULT OUT-OF-THE-BOX!!! You don’t have to follow any tutorial, just move mouse cursor over the workspace indicator and scroll middle button.

How to Install Workspace Scroll

To install the extension for this feature, firstly press Ctrl+Alt+T on keyboard to open terminal.

Then, run command to install “Extension Manager” app:

sudo apt install gnome-shell-extension-manager


Next, click on top-left button to open overview, search for and launch “Extension Manager”.

Finally, use the tool to search and install the “Workspace Scroll” extension under ‘Browse’ tab.

For other Linux with GNOME 45, such as the upcoming Fedora 39, Arch/Manjaro etc, just open the link below:

Then use the ON/OFF switch to install that extension. If you don’t see the switch, install browser extension via the link in the page and refresh.

After installed the extension, just move your cursor to top-left indicator button, and scroll the middle wheel to verify.

Want to install the latest Linux Kernel 6.5? It’s there in your Ubuntu 22.04 system repository!

Linux Kernel 6.5 was released a week ago with exciting new features, including initial USB4 v2, MIDI 2.0 support, much faster parallel direct I/O overwrite on EXT4, Acer Aspire 1 Arm laptop, Sony Xperia M4 Aqua phone, open-source driver support for Lenovo ThinkPad X13s laptop, enhanced load balancing for Intel hybrid CPUs, Intel SoundWire ACE2.x support, and more.

Ubuntu built the Kernel package in the Mainline PPA, which sadly only installs in Ubuntu 23.10 so far due to dependency issue.

Now, for Ubuntu 22.04 LTS, Linux 6.5 has been made into the main repository as OEM Kernel!

What is OEM Kernel

Ubuntu LTS has a few different Kernel series. They include GA Kernel that is default in first stable release, HWE Kernel (6.2 at the moment) backported from newer Ubuntu short-term releases and default in point release (e.g., Ubuntu 22.04.1, 22.04.2).

The OEM Kernel is an Ubuntu derivative kernel, specifically for use in OEM projects.

It is a staging Kernel series with shorter life cycle. It will get rolled off to the next HWE kernel once all the fixes have been forward-ported. Meaning, Linux 6.5 will probably be the default in next Ubuntu 22.04.4.

The OEM Kernel is made and officially supported by Ubuntu Team. It’s SAFE to run in any machine according to the Wiki page.

How to Install OEM Kernel 6.5 in Ubuntu 22.04

To install the Kernel package, simply press Ctrl+Alt+T on keyboard to open a terminal window.

When terminal opens, run command to refresh package cache:

sudo apt update

Finally, install the kernel package via:

sudo apt install linux-oem-22.04d

When done. Restart your computer, and verify by running command in a terminal window:

uname -a

Uninstall OEM Kernel 6.5

To restore the old Kernel, first start/restart your machine and choose the previous Kernel (under “Advanced”) in boot menu.

In case you removed the old Kernels, install it back by running command:

sudo apt install --install-recommends linux-generic-hwe-22.04

Once you system is boot up with an old Kernel, open terminal and run command to remove OEM Kernel 6.5:

sudo apt remove --autoremove linux-oem-22.04d linux-headers-6.5.0-*-oem linux-image-6.5.0-*-oem linux-modules-6.5.0-*-oem

For those who are sticking to Firefox ESR, the latest 115 release is now easy to install in all current Ubuntu releases via PPA.

Firefox ESR (Extended Support Release) is a slow moving release series target for organizations, including schools, universities, businesses. It has different release circle compare to the general Firefox series.

Mozilla keeps updating the ESR with stability, security fixes and policy updates every few weeks,  and rolls out major updates on average every 42 weeks. See update differences between  Firefox ESR and Rapid releases.

The latest version now is Firefox ESR 115.x, which was firstly released almost 2 months ago. It includes all the new features since Firefox 102. But of course lacks features in v116, 117, and next releases until  they are included in next major ESR release. See the release note for details.

Like the rapid releases, you can download the latest Firefox ESR as portable tarball from the ftp page. However, PPA is a good choice with better Ubuntu integration and easily to keep it up-to-date. It’s also a good alternative for Ubuntu 22.04+ users who hate Snap packages.

Continue Reading…

In the recent update of Ubuntu 23.10 daily build, the GNOME desktop has been updated to v45 beta. And, here are some visual changes.

The default wallpaper now has a dark variant. Meaning changing Ubuntu Desktop to dark style will also change to dark style wallpaper. Though, the final wallpaper is not revealed yet!

The ‘Files’, aka Nautilus file manager, has been redesigned with more stylish layout. Which, supports drag and drop web image into file, and implements Global Search.

Redesigned Nautilus File Manager

And, there’s new system extension to enhance tiling window support. Not only half screen tiling, it also support tiling window to quarter screen size, with either drag’n’drop or keyboard shortcuts, as well as features such as Tiling Pop-up and Tiling group.

By going to ‘Settings’ -> ‘Ubuntu Desktop’, you’ll see the new toggle options. Though, you can get even more by using “Extension Manager”.

Via the latest Gnome Shell package updates, the top-left ‘Activities’ button is finally replaced by an indicator. Now, it displays a white pill that indicates which workspace you’re on. Depends on how many workspaces you have, all others are indicated via gray dots.

As well, you may found the app menu, to indicate which app window is on focus, has also been removed. Though, the new Window Focus animation is not implemented at the moment.

They are even more great new features in Ubuntu 23.10. To try it out, just download the latest daily build image from the link below and install it in either real or virtual machine.

Shared Folders feature does not work for your OS in VirtualBox Virtual Machine? Here’s a quick workaround to transfer files between host and VMs.

VirtualBox has port forwarding feature that allows to access a service or an app running in VM from the host or even the internet. With it, you can setup a quick http or ftp server in VM, then access the files outside. Or, use scp command to transfer files.

Step 1: Configure Port forwarding

Firstly, shutdown your virtual machine. Then, open its ‘Settings‘. In pop-up dialog, navigate to ‘Network’ -> Adapter 1 -> Advanced -> Port Forwarding.

In next “Port Forwarding Rules” dialog, click the right-corner icons to add/remove rules. Then, set host port and corresponding guest port.

  • For example, if you want to SSH or SCP to VM, then add a rule and set guest port to 22 (if default SSH port in use) and set host port to whatever that’s not in use.
  • In my case, I want to set up a temporary Python http server, then access from the host, so I added a rule and set both host and guest ports to 8000.

Step 2: Setup a temporary http server to transfer files

Python is pre-installed in most Linux. It has a built-in script, allows to quickly setup a http server via a single command.

Just, boot your Linux Virtual Machine. Then, right-click on your desired folder and select “Open in Terminal” or “Open Terminal Here”. Finally, run command to setup a simple http server on VM:

python3 -m http.server

Finally, in host machine, open up a web browser and go to localhost:8000. Then, you can access (download) all files under that folder in the VM.

If you want to create a temporary http server with upload support, then install uploadserver module in your VM via command:

pip install uploadserver

In some Linux, you may add --break-system-packages flag. So the command will be:

pip install uploadserver --break-system-packages

Then start the http server with upload feature by running command:

python3 -m uploadserver

Finally, in host go to localhost:8000/upload to upload files to VM.

Step 3: (Optional) Use SSH/SCP

For choice, you can also use secure shell (SSH) protocol to access your VM. In the case, you need to map port 22 in guest to any unused port (8088 in my case) in host.

SSH is available in most Linux repository, and Windows can install it from Settings -> Apps -> Optional Features -> Add a feature -> OpenSSH Server.

By running SSH server in VM, host machine can run the command below to access it:

ssh -p 8088 jim@localhost

Replace port number 8088, and VM’s username jim to yours.

Or, use scp command to transfer files between host and VM. For example, send ‘Sigil-2.0.1.tar.gz’ package in host’s Downloads folder to VM user jim’s home directory:

scp -P 8088 /home/ji/Downloads/Sigil-2.0.1.tar.gz jim@localhost:

Or send ‘Sigil-2.0.1.tar.gz’ from VM user jim’s home directory to current directory in host machine:

scp -P 8088 jim@localhost:~/Sigil-2.0.1.tar.gz ./

Transmission, Ubuntu’s default BitTorrent client, announced new 4.0.4 release with various bug-fixes.

For users of Transmission 4.0.x, it’s recommended to update to the new release for stability improvements. For me, the last 4.0.3 crashes often when downloading Kali Linux image in 7z format. Now, it’s working good in the new 4.0.4 release.

For Qt client, it now correctly display the magnet name in compact mode, “Move torrent file to trash” option also removes .added files, and the app icon has been updated with improved resolution.

It also updated WebUI to make the main menu accessible on smaller browser window. Fixed “no such file or directory” warning when adding a magnet link via CLI.

Other changes according to the release note include:

  • Fixed bug in sending torrent metadata to peers.
  • Avoid unnecessary heap memory allocations.
  • Fixed filename collision edge case when renaming files.
  • Fixed locale errors that broke number rounding when displaying statistics, e.g. upload / download ratios.
  • Always use a fixed-length key query in tracker announces. This isn’t required by the spec, but some trackers rely on that fixed length because it’s common practice by other BitTorrent clients.
  • Fixed potential Windows crash when getstdhandle() returns NULL.
  • Fixed 4.0.0 bug where the port numbers in LDP announces are sometimes malformed.
  • Fixed a bug that prevented editing the query part of a tracker URL.
  • Fixed a bug where Transmission may not announce LPD on its listening interface.
  • Made small performance improvements in libtransmission.

How to Install Transmission 4.0.4 in Ubuntu

The Transmission team does not provide pre-build Linux packages. Though, Ubuntu user can easily install the new release as the Snap package (maintained by Sameer Sharma) in Ubuntu Software.

For those who do NOT like app running in sandbox, there’s also unofficial Ubuntu PPA contains the packages for Ubuntu 20.04, Ubuntu 22.04, and Ubuntu 23.04.

1. First, press Ctrl+Alt+T on keyboard to open a terminal window. When it opens, run command to add the PPA:

sudo add-apt-repository ppa:ubuntuhandbook1/transmission

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

2. After adding the PPA, you can then launch Software Updater (Update Manager) and upgrade the system pre-installed transmission package to the new release.

For Ubuntu based system without the BitTorrent client pre-installed, you may run command below to install it:

sudo apt update && sudo apt install transmission-gtk

You may replace transmission-gtk with (or add) following package:

  • transmission-qt – Qt user interface for KDE, LXQt, etc.
  • transmission-cli – command line interface.
  • transmission-daemon – the daemon for running in background, and access via webUI, remote client, etc.

Uninstall Transmission 4.0.4

You can choose to downgrade the BitTorrent client to system pre-installed version, by running command in terminal:

sudo apt install ppa-purge && sudo ppa-purge ppa:ubuntuhandbook1/transmission

Or, remove the software packages instead by running command:

sudo apt remove --autoremove transmission-gtk transmission-qt transmission-cli transmission-daemon

And remove the PPA repository either via “Software & Updates” tool by removing the source line under “Other Software” tab, or by running command:

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

That’s all. Enjoy!

Linus Torvalds announced the release of Kernel 6.5 this Sunday. He wrote:

So nothing particularly odd or scary happened this last week, so thereis no excuse to delay the 6.5 release.

I still have this nagging feeling that a lot of people are on vacation and that things have been quiet partly due to that. But this release has been going smoothly, so that’s probably just me being paranoid. The biggest patches this last week were literally just to our selftests.

Linux Kernel 6.5 features enhanced load balancing for Intel hybrid CPUs, Intel SoundWire ACE2.x support, and new meteor Lake-S driver.

For AMD, it now uses AMD P-State driver by default rather than CPUFreq for Zen 2 and newer systems, and support Error Detection And Correction (EDAC) subsystem for AMD Ryzen 7000 series.

The AMDGPU driver enabled FreeSync video mode by default, got performance improvements and power saving optimizations.

The release also improved LoongArch support with Simultaneous Multi-Threading, SIMD/Vector Extensions. Added support for the Alibaba T-Head TH1520 RISC-V 64-bit processor, and IBM POWER10 received DEXCR support.

Other changes in Kernel 6.5 include:

  • Mainline support for the Acer Aspire 1 Arm laptop, Sony Xperia M4 Aqua phone.
  • Enable new Permission Indirection Extensions for Armv8.9
  • Open-source driver support for Adreno 690 that found in Lenovo ThinkPad X13s laptop.
  • Mediatek Vcodec driver has added support for AV1 and HEVC/H.265 stateless video codecs.
  • Much faster parallel direct I/O overwrite on EXT4.
  • Microsoft Xbox controller rumble support
  • Initial support for USB4 v2.
  • MIDI 2.0 support

How to Install Linux Kernel 6.5 in Ubuntu

As usual, the mainline Kernel PPA build the packages available to download at the link below:

Sadly, this build only installs in Ubuntu 23.10 due to dependency updates. For modern 64-bit (x86_64) PC/laptop, select download the amd64 build packages:

  1. linux-headers-6.5.0-060500-xxxxxx_all.deb
  2. linux-headers-6.5.0-060500-generic_xxx_amd64.deb
  3. linux-modules-6.5.0-060500-generic_xxx_amd64.deb
  4. linux-image-unsigned-6.5.0-060500-generic_xxx_amd64.deb

After downloading them, right click on blank area in Downloads page and select “Open in Terminal”. Finally, install the kernel packages via command:

sudo apt install ./linux*.deb

For Ubuntu 22.04, Kernel 6.5 is available to install by running sudo apt install linux-oem-22.04d command in terminal.

Ubuntu 20.04 user can install it through the new zabbly repository.

This simple tutorial shows how to compile and install the Sigil EPUB ebook editor (2.1.0 so far) from the source code in Ubuntu step by step.

Sigil is a popular free and open-source ePub ebook editor that works in Windows, Linux, and macOS. However, it does not provide official packages for Linux.

While Sigil in Ubuntu system repository is always old, user can easily install the latest version via Flatpak package that runs in sandbox.

In case you neither prefer Flatpak package, nor even trust third-party software sources, it’s not hard to build it from the source tarball! And, here I’m going to show you how.

This tutorial is tested and works in Ubuntu 22.04 with Sigil 2.0.1, and Ubuntu 24.04 with Sigil 2.1.0. Though things may change depends on software version.


Continue Reading…

For those who want to install the latest Linux Kernel (6.11.x updated), there’s a new apt repository made for Ubuntu 20.04, Ubuntu 22.04, Ubuntu 24.04 and Debian 12 Bookworm.

As you may know, Ubuntu has a mainline Kernel PPA that keeps building the latest Linux Kernel packages for testing purpose. The most recent packages however do NOT support current Ubuntu 22.04 & 20.04 LTS.

For those who need the latest Kernel for new hardware support or compatibility fixes, there’s now a new repository with all current Ubuntu LTS (20.04 & 22.04) and Debian Stable (Bookworm) support.

It’s maintained by Stéphane Graber, Ubuntu core developer and project leader of Linux containers(@lxc), who quit from Canonical last month, after working for the company for 12 years.

And, he made this repository because Ubuntu’s generic kernel that he thought has sadly decreased in quality over time.

The Ubuntu kernel includes a lot of backported fixes and occasionally, those backports go bad, resulting in missing commits, introducing bugs and regressions. Unfortunately the way the Ubuntu kernel is built, tested and published comes with a lot of delays, making fixing such regressions often take weeks if not months

Install Latest Kernel in Ubuntu via new Repository

NOTE 1: This is a trustworthy, but unofficial repository!
NOTE 2: Like Ubuntu Mainline Kernel PPA, the packages are un-signed, you may need to turn off Secure Boot to boot the new kernel.

First, open terminal either from start menu or ‘Activities’ overview.

1. Install the GPG Key

When terminal opens, first run command to create ‘/etc/apt/keyrings’ directory, in case it does not exist:

sudo mkdir -p /etc/apt/keyrings

Then, run command to download the key and install to that directory you just created:

sudo wget -O - https://pkgs.zabbly.com/key.asc |sudo tee /etc/apt/keyrings/zabbly.asc

2. Set up the source repository

Then, run command below to create & edit the source file:

sudo gedit /etc/apt/sources.list.d/zabbly-kernel-stable.sources

Depends on your desktop environment, replace gedit with gnome-text-editor for Ubuntu 24.04, Debian 12 GNOME, mousepad for XFCE, or use nano that works in most Linux.

When terminal opens, add following lines and save it:

Enabled: yes
Types: deb deb-src
URIs: https://pkgs.zabbly.com/kernel/stable
Suites: jammy
Components: main
Architectures: amd64
Signed-By: /etc/apt/keyrings/zabbly.asc

NOTE: You have to replace jammy (for 22.04, Linux Mint 21) in the code with

  • noble for Ubuntu 24.04, Linux Mint 22.
  • focal for Ubuntu 20.04
  • or bookworm for Debian 12.

Also, replace amd64 with arm64 for ARM devices, such as Raspberry Pi. For nano text editor, press Ctrl+S to save, then Ctrl+X to exit.

3. Update package cache & Install Newest Kernel

When done setting up the new source repository and GPG key, run the command below to re-index system package cache:

sudo apt update

Finally, install the latest kernel, 6.11.x so far, by running command:

sudo apt install linux-zabbly

Tips: the repository also contains the Kernel 6.7, 6.8, 6.9, and 6.10 packages. To install one of them, Kernel 6.8 for example, use command:

sudo apt install linux-headers-6.8.10-zabbly+ linux-image-6.8.10-zabbly+

The minor version number varies as time is going. Type the first half of the last command (sudo apt install linux-headers-6.8) and hit Tab to list all available choices.

4. Verify

Finally, restart your machine and run the command below to verify your Kernel version in terminal:

uname -a

Uninstall:

If you have any issue with the new Kernel, just restart and select boot an old Kernel from Grub menu under ‘Advanced Options’.

Then, run the command below to remove the Kernel from Zabbly repository:

sudo apt remove --autoremove linux*zabbly*

Depends on when you tried this tutorial, the package version varies. So, I use asterisk wildcard in command to auto-select any package start with ‘linux‘ and have ‘zabbly‘ in between of package name. Just in case, it’s better to keep an eye on terminal output before hitting ‘y’ to confirm.

Also, remove the source repository by running commands below to delete the key and source file:

sudo rm /etc/apt/sources.list.d/zabbly-kernel-stable.sources
sudo rm /etc/apt/keyrings/zabbly.asc

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