Archives For November 30, 1999

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.10.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 with noble for Ubuntu 24.04, 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.10.x so far, by running command:

sudo apt install linux-zabbly

Tips: the repository also contains the Kernel 6.6, 6.7, 6.8, and 6.9 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.

Got a Ubuntu PC or Server and want to use it as remote download server? This is the step by step guide shows you how to do the job using Transmission Daemon.

Ubuntu’s default Transmission torrent client has a daemon package, that can run silently as a background service, allowing you to manage downloads anywhere around the world with internet connection and a web browser.

To use the service, you just need to install the package, enable the service, do some changes on the config file, and grant user permission. And here’s how to do it step by step.

Step 1: Install Transmission Daemon & Enable the service

Firstly, press Ctrl+Alt+T on your Ubuntu PC to open terminal. Or connect to your remote Ubuntu server via SSH.

1. To install the Daemon package, run command:

sudo apt install transmission-daemon

In Ubuntu Desktop, you might have dependency issue if you’ve tried 3rd-party Transmission package. In the case, try sudo apt remove transmission* to remove the torrent packages first, then re-run the command above.

2. Run the daemon service. The daemon should run automatically after installation. Just in case, you may run it manually by running the 2 commands below one by one:

systemctl enable transmission-daemon
systemctl start transmission-daemon

For Ubuntu server, you may need to add sudo in the beginning for each command.

Step 2: Set up Downloads folder & Grant Permission

You can skip this step, if you’d like to use default location to save downloads. It’s “/var/lib/transmission-daemon/downloads/“, which however is NOT a good choice.

1. To create a folder for saving download files, for example ‘transmission‘ sub-folder under Downloads,run command:

mkdir -p ~/Downloads/transmission

For Ubuntu Desktop, you can just open ‘Files’ (Nautilus file browser) to create a folder anywhere that you want!

For Ubuntu Server, you may even don’t have “Downloads” folder, so change the command accordingly! If you want, just run mkdir -p ~/transmission to create the folder under your user home directory.

2. Add read and write permission to that folder, for anyone in your user group.

chmod g+rw ~/Downloads/transmission

In the command, replace ~/Downloads/transmission if you selected another location for saving downloads.
In Ubuntu 22.04 Desktop edition, you can skip this command since group by default have read & write to user created folders.

3. Finally, add ‘debian-transmission’ to your user group. So, Transmission daemon has read & write permission to the folder you just created.

sudo gpasswd --add debian-transmission $USER

NOTE: This change seems needing system restart to take effect in Ubuntu Desktop, but not sure if required in Server.

Step 3: Edit the Daemon config file

The daemon by default has only one config file. It’s /etc/transmission-daemon/settings.json.

1. To edit the file, run command:

sudo gedit /etc/transmission-daemon/settings.json

Here you may replace gedit with gnome-text-editor for Ubuntu 24.04, or use nano for Ubuntu Server and other Desktop Environment that you don’t know which text editor to use.

2. When file opens, edit it with following changes:

The file includes many configure lines, that I only write some important ones here. You can leave all others default, or edit it according to you need.

  • First, change the value of "download-dir" and "incomplete-dir" to the folder you created in Step 2.In my case, it’s /home/ji/Downloads/transmission. (replace ‘ji’ to your username!) Also, set “incomplete-dir-enabled” to true, or unfinished download files are not visible.
  • Then, change the values of “rpc-username” and “rpc-password” to your desired username & password for remote authentication. Set “rpc-whitelist-enabled” to false, so anyone with the username & password can access. Or, set it to true, and add you client IP address to “rpc-whitelist”.
  • Finally, change value of “umask” to 18.
    Value 022 means 0 (read, write, execute for ‘debian-transmission’, the owner), 2 (read for group & others). It’s OK but .json file does not allow octal notation. So, use 18 instead (octal 22 = decimal 18).

3. Finally, save file. For nano text editor, press Ctrl+X, type y and hit Enter to save changes.

Step 4: Reload daemon to apply changes

After editing the config file, you need to reload the daemon to apply the changes.

To reload the daemon, run command:

systemctl reload transmission-daemon.service

It must be reload! Because restart or start the service somehow will reset the password to default.

You may also run command to check the service status by running command:

systemctl status transmission-daemon.service

Step 5: Set up Firewall

Ubuntu Desktop does not active firewall by default, but Servers are mostly have firewall activated.

To check firewall status, run command:

sudo ufw status

If firewall is activated, run command to allow port 9091:

sudo ufw allow 9091,51413/tcp

Step 6: Access Transmission Remotely

Finally, you can access the transmission service on remote Ubuntu Desktop or Server, in anywhere with a web browser. By visiting ip-address:9091/transmission/web/.

Or, use any client app with Transmission RPC support!

For Ubuntu 23.04, Debian 12, Fedora 38 and other Linux with GNOME 43/44, there’s now an extension allows to monitor and control your remote Transmission downloads via system tray indicator.

It uses Transmission RPC protocol for interacting with remote PC/server that is running Transmission GTK, daemon, or Fragments.

With the indicator, user can easily add new download via torrent link, monitor all the downloading process, and one click to open the web UI with more options.

How to Install the Indicator Applet

For Ubuntu 23.04 user, firstly search for and install “Extension Manager” from Ubuntu Software.

Install Extension Manager in Ubuntu 22.04+

Then launch “Extension Manager” and use the tool to search and install “Transmission Daemon Indicator NG” extension.

For other Linux with GNOME 43/44, just go to the link below:

Then, turn ON the toggle switch to install the extension. If you don’t see the ON/OFF switch, install browser extension and refresh the page.

Configure the Indicator Applet

Once installed, the applet should appear immediately on your panel. You can open the settings page either from applet’s drop-down menu, or via “Extension Manager”.

Of course, in the server (either local or remote) that’s running Transmission, you have to enable the Remote Control first from preferences.

Transmission GTK, enable Remote Control

For Transmission daemon running in the background, edit the ‘/etc/transmission-daemon/settings.json‘ file to enable RPC remote control, setup user & password, whitelist, etc, before being able to connect.

Remember to use systemctl reload transmission-daemon.service to apply changes, since start or restart may reset your password in the config file.