Archives For Howtos

This is a step by step beginner’s guide shows how to install iTunes in Ubuntu 22.04 and Ubuntu 24.04 LTS.

Windows app is easy to install in Ubuntu & other Linux, thanks to Wine. However, it’s not so easy for beginners to install & setup Wine.

So, here I’m going to show how to install iTunes using Bottles (a wine runner) to make things as easy as possible.

NOTE that, iTunes running with wine does NOT detect iPhone, at least not for me. But, it’s OK for syncing music via iCloud! For just transferring music files, VLC is a good alternative.

iTunes 12.8.0.150 in Ubuntu 22.04 LTS

NOTE 1: This tutorial is tested and works in Ubuntu 22.04. Though, it should work in most other Linux!

NOTE 2: In this tutorial I installed iTunes 12.8.0.150! Newer versions either crash frequently or run into blank window.

Step 1: Install Bottles

As mentioned above, Bottles is a wine runner to make running Windows apps in Linux super easy. The only downside could be that it’s only available as Flatpak runs in sandbox.

Firstly, press Ctrl+Alt+T on keyboard to open terminal. When it opens, run command to enable Flatpak support:

sudo apt install flatpak

Other Linux can follow official setup guide to enable Flatpak support.

Then, install Bottles as Flatpak by running command:

flatpak install https://dl.flathub.org/repo/appstream/com.usebottles.bottles.flatpakref

This command may have more than a thousand MB download due to run-time libraries. Don’t be worried about it. Installing Wine directly from its website will also has quite a few hundred MB files to download.

 

Step 2: Setup Permission for Bottles

Bottles is installed as Flatpak which runs in sandbox. By default, it has only file access to your user ‘Downloads‘ folder.

If you want to make apps, that are installed through Bottles, visible in start menu and/or dock, and access music files in other folders (such as ‘Music’ folder), then you have manually grant permissions.

Option 1: Use command to grant file access permission:

To allow Bottles to add apps into start menu, run command in terminal:

flatpak override com.usebottles.bottles --user --filesystem=xdg-data/applications

To allow Bottles (iTunes) to access your user Music folder, use command:

flatpak override com.usebottles.bottles --user --filesystem=xdg-music

Option 2: Use Flatseal, graphical tool.

Flatseal is a popular graphical tool to manage permissions for Flatpak applications.

First, open terminal (Ctrl+Alt+T) and run command to install Flatpseal:

flatpak install https://dl.flathub.org/repo/appstream/com.github.tchx84.Flatseal.flatpakref

After installed the tool, launch it. Choose “Bottles” from left, and click add “Filesystem -> Other files” permission for:

  • xdg-music
  • xdg-data/applications

Step 3: Download iTunes (exe)

Apple website only shows the download for the latest version of iTunes, which is NOT working good (even not work so far) with current version of Wine.

For the old versions, there’s a 3rd party website that provides a large list of downloads. All download URLs in that page are official (point to apple.com), the website only lists them out for you.

In my tests, iTunes 12.9.x is the most recent version that installs, which however CRASH quite often. The iTunes 12.8.0.150 is the last that’s working good.

NOTE: Wine and Bottles keep updating with new features and bug-fixes. So, newer iTunes versions might be working in future when you see this tutorial. Try for your self.

Step 4: Install iTunes

Now, search for and launch “Bottles” from start menu or ‘Activities’ overview depends on your desktop environment.

NOTE: first time installing a Flatpak app, need a log out and back in to make app icon visible in start menu. For choice, you may run flatpak run com.usebottles.bottles command to start it from terminal.

In the first launch, follow the wizard to run the initial setup.

When done, click either “Create New Bottle…” button or the top-left “+” icon to get started.
Then, in next window type a name (‘iTunes’ in the case), select “Application” as environment type, and click “Create”.

Next, it automatically generate configuration and config Wine for the new ‘Bottle’ you just created.

When done, click to open the ‘Details’ page for the new bottle you just created. Click on “Run Executable” button, then browse and choose the “iTunes64Setup.exe” file you downloaded in last step.

Note in the file chooser dialog, you may need to switch bottom filter to “All Files“, so to make the .exe file visible.

After that, the installer wizard for iTunes should start. Just follow to install it until done.

Step 5: Launch iTunes

To launch iTunes, either go to ‘Details’ page for the Bottle in Bottles, and click the triangle icon “▸”.

Or, click the 3 dots “⋮” icon right after it, and select “Add Desktop Entry” menu option (need to done Step 2 first).

After that, you can start iTunes from start menu, just like other apps installed from Ubuntu Software.

Uninstall

To remove iTunes only, simply launch ‘Bottles’ and go to Details page for iTunes. Then use the top-right corner “⋮” menu option to delete bottle.

To remove Bottles app, open terminal (Ctrl+Alt+T) and run command:

flatpak uninstall --delete-data com.usebottles.bottles

In command, skip --delete-data will keep the apps installed through Bottles

After removing Bottles, also run the command to remove useless run-times to free up disk space:

flatpak uninstall --unused

Got local music files in your Ubuntu PC/laptop? Here’s how to transfer them to your iPhone.

It’s NOT hard to install iTunes in Ubuntu using Wine in today’s Linux. However, iTunes running in wine does not detect my iPhone, at least in my case in 22.04.

If you just want to transfer music from PC to your iOS device, then you don’t have to struggle with iTunes in Linux. There are easy alternatives! And, VLC is a very popular one of them.

This tutorial is tested on iPhone with iOS 16.1.1, and Ubuntu 22.04 with default GNOME.

Transfer Music from PC to iOS via VLC

1. First, go to “App Store” and install the free open-source VLC media player in your iPhone or other iOS device.

VLC media player in App Store

2. Not sure if it required, but you may launch VLC in iOS for the first time to generate app folder.

3. Now, connect your iPhone or other iOS device into Ubuntu. Then, open “Files” and go to the mounted folder from left panel.

In my case, it’s a phone icon with text “Document on iphone”. In that folder, click VLC icon. Finally, drag’n’drop your music files into the VLC sub-folder.

When done, you can now open VLC in iphone/iOS, and find out the local music files under “Audio” bottom tab.

4. (Optional) If you want to use Apple Music or other app for music playback, then you can save songs to files.

First, navigate to “Songs” tab in VLC. Then, tap top right “circle with 3 dots” icon, and click “Select” to choose all the files.

Finally, use the bottom right icon to open menu to “Save to Files” for all selected music files.

This simple tutorial shows how to install Firefox Beta, Firefox Developer Edition, or Firefox Nightly in Debian, Ubuntu, Linux Mint, using the new official repository.

Mozilla announced new official apt repository for Debian and Ubuntu users few months ago, which contains the .deb package for Firefox Nightly build.

Now, the repository also contains packages for Firefox Beta and Firefox Developer Edition! And, here’s step by step guide shows how to use it to install the latest packages in your system.

NOTE 1: Ubuntu also has an official PPA contains Firefox Beta package. Though, it’s maintained by members from Ubuntu Team.
NOTE 2: This tutorial is tested and works in Debian 12, Ubuntu 20.04, Ubuntu 22.04, and Ubuntu 24.04.

Step 1: Install the Repository Key

To add the new repository, you need to first download & install the key, so your system will trust the packages from it.

First, open terminal either from start menu or by pressing Ctrl+Alt+T on keyboard.

When terminal opens, run command to make sure ‘/etc/apt/keyrings’ exist for storing the keys.

sudo mkdir -p /etc/apt/keyrings

Then, download & install the key by running the single command below in terminal:

wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O- | sudo tee /etc/apt/keyrings/packages.mozilla.org.asc > /dev/null

If ‘wget’ command not found, run sudo apt install wget to install it.

After that, you can verify the new key file by listing the content of that directory: ls /etc/apt/keyrings.

Step 2: Add Mozilla’s Official Repository

Also in a terminal window, run the single command below will create a config file and write the source repository.

echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" | sudo tee /etc/apt/sources.list.d/mozilla.list > /dev/null

This command creates mozilla.list file under /etc/apt/sources.list.d directory, then writes the content under double quotes into it.

When done, you may verify by running cat /etc/apt/sources.list.d/mozilla.list to print the source file content.

Step 3: Install Firefox Stable, Beta, Dev, or Nightly

After adding the apt repository and key, run the command below to refresh system package cache:

sudo apt update

Finally, install Firefox Beta by running command:

sudo apt install firefox-beta

The repository also contains Firefox Stable, Development, and Nightly versions! Replace firebox-beta in last command with firefox, firefox-devedition, or firefox-nightly according which version you want to install. For STABLE version,  you however NEED to set higher PPA priority.

Non-English user may also install the language package by running command:

sudo apt install firefox-beta-l10n-xx

Replace xx with the shortcode for your language. Also, replace beta for dev or nightly version accordingly.

Step 4: (Optional) Change the App Name to Differ from Firefox Stable

The new Firefox Beta uses same logo to Firefox Stable, and it also displayed as “Firefox” in start menu.

If you have more than one edition of Firefox packages in system, then you may have to differ them from each other by changing the name.

To do so, first launch terminal (Ctrl+Alt+T) and run command to copy the .desktop config file from system to local directory:

sudo cp /usr/share/applications/firefox-beta.desktop ~/.local/share/applications/

Then, change the app name to “Firefox Beta” by running command:

desktop-file-edit --set-name="Firefox Beta" ~/.local/share/applications/firefox-beta.desktop

The change should apply automatically in few seconds. If not, run sudo update-desktop-database to update the database manually.

If you also want to differ the icon, use --set-icon='/path/to/new/icon' in last command.

 

For people who are hard-of-hearing, and/or for better understanding audio, here’s a live captions app that provides real-time automatic subtitles on Linux desktop.

The app displays a wide flat window on desktop, showing real-time (may have few hundred milliseconds delay) subtitles for voice come from either speaker or microphone.

It’s free and open-source, and captioning locally without network permission with the power of deep learning. And, there’s no API keys, no proprietary services/libraries, no telemetry, no spying, no data collection.

The only thing you need is a somewhat-decent CPU that can perform real-time captioning. It’s tested and working good in my i5-10400, and following CPUs mentioned in project page:

  • Intel i7-2670QM
  • Intel i7-7820HQ
  • Intel i5-8265U
  • AMD Ryzen 5 1600
  • Steam Deck

How to Install the Live Captions app

The Live Captions app is available as Flatpak package that works in most Linux desktop!

Linux Mint 21 and Fedora 38+ (with 3rd party repository enabled) can directly search for and install “Live Captions” from either Software Manager or Gnome Software.

1. For Ubuntu, first press Ctrl+Alt+T on keyboard to open terminal. When it opens, run command to enable flatpak support:

sudo apt install flatpak

Other Linux can follow this official setup guide to enable Flatpak.

2. Then, run command to install the app through Flatpak package:

flatpak install https://dl.flathub.org/repo/appstream/net.sapples.LiveCaptions.flatpakref

As running in sandbox, it may have hundred MB downloads for run-time libraries.

After installation, launch it from start menu or ‘Activities’ overview depends on your desktop environment.

If you’re first time installing an app through Flatpak, then you may need to log out and back in to make app icon visible. Or, run command below to start it from terminal:

flatpak run net.sapples.LiveCaptions

Start Live Captions

The first launch of the app will guide you to perform a short benchmark for your CPU. You need at least 1.0 score for running this app.

As it noticed, the live captions may not be accurate. It may make mistakes, including when it comes to numbers. Please do not rely on the results for anything critical or important.

When done, it starts into a blank window. There click the gear button to open ‘Preferences dialog’ to configure the window width, background opacity, text font, etc.

The built-in model so far support only English. Though, there are few more models available to download, which makes it work for Polish and French language.

To make the window always on top, just right-click on it and click “Always on Top” option.

When done configuration, just start live chat, or play something with voice, the app window should automatically show you the real-time subtitles in few seconds.

 

This simple tutorial shows how to edit .desktop files, the config files for your apps shown in start menu (app launcher), in Linux via single command.

In most Linux, the app icons (and their names) you see in dock & launcher are handled by .desktop files. If need, user can edit them by using either text editor or even third-party apps.

For software developing, scripting, or editing multiple .desktop files at the same time, there’s a command line tool that can help!

What you can do by editing .desktop file for your app:

The .desktop files are usually stored in following locations:

  • /usr/share/applications – for system wide.
  • $HOME/.local/share/applications – for current user only.
  • /var/lib/flatpak/exports/share/applications – for Flatpak apps (system wide).
  • $HOME/.local/share/flatpak/exports/share/applications – for Flatpak apps (current user).
  • /var/lib/snapd/desktop/applications/ – for Snap apps.

By editing a .desktop file that is associated with your app can do following things:

  • Change app icon
  • Change the app name in start menu.
  • Hide app
  • Group app icon in different categories.
  • Associate with different file types.
  • And more.

Find out the .desktop file for your app

If you don’t know where is the .desktop file, then try following steps to find it out.

First, open terminal (Ctrl+Alt+T) and run command to install plocate (or mlocate for old Ubuntu):

sudo apt install plocate

Then, update the database by running command:

sudo updatedb

Finally, try searching the desktop file for your apps (Firefox for example):

locate "*firefox*desktop"

In last command replace firefox with the keyword for yours (case sensitive). And, copy the path-to-file for the one in the location mentioned above.

Single command to edit the .desktop file

As far as I know, Debian, Ubuntu, Fedora, Manjaro, and their based systems have desktop-file-edit tool out-of-the-box for edit .desktop entries.

Option 1: To change app name, use command:

desktop-file-edit --set-name=NEW_NAME /path/to/file.desktop

In command, sudo is required for .desktop file in system directories.

For example, change the pre-installed Firefox (Snap version) in Ubuntu to “My Web Browser”:

sudo desktop-file-edit --set-name="My Web Browser" /var/lib/snapd/desktop/applications/firefox_firefox.desktop

Option 2: To change app icon, use command:

desktop-file-edit --set-icon=/path/to/icon /path/to/file.desktop

For icon file under /usr/share/icons, or .local/share/icons, just replace /path/to/icon-file with file-name without extension (e.g., .png, .svg).

For example, change the icon for my Firefox browser:

sudo desktop-file-edit --set-icon='/home/ji/Pictures/icons/myfirefoxicon.png' /var/lib/snapd/desktop/applications/firefox_firefox.desktop

Option 3: To add/remove category or mime type, use command:

desktop-file-edit --add-category=VALUE_HERE /path/to/file.desktop

Replace --add-category with one of the options below depends on which action you want to do:

  • --remove-category
  • --add-mime-type
  • --remove-mime-type

See list of well known categories.. And, right-click on a file and go to its ‘Properties’ to check “Type”.

Option 4: To add/edit other keys.

Use “–set-key=KEY_NAME –set-value=KEY_VALUE” option. You can add more than one pair of the options in single command.

For example, hide Firefox from app launcher by setting “NoDisplay=true“. It will add the key ‘NoDisplay’, if not exist.

sudo desktop-file-edit --set-key=NoDisplay --set-value=true /var/lib/snapd/desktop/applications/firefox_firefox.desktop

Option 5: To remove a key, use “–remove-key=KEY_NAME” option.

For example, un-hide Firefox by deleting “NoDisplay=true” from the .desktop file:

sudo desktop-file-edit --remove-key=NoDisplay /var/lib/snapd/desktop/applications/firefox_firefox.desktop

Option 6: Edit multiple desktop files

You can edit more than one files using for loop.

For example, hide all the Waydroid Android app icons associated with the .desktop files under .local/share/applications directory.

for file in $Home/.local/share/applications/waydroid.*.desktop; do desktop-file-edit --set-key=NoDisplay --set-value=true $file; done

In addition, the desktop-file-edit command will automatically validate the .desktop file after done editing it. It will output errors if validation not passed. For more, see its man page.

 

This simple tutorial shows how to install the latest Android Studio 2024.1.1 in Ubuntu 22.04 and/or Ubuntu 24.04.

Android Studio, the official IDE for Android app development, is easy to install in Ubuntu in different ways! They include Snap, Flatpak, and official tarball.

NOTE: All the Android Studio packages below support only amd64 (Intel/AMD) CPU architecture type.

Method 1: Install Android Studio via Snap package

The easiest way to install the IDE is using the Snap package, which however runs in sandbox environment. At the moment of writing, the Snap package is at version 2023.1.1, though the newer 2024.1.1 is in dev channel now. Just install it and wait, it will automatically update to the latest once published.

Simply launch App Center (or Ubuntu Software for 22.04), then search & install Android Studio:


Continue Reading…

 

This is beginner’s guide shows how to install and setup Waydroid to run full Android system as well as Android applications in Ubuntu.

I’ve written about this by using Anbox, which is however no longer in active development.

This is a re-write with free and open-source ‘Waydroid’, which is a container-based approach to run a minimal customized Android system image based on LineageOS.

Android OS in my Ubuntu 22.04 desktop

This tutorial is tested and works on Ubuntu 22.04 and Ubuntu 24.04 LTS with default Wayland session (Xorg is NOT supported)! Hardware specs include:

  • CPU: Intel i5-10400.
  • GPU: Intel HD 630.

Step 1: Install Waydroid

Waydroid is easy to install in Ubuntu/Debian based systems, through its official apt repository.

1. First, press Ctrl+Alt+T on keyboard to open terminal. When it opens, run command to install required packages:

sudo apt install curl ca-certificates

sudo command needs password authentication, but with no asterisk feedback. Just type in mind and hit Enter.

2. Then, run command to download the official script, and run it to add Waydroid repository into your system.

curl https://repo.waydro.id | sudo bash

In case the script does not work properly, find out your OS code manually via either lsb_release -sc or cat /etc/os-release command. Then, run command below instead:

curl https://repo.waydro.id | sudo bash -s jammy

Replace jammy depends on your system code-name. So far, it supports focal, jammy, noble, bookworm, bullseye, sid

3. Finally, run command to install Waydroid:

sudo apt install waydroid

Try sudo apt update first to refresh cache if the command output package not found

Once successfully installed the app, you should be able to launch it from start menu, applications menu, or any other app launcher depends on your desktop environment.

Step 2: Initialize

The first launch of the app, will launch the “Initialize Waydroid” dialog. If it somehow does not launch, try running waydroid first-launch command in terminal (Ctrl+Alt+T) to see what’s going wrong.

NOTE: Non-default Kernels (e.g., Mainline Kernels) may cause Waydroid launch issue due to missing driver. See HERE for more.

The default options are usually OK. But, you may have to choose Android type before getting start:

  • VANILLA – as name indicates, it’s vanilla ROM, without Google Services/Apps.
  • GAPPS – come with Google Services/Gapps.

Next, click Download button will automatically download & install ROM and required packages. In my case, it downloaded & installed Android 11.

When done successfully, it will show you something like the screenshot shows you.

Tips: If you messed things up, try running the commands below one by one to delete local data, so it will look like newly installed:

sudo rm -r /var/lib/waydroid
sudo rm -r /home/.waydroid
sudo rm -r ~/waydroid
sudo rm -r ~/.share/waydroid
sudo rm -r ~/.local/share/waydroid

Then, re-initialize by running command:

waydroid first-launch

Step 3: Start Android system, resize & move window

After clicking “Done” button in last step, start Waydroid again will launch an Android screen on your desktop.

However, it by default starts in full-screen (or may-be called maximized) mode.

To change the Android screen size, open terminal (Ctrl+Alt+T) in the Ubuntu host, and run commands:

waydroid prop set persist.waydroid.width 506
waydroid prop set persist.waydroid.height 1000

The 2 commands will set the screen width and height to 506 x 1000. Change the numbers accordingly, and apply by running command to stop current Android session (then re-launch).

waydroid session stop

The Android window is borderless in my case. To move the window, you may either press & hold Super (Windows logo) key then dragging, or press Alt+F7 and then move mouse cursor without mouse clicking.

Step 4: Install & Remove Android Apps

If you selected ‘VANILLA’ while initializing Waydroid, then there’s no app store in the Android to install applications.

In the case, you may download any APK file from the web, or download & install the free open-source F-Droid in the host (Ubuntu in the case) then use it in Android screen to install apps.

To install APK file from host user’s ‘Downloads’ folder, just run command in terminal (Ctrl+Alt+T):

waydroid app install ~/Downloads/file_name_here.apk

And, verify by listing all installed Android apps:

waydroid app list

Waydroid will create app shortcuts for all installed Android apps, through .desktop files under “.local/share/applications”. Meaning, you can search & launch Android apps directly from host machine (Ubuntu).

Launch ‘F-Droid’ Android app in Ubuntu

And, it supports launching multiple instance of Android apps at the same time out-of-the-box.

To remove an app, either do it in the Android screen, or run command in Ubuntu host:

waydroid app remove packageName

Replace packageName according to waydroid app list output, e.g., org.fdroid.fdroid.

Step 5: Share files between Ubuntu Host and Android

To share files between host and the Android system, simply run single command in Ubuntu host:

sudo mount --bind ~/Documents/vboxshare/ ~/.local/share/waydroid/data/media/0/Documents/share

In the command, you need to replace:

  • ~/Documents/vboxshare/ – ‘vboxshare’ sub-folder in Ubuntu host.
  • ~/.local/share/waydroid/data/media/0/Documents/share – ‘share’ sub-folder of Documents in Android.

You need to first create the share folder if not exist, or it will show mount point does not exist as the screenshot below shows you.

Uninstall Waydroid:

First, stop the session and container, which maybe useful for reloading settings, run commands:

waydroid session stop
sudo waydroid container stop

To remove Waydroid, use command:

sudo apt remove --autoremove waydroid

Then, remove leftovers by running command:

sudo rm -rf /var/lib/waydroid ~/waydroid ~/.share/waydroid ~/.local/share/applications/*aydroid* ~/.local/share/waydroid

If you don’t want to install it back any more, then, also remove the source repository by deleting the sources & key files:

sudo rm /etc/apt/sources.list.d/waydroid.list /usr/share/keyrings/waydroid.gpg

For more about Waydroid, see the official document.

Transmission, Ubuntu’s default BitTorrent client, announced a new bug-fix 4.0.5 release a day ago.

The release fixed the following bugs:

  • the IP address field in UDP announces were not encoded in network byte order.
  • json string serializer improperly escaping characters
  • decreased download speeds for people who set a low upload bandwidth limit.
  • magnet data invalidates tracker IDs
  • HTTP tracker announces and scrapes sometimes failing after adding a torrent file by HTTPS URL.
  • In RPC, change the default sort order of torrents to match Transmission 3.00.
  • Fixed tr_sys_path_copy() behavior on some Synology Devices
  • larger group display name in macOS client.
  • Crash when opening torrent file from “Recently used” in GTK 4 client.
  • only append .added suffix to watchdir files for Qt client.

How to Install Transmission 4.0.5 in Ubuntu

Transmission has an unofficial Snap package, available to install through Ubuntu Software (or App Center).

It’s NOT updated to v4.0.5 at the moment of writing, but after installation, it will update automatically once new version published.

For choice, I’ve made this release into unofficial PPA for all current Ubuntu releases, meaning Ubuntu 20.04, 22.04, 23.04 and 23.10.

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.5

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!

 

This is a step by step beginner’s guide shows how to install LibreWolf web browser in Ubuntu and its based systems.

LibreWolf is a free and open-source web browser fork from Firefox. The browser focuses on privacy and security, and has uBlocker ad blocker out-of-the-box.

The browser website has an official guide for installing in on Debian and Ubuntu based systems. This tutorial is just a re-write with screenshots and more explanations.

NOTE: This tutorial only works on x86_64 system for modern Intel/AMD CPU architecture types.

Step 1: Install the Key

Adding 3rd party repository in Debian/Ubuntu system needs to first install the key, so your system will trust the packages from that repository.

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

wget -qO- https://deb.librewolf.net/keyring.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/librewolf.gpg

This command will download the key file via wget command line tool, dearmor it so the key will be un-readable, finally save it to /etc/apt/keyrings directory.

You may verify the key by running cat /etc/apt/keyrings/librewolf.gpg. And, it should output unreadable text, like the screenshot below shows you.

Step 2: Add LibreWolf Repository

LibreWolf repository so far supports Debian 11/12, Ubuntu 20.04 & 22.04, Linux Mint 20.3, 21.1, 21.2, and all their based systems. It also works in Ubuntu 23.04/23.10 by using the package for 22.04.

1. Get your system code-name

First, run command in terminal (Ctrl+Alt+T) to get the code-name of your system:

lsb_release -sc

The code-name MUST be one of una, bookworm, vanessa, focal, jammy, bullseye, vera, or uma. If NOT, then run command:

cat /etc/os-release

This command will output which version of Ubuntu (and its code-name) is based on.

2. Add LibreWolf repository

Once you got the code-name, run the command below in terminal to create & edit source file:

sudo gedit /etc/apt/sources.list.d/librewolf.sources

Replace gedit in command with gnome-text-editor for Ubuntu 24.04, xed for Cinnamon, pluma for MATE, mousepad for XFCE, or nano command line text editor that works in most desktop environment.

When the file opens, paste the line below and save it:

Types: deb
URIs: https://deb.librewolf.net
Suites: jammy
Components: main
Architectures: amd64
Signed-By: /etc/apt/keyrings/librewolf.gpg

Here you need to replace jammy with the code-name you got in last step. For Ubuntu 24.04 (Noble) and 23.10 (Mantic), just use jammy which is working good in my case.

Finally save the file. For nano text editor, press Ctrl+S to save, then Ctrl+X to exit.

Step 3: Install LibreWolf web browser

After adding the repository and key, run the command below in terminal to refresh your system package cache:

sudo apt update

Finally, install the browser via command:

sudo apt install librewolf

Once successfully installed the package, search for and launch it from start/application menu or ‘Activities’ overview depends on your desktop environment.

And, when a newer version of the browser package is released, just use Software Updater (Update Manager) to update it:

future version of LibreWolf available in Update Manager

Set LibreWolf as default web browser

For the default GNOME Desktop, open Settings (Gnome Control Center), then navigate to Default Applications in left pane. Finally, select “LibreWolf” from the drop-down box for Web.

For GNOME 46 (Ubuntu 24.04), Default Applications has been moved to “Apps” settings page.

Other desktops may have their own option to do the job. If you don’t know where to find the option, try editing the config file that works in most desktop environments. To do so:

  • First, open file manager and press Ctrl+H to show all hidden files and folders.
  • Navigate to .config sub-folder and click edit mimeapps.list file.
  • Finally, set librewolf.desktop for text/html, x-scheme-handler/http, x-scheme-handler/https and save file.

How to Remove LibreWolf Web Browser

To remove the web browser, also open terminal (Ctrl+Alt+T) and run command:

sudo apt remove librewolf --autoremove

Also remove the Key file as well as source repository by running commands in terminal one by one:

sudo rm /etc/apt/sources.list.d/librewolf.sources
sudo rm /etc/apt/keyrings/librewolf.gpg

And, refresh system package cache after making changes to package sources.

That’s all. Enjoy!

I’m using Virtualbox to try out different Linux Distributions in virtual machines. It always has 2 logo icons on Ubuntu dock: one for the manager, and another for VMs.

The VM and VM manager icons on the dock are totally same, causing me to make mis-clicks frequently. And, all the opened VMs are grouped into single icon on the dock.

If you don’t like this default behavior, then it’s easy to make Virtual Virtual Machines to have separate icon per instance.

As the screenshot below shows you, after following this tutorial, every VM will have its own system logo on Ubuntu Dock:

UPDATE: This tutorial ONLY works for Virtualbox installed from virtualbox.org/wiki/Linux_Downloads.

Method 1: Disable virtualboxvm.desktop

The VM icons for Linux are handled by virtualboxvm.desktop file under “/usr/share/applications” directory. Simply disable that file will make Virtualbox VM (7.0.12 in my test) fall back to separate icon with system/distro logo.

To do so, just create an empty file with same filename under “.local/share/applications”. It will be taken in use instead of the one in ‘/usr/share/applications’ for current user only.

Option 1: Single command to create empty virtualboxvm.desktop

Ubuntu user can press Ctrl+Alt+T on keyboard to open terminal, then run the single command below to create the empty file:

touch ~/.local/share/applications/virtualboxvm.desktop

This command should work in most Linux, though running command mkdir -p ~/.local/share/applications may be required first to create the directory.

Option 2: Use text editor to create empty virtualboxvm.desktop

For those who hate Linux commands, simply search for and launch a text editor window.

Then, it should by default open an empty file (if not create one). There open menu and select “Save as”.

In next dialog, name the empty file to virtualboxvm.desktop and save it into “Home > .local > share > applications”.

The change will be applied next time you launch a VirtualBox VirtualBox.

Method 2: Edit virtualboxvm.desktop

In case the first method does not work for you, you can configure the file to make it start VM as separate process.

1. First, open 2 “Files” windows. Then drag’n’drop virtualboxvm.desktop to local folder.

  • In “Files” (aka nautilus), navigate to Other Locations -> Computer -> usr -> share -> applications, then, find out the virtualboxvm.desktop file.
  • In another “Files” window, press Ctrl+H, then navigate to .local -> share -> applications. Finally, drag’n’drop the file to this folder.

2. Right-click on the virtualboxvm.desktop file in .local/share/applications folder and click “Open with Text Editor”.

When the file opens, add --separate flag to ‘Exec’ line. So it will be ‘Exec=VirtualBoxVM --separate %U‘.

For choice, you can change the icon to Icon=virtualbox-vbox, or replace with /path/to/whatever-icon that your want. However, all VMs will use the same icon on Ubuntu Dock.

How to Restore

To restore the change, simply delete the empty file either in your file manager or by running command in terminal:

rm ~/.local/share/applications/virtualboxvm.desktop

That’s it. Enjoy!