This simple tutorial shows how to install the latest Intellij IDEA 2024.3 in Ubuntu 22.04 and Ubuntu 24.04.

IntelliJ IDEA 2024.2 was released on November 13, 2024. See the release note for the new features.

Key highlights include a visual representation of your code’s logical structure in the Structure tool window, a smoother debugging experience for Kubernetes applications, and cluster-wide Kubernetes log access.

Intellij IDEA is available to install in Ubuntu via different ways. They include Snap, Flatpak, official tarball, and Ubuntu PPA. Choose either one that you prefer.

Method 1: Install Intellij IDEA via Snap package

JetBrains provides official Linux package through both Snap and tarball. Which is super easy to install for Ubuntu users.

The Snap package Features:

  • Official package by JetBrains.
  • Run in sandbox environment.
  • amd64 (x86_64) only.

For all current Ubuntu releases, just launch Ubuntu Software (or App Center), then search and install ‘Intellij IDE Community, Ultimate, or Educational.

For choice, you may press Ctrl+Alt+T on keyboard to open terminal, and run command instead the install the Snap package:

snap install intellij-idea-community --classic

The snap package installs updates automatically. You can check (and install if any) updates manually by running command:

snap refresh intellij-idea-community

Method 2: Install Intellij IDEA via Flatpak package

Another easy way to install the IDE is using Flatpak package. Which works in most Linux, though also run in sandbox environment.

The Flatpak package Features:

  • Community maintained.
  • Run in sandbox.
  • amd64 (x86_64) and arm64 support.

Ubuntu users just need to press Ctrl+Alt+T on keyboard to open terminal. Then run the 2 commands below one by one to install the package.

  • First, run command to install the Flatpak daemon:
    sudo apt install flatpak

  • Then, run the command below to install IDEA as Flatpak:
    flatpak install https://dl.flathub.org/repo/appstream/com.jetbrains.IntelliJ-IDEA-Community.flatpakref

    You may replace Community in command with Ultimate to install the Ultimate edition.

And, if you’re first time installing app as Flatpak, log out and back in for the app icon visible in system app launcher.

To update the Flatpak package, use command:

flatpak update com.jetbrains.IntelliJ-IDEA-Community

Method 3: Install IntelliJ IDEA via Official Tarball

If you don’t like or have issue for the IDE running in sandbox, then use the official Linux tarball instead!

The Linux Tarball Features:

  • Official package by JetBrains.
  • Portable, no installation required.
  • amd64 (x86_64) and arm64 support.

1. First, go to the official download page via the link below:

Depends on your need, either download the Ultimate, or scroll down and select the Community edition. For ARM64, click the down arrow (▿) icon to select from drop-down menu.

2. After downloaded the tarball, just extract and move the source folder to any location that you want for long time use.

In my case, I created a “Apps” folder in user home, and put IDEA source folder into it as sub-directory.

3. Without installation, you can now go to the ‘bin‘ sub-folder, right-click on “idea.sh” and select “Run as Program” to launch the IDE.

4. Create app shortcut, so to launch from start/application menu.

  • First, press Ctrl+H in file manager and navigate to .local/share/applications directory. Then, create a new document and re-name to ‘idea.desktop’.For choice, you may open terminal (Ctrl+Alt+T) and run command to create the file instead:
    gedit ~/.local/share/applications/idea.desktop

    Replace gedit with gnome-text-editor for Ubuntu 24.04, or other text editor according to your Ubuntu edition and desktop environment.

  • Then, paste following lines into the file you just created and save it.
    [Desktop Entry]
    Version=1.0
    Type=Application
    Name=IntelliJ IDEA Community Edition
    Comment=Develop with pleasure!
    Exec=/PATH/TO/IDEA/EXECUTABLE
    Icon=/PATH/TO/IDEA/ICON-FILE
    Terminal=false
    StartupNotify=true
    StartupWMClass=jetbrains-idea-ce
    Categories=Development;IDE;Java;

    Here, you need to replace the values of ‘Exec‘ and ‘Icon‘ according where you put the source folder. And, change ‘Name’ value for Ultimate edition.

If everything’s done correctly, you can now search for and launch the IDE from app launcher or the overview screen depends on your DE a few moments later:

Method 4: Install IntelliJ IDEA via Ubuntu PPA

Another choice to avoid Snap and Flatpak, is using an Ubuntu PPA. However, there are only third-party maintained PPAs.

The PPA features:

  • Third-party maintained.
  • IDEA Community only.
  • amd64 (x86_64) and arm64.
  • supports Ubuntu 22.04, 24.04 only so far.

As far as I know, the xtradeb PPA is keeping updated with the most recent packages including the IDEA Community.

To install the IDE from the PPA, press Ctrl+Alt+T on keyboard to open terminal. And, run commands below one by one:

  • Add the PPA by running command:
    sudo add-apt-repository ppa:xtradeb/apps

  • Then install the IDE:
    sudo apt install intellij-idea-community

NOTE: Linux Mint user needs to run sudo apt update after adding PPA to manually refresh system package cache.

Uninstall IntelliJ IDEA

For the Snap package, just remove it from Ubuntu Software or App Center.

For the Flatpak package, open terminal (Ctrl+Alt+T) and run command to remove it:

flatpak uninstall --delete-data com.jetbrains.IntelliJ-IDEA-Community

And, run flatpak uninstall --unused to remove useless run-time libraries.

For IDEA installed via the official Tarball, just remove the source folder as well as .desktop file under .local/share/applications directory.

For the Ubuntu PPA package, open terminal and run command to remove it:

sudo apt remove --autoremove intellij-idea-community

Also remove the Ubuntu PPA by running command:

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

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…