Archives For November 30, 1999

Cheese, the default app for taking photos or recording via webcam, is not working properly in my case in Ubuntu 22.04.

By launching the app, webcam light turns on and persists only for a few seconds. Then it displays a blank screen with following text:

“There was an error playing video from the webcam”

According to the Ubuntu bug report and the upstream one, it seems to have something to do with the patch for MJPEG output support that causes issue on low end PC (I guess).

And, here are a few workarounds that works in my laptop with HP TrueVision HD Camera.

Workaround 1: Change output resolution

Firstly, launch Cheese and open “Preference” dialog from the hamburger menu. When it opens, change the resolution from 1280×720 to 640×480. Then close the app.

Next, launch Cheese again. It display a blank screen but camera light keeps on in my case. Continue decreasing the resolution until it works again. Then switch back a higher photo/video resolution.

However, the highest 1280×720 resolution produces a corrupted display just as the bug reported. While 640×480 works great in my case.

Workaround 2: Install Cheese 3.38 via Flatpak

The previous v3.38 does not has the issue. It’s available to install via the universal Flatpak package.

1. Firstly, press Ctrl+Alt+T on keyboard to open terminal. When it opens, run command to install the daemon:

sudo apt install flatpak

2. Next, install Cheese as Flatpak using command:

flatpak install https://dl.flathub.org/repo/appstream/org.gnome.Cheese.flatpakref

There’ll be a few hundreds more MB run-time libraries to install for the first time.

Finally, run the command below to launch the Flatpak to see if it works:

flatpak run org.gnome.Cheese

3. (Optional) Remove the pre-installed Cheese package.

The make the app icon in search result to launch Cheese as Flatpak instead of the pre-installed package. You may remove the original package via command:

sudo apt remove cheese

And a system restart is required if you’re first time installing an app as Flatpak.

How to Restore

To remove the Flatpak package, use command:

flatpak uninstall --delete-data org.gnome.Cheese

And install back the original Cheese package using command:

sudo apt install cheese

Workaround 3: PPA with Cheese package (patched)

As @matthew.ruffell mentioned in the bug report, revert the commit will make it work again. This could be a workaround until the upstream fixed the issue. However, in my build the 1280×720 resolution just disappeared…

Ubuntu 22.04 has better support for the low latency PipeWire multimedia framework. Here’s how to setup it for PulseAudio, ALSA, JACK and Bluetooth output.

Firstly, Pipewire is pre-installed out-of-the-box, and runs as background service automatically. You may check it out by running command below in terminal:

systemctl --user status pipewire pipewire-session-manager

PipeWire installed out-of-the-box

IMPORTANT: This is NOT officially supported by Ubuntu so far. It still may not work on some devices. Don’t do it on production machine!

Step 1: install client libraries

Though available out-of-the-box, it’s not in use by default for audio output. To get start, first press Ctrl+Alt+T on keyboard to open terminal, and run command to install client libraries:

sudo apt install pipewire-audio-client-libraries libspa-0.2-bluetooth libspa-0.2-jack

Step 2: install wireplumber to replace pipewire-media-session

The project maintainer now recommends more advanced “wireplumber” session manager when to use Pipewire as system sound server.

To install the package and remove “pipewire-media-session”, run the command below in terminal:

sudo apt install wireplumber pipewire-media-session-

NOTE: there’s a ‘-‘ in the end of the command indicates to remove the package. The command will also install the required pipewire-pulse automatically.

Step 3: Copy configuration files:

wireplumber makes things quite easy! If you just want to replace PulseAudio with Pipewire, enable the media session service and restart and that’s all!!

For ALSA clients to be configured to output via PipeWire, run command to copy the configure file:

sudo cp /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/

For JACK client, run command:

sudo cp /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-*.conf /etc/ld.so.conf.d/

And then sudo ldconfig.

For Bluetooth, just remove the pulseaudio-module-bluetooth package via command:

sudo apt remove pulseaudio-module-bluetooth

And, finally enable the media session by running command:

systemctl --user --now enable wireplumber.service

Step 4: Verify

After restarted Ubuntu 22.04, run the command below in terminal.

pactl info

It should output Sound server: PulseAudio (on PipeWire x.x.x) indicates Pipewire is in use as sound output.

How to Restore:

To undo the changes, firstly remove the client libraries via command:

sudo apt remove pipewire-audio-client-libraries libspa-0.2-bluetooth libspa-0.2-jack

Remove wireplumber and install back the previous media session package (there’s also ‘-‘ in the end):

sudo apt install pipewire-media-session wireplumber-

Finally, re-enable pipewire-media-session service by running commands:

rm -f ~/.config/systemd/user/pipewire-session-manager.service
systemctl --user --now enable pipewire-media-session

Thanks to @lestcape, if sound’s still not working, try to disable pipewire-pulse services via command:

systemctl --user --now disable pipewire-pulse.service pipewire-pulse.socket

If you tried to enabled it globally, also disable it via command:

sudo systemctl --global --now disable pipewire-pulse.service pipewire-pulse.socket

And re-enable the original pulseaudio service via command:

systemctl --user --now reenable pulseaudio.service pulseaudio.socket
sudo systemctl --global --now reenable pulseaudio.service pulseaudio.socket

Installing Ubuntu is quite easy today using an USB stick. Here’s the step by step guide that shows the details about the installing process for those new to this operating system.

Step 1: Create boot-able USB installer

We usually burn the Ubuntu iso image into a USB stick, then boot PC with it to get into a live Ubuntu system, and finally start the wizard to install the system to hard disk.

Firstly, a USB stick with 4 GB+ memory is required, download ISO image from releases.ubuntu.com, and follow this guide to burn it:

Step 2: Boot your PC with the USB

Next, plug the USB stick into the target PC, start or restart and press F2/F10 (or other keys depends on your machine) to get into BIOS/UEFI. Select boot the USB, and you should see the following screen:

live-USB boot menu

Finally, select boot the first menu entry, or the second “safe graphics” if the first entry does not work for your machine.

Step 3: Start install wizard, choose language & keyboard layout

It will automatically launch the install wizard after successfully boot into the live system.

In the first page, choose the language for this wizard and live system. Then:

  • click “Try Ubuntu” to try the live system. There’s a shortcut icon to launch installer again if you decide to install the system on your disk.
  • or click “Install Ubuntu” to get to next page.

In the next keyboard layout page, it should automatically select the correct keyboard layout. You may press any key on keyboard and see the screen output to verify. Use “Detect Keyboard Layout” or select layout manually if the default is not correct.

Next, it will prompt to choose between “Normal Installation” and “Minimal Installation”. We usually choose the former one, unless you just need a web browser along with core system libraries.

For updates and third-party software under “Other options”, check the boxes as you prefer if you has internet connection. They are also available to install after system installation.

Step 4: Choose disk or assign partition manually

In the next page, it will ask where to install the Ubuntu system. There are usually following options:

  • Erase disk and install Ubuntu – use the whole hard disk for Ubuntu. You’ll lost all the data in your disk. There’s also “Advanced features” allows to encrypt the system.
  • Install Ubuntu beside Windows – If you’ve a Windows system in the disk, there’ll be the option to use all the left space for Ubuntu installation. So you’ll have Ubuntu and Windows dual-boot.
  • Install/Reinstall Ubuntu on top of … – Clear the old Ubuntu system and use the disk partition for new Ubuntu system.
  • Something else – edit disk partition manually.

Step 5: Manually create system partition

If you choose “Something else” in the previous screen. It will bring you into the partition table.

In this page, you need to create following partitions using the free disk spaces (or remove and re-use unused spaces):

  • EFI – 100 ~ 500 MB. (optional for old legacy BIOS without secure boot)
  • Swap area – as large as RAM (optional if you have large RAM. And, a swap-file can take the job after installation)
  • /boot Ext4 partition – 500 ~ 1000MB (optional, but required for LVM or disk encryption)
  • Ext4 mounted at “/” – 20GB + the bigger the better (required)

Here are some partition combinations for installing Ubuntu:

  • EFI + Ext4 mounted at “/”
  • EFI + Swap + Ext4 mounted at “/”
  • EFI + Ext4 mounted at “/” + separated “/boot” partition
  • EFI + Swap + Ext4 mounted at “/” + separated “/boot” partition
  • Ext4 mounted at “/” (for legacy boot only)
  • Ext4 mounted at “/” + separated “/boot” partition (for legacy boot only)
  • Swap + Ext4 mounted at “/” (for legacy boot only)
  • Swap + Ext4 mounted at “/” + separated “/boot” partition (for legacy boot only)
  • EFI + Ext4 mounted at “/” (Encrypted) + separated “/boot” partition (no swap and /boot is required)

Here are the screenshots of example partition table and partition create dialog (use ‘+’ to create yours).

For encrypted Ubuntu system, instead of directly creating “Ext4 file system” mount at ‘/’, create and select use as “physical volume for encryption”.

In this mode, you’ll need to type the secure key (password) every time you boot Ubuntu. And mount Ubuntu system volume from another machine/system need this key too.

Then right-click on it in partition table and select mount point “/”. NOTE: you have to remove Swap area if any and create separated ‘/boot’ partition first for encryption mode.

And under “Device for boot loader installation”, use the default “/dev/sdx” will install the Grub boot-loader for loading all systems in the disk. Though UEFI still allows to choose boot-loader at boot.

Step 6: Setup Account, Location and done

After click “Install Now” and confirm on pop-up dialog. The wizard will prompt to set up your account, computer name, and select location.

You may add more accounts after installation, and other information can be changed later. So just do the settings as you prefer.

Finally, wait the process done. If no error occur, it should prompt installation done with option to restart your computer.

It may sometimes refuse to restart after clicked the button. That’s not a big deal, just press and hold the power key to force shutdown and boot it again.

Ubuntu is always not ready for use out-of-the-box, because every user has his/her own preferences. And, here’s a list of things I did after installing Ubuntu 22.04 LTS.

1. Install Media Codec:

To speed up the installing process, I never enable the network connection in Ubuntu’s installer wizard. So, the media codecs is not installed and audio/video player does not work out-of-the-box.

Press Ctrl+Alt+T on keyboard to open terminal. And, refresh the package cache if you’ve not done that.

sudo apt update

Then, install the codecs for audio, video playback, Microsoft fonts, rar support, and so forth via this command:

sudo apt install ubuntu-restricted-extras

Thanks to @Stephen, the command will output a TTF EULA message asks you to click ‘OK’ to confirm. In case you don’t know how to continue, press Tab to highlight the button and hit Enter.

2. Remove Firefox and install the Deb version:

I use Firefox to install Gnome Extensions regularly. But the pre-installed Firefox is a Snap package that does not support the feature.

It’s easy to remove the Firefox Snap by running command (back your data first!) in terminal:

sudo snap remove --purge firefox

However, Firefox Deb package in 22.04 repository is just a wrapper that links to Snap. Except the official Linux Tarball, there are only third-party repositories (though really trustworthy): Ubuntuzilla and “Mozilla Team” team PPA.

I personally prefer the “Mozilla Team” team PPA. And, simply run the commands below one by one will install Firefox Deb package from that repository:

sudo add-apt-repository ppa:mozillateam/ppa
sudo apt install -t 'o=LP-PPA-mozillateam' firefox

After installation, you need to set higher PPA priority to prevent Ubuntu from installing the Snap back. See here for details.

3. Select your favorite accent color

Ubuntu 22.04 introduced 10 accent colors in “Appearance” settings page. It allows you change the color of slider bar, on/off switch, check-box, highlight text background, input box border, and even folder icon.

Choose favorite accent color

4. Tweak Ubuntu Dock (the left panel)

Click to minimize, minimize the app window when click on its icon on the dock by running command:

gsettings set org.gnome.shell.extensions.dash-to-dock click-action minimize

Shorten the left panel and move it to the bottom using system settings under “Appearance” page:

And, remove mounted and network volumes from the dock via “Configure dock behavior” setting options.

5. Setup Gnome Extensions support.

Most extensions are available to install from https://extensions.gnome.org/. Ubuntu however does not ready for it out-of-the-box.

After switching Firefox Snap to another package (or another browser), you need to press Ctrl+Alt+T to open terminal and run command to install required packages:

sudo apt install chrome-gnome-shell gnome-shell-extension-prefs

It installs the agent to be able to install Gnome Extensions from web browser, as well as the “Gnome Extensions” app to manage all available extensions on your system:

Manage Gnome Extensions

(Update) 6. Install Gnome Extension Manager:

Started in Ubuntu 22.04, there’s a cool new graphical tool made into official repositories. It’s “Extension Manager“, which allows to search, install, remove and manage Gnome Extensions.

With the tool, you do not have to remove the pre-installed Firefox or use another browser any more.

Search extensions

To install the Extension manager, open terminal by pressing Ctrl+Alt+T on keyboard and run command:

sudo apt install gnome-shell-extension-manager

7. Install Gnome Tweaks / Dconf Editor.

For more configuration options about desktop appearance and behavior, Gnome Tweaks and Dconf Editor are highly recommended.

And, they are both available to install either from Ubuntu Software or by running the command below in terminal:

sudo apt install gnome-tweaks dconf-editor

8. Weather forecast in Clock menu

Gnome’s (the default desktop) core weather app will add weather condition about the next few hours in the clock menu.

Simply install the app by running the command below in terminal:

sudo apt install gnome-weather

Then launch it from the ‘Activities’ overview screen. Setup your location and see the daily or hourly weather forecast. The clock menu will display hourly forecast automatically after that.

9. Install some extensions

There are many great Gnome extensions. Here are few of them that are highly recommended:

10. Enable ability to apply another Gnome Shell themes.

There are tons of Gnome Shell themes available to change the look and feel of the top-bar, dock, and system menus.

To be able to apply one of these themes, you have to first install the ‘User Themes extension’:

Then, use “Gnome Tweaks -> Appearance” page to select an installed theme for Shell use.

The new Ubuntu 22.04 LTS has been released! If you’re going to do a fresh install, then this tutorial may help to burn the ISO image into your USB stick.

Requirements:

To follow this tutorial, you need following things to get start:

Step 1: Verify the Downloads

Before burning the ISO image, it’s better to verify the data integrity. If you’re confident that the iso image is OK, you may just skip this step.

For Linux, simply run the command below in terminal and compare the output with the “SHA256SUMS” file in previous download link.

sha256sum ~/Downloads/ubuntu-22.04-desktop-amd64.iso

For Windows user, search for and open CMD, and run command (replace YOUR_USER accordingly):

certutil -hashfile C:/Users/YOUR_USER/Downloads/ubuntu-22.04-desktop-amd64.iso SHA256

Verify iso image

Step 2: Backup

Creating boot-able USB installer will format your USB stick. All data stored in USB will be cleared!! So it important make a backup first.

Step 3: Burn the ISO image

Firstly, plug in your USB stick and do following steps depends on which operating system you have.

Option 1: From Ubuntu PC:

If you’re now running with an old Ubuntu system, just search for and open “Startup Disk Creator” from the Activities overview screen.

When it opens, it should select the USB drive automatically as well as the ISO image. If not, click on “Other” button, then browse and select the Ubuntu 22.04 iso image.

Click on “Make Startup Disk” button, then type user password to authentication. Then just wait, the process should be done in a few minutes!

Option 2: From Windows, MacOS, and other Linux:

There are a few other tools to create Linux USB installer. Here I tried the UNetbootin, which works in Linux, Windows, and MacOS.

Firstly, download the free open-source tool from its website:

Then start the app, it should automatically detect your USB stick. Just click on the ‘…’ button to select the Ubuntu 22.04 iso image, and then click on OK to start burning it.

Ignore the second dialog, it’s a bug persists for a period of time, though it won’t affect the USB burning process.

Option 3: Use Ventoy

Ventoy is a new solution for booting iso image from USB. With it, you can just save images in normal way, along with other files. When you try to boot from USB, it will look for the iso images automatically and provide the option to boot them.

However, it seems not working quite good with UEFI. At least it does not work in my laptop with secure boot enabled. See here for more.

When everything’s done successfully, select boot your USB stick from BIOS (UEFI) and enjoy!

Ubuntu 22.04, code-name “Jammy Jellyfish”, is out! See what’s new in this Long Term Support (LTS) release!

Ubuntu 22.04 features Linux Kernel 5.15, GNOME 42 Desktop, New Logo, and tool-chain updates!

New Logo:

Ubuntu’s logo, the Circle of Friends, has been updated with new design more than a months ago. You’ll see the new logo in system startup, shutdown, and ‘About’ settings page of Ubuntu 22.04.

Gnome 42:

The release ships customized version of GNOME 42 desktop, which was released in last month. With the power of the new desktop environment, you may take screenshots and record desktop via its built-in UI (press PrintScreen to get it).

New Screenshot UI

The “Appearance” settings page now provides option to switch Full Dark Mode. Not only app windows, but also make dark for system menus, notifications, context menu, etc.

There are also 10 accent colors available under ‘light/dark’ switch. The color will apply in slide bar, check-box, on/off switch, input box, highlight text background, and even folder icon!

As you see in picture, some basic desktop icons settings (e.g., icon size, position, toggle display home icon) has been merged in “Appearance” page. As well, more dock settings (shorten height, hide trash/mounted volumes) has been added.

Desktop icons and Dock settings

For those need to share Ubuntu desktop for remote access, you’ll see Ubuntu 22.04 now defaults to use Microsoft’s RDP protocol, though the legacy VNC is still available. You can find it by going to “Sharing” in system settings.

Changes compare to Ubuntu 20.04 Desktop:

If you’re still using Ubuntu 20.04 LTS, there will be even more changes which have already introduced in Ubuntu 21.10/21.04.

It now makes easy to change your laptop power mode, either in system settings or upper right system tray menu.

A new “Multitasking” settings page is added to control hot corner (top-left only), screen edges, workspaces and app switching.

For laptop users, there are 3-finger touchpad gestures introduced in GNOME 40. They are:

  • 3-finger up to trigger ‘Activities’ overview.
  • 3-finger down to go back desktop.
  • 3-finger left/right to switch workspaces.

Gnome Wayland has been the default session since Ubuntu 21.04. In Ubuntu 22.04, Wayland support also works for NVIDIA driver user. The legacy Xorg session is still available to choose in login screen in case your apps are not working properly.

Other changes in Ubuntu 22.04 include:

  • Switch Firefox to Snap package (See how to install the .deb back).
  • nftables as default firewall backend
  • GTK4 + GTK3, so you’ll see apps with 4 rounded corners while others not.
  • Firefox 99, LibreOffice 7.3, Thunderbird 91.
  • Python 3.10, GCC 11.2.0, Perl 5.34, golang 1.18, OpenSSL 3.0.
  • And see here for more.

Download Ubuntu 22.04:

The desktop and server iso images are available to download at the link below:

For clould, Ubuntu flavor and others go to https://ubuntu.com/download.

For notepad++ fans, there’s a free open-source project that reimplement the text editor with native Linux support!

It’s Notepad Next, a C++ application uses Qt5 toolkit for its user interface. Compare to Notepadqq (another Notepad++ like editor), this app looks almost same to Notepad++.

And it’s a cross-platform app that not only supports for Linux, but also works Windows and MacOS.

Install Notepad Next:

I’m not a programmer and don’t even use Notepad++, so I can’t tell how it different to this original Windows app. Just try it out yourself:

NOTE: Though the application overall is stable and usable, it should not be considered safe for critically important work.

For Linux, just grab the .AppImage package, add executable permission and run to launch the app.

You may alternatively install the app as Flatpak package. Setup the Flatpak daemon first and then install it by running command:

flatpak install https://dl.flathub.org/repo/appstream/com.github.dail8859.NotepadNext.flatpakref

This simple tutorial shows how to replace the default Snap Store (Ubuntu Software or App Center) with Gnome Software with Flatpak support in Ubuntu 22.04, Ubuntu 24.04 LTS.

Many applications today publish Linux packages via Flatpak. However, Ubuntu’s software center (aka Snap Store, now renamed to App Center in 24.04) does not support this universal package format.

If you like, Gnome Software can be a good alternative which has both Snap and Flatpak as well as Deb packages support.

Install Flatpak apps via Gnome Software

(Optional) Step 1: Remove Snap Store

If you don’t need the default snap store, removing it will free up more than 100 MB memory.

To do so, press Ctrl+Alt+T on keyboard to open terminal, and run command:

sudo snap remove --purge snap-store

You may also follow this guide to completely remove Snap and prevent Ubuntu from automatically installing them back.

Remove the default Ubuntu Software (Snap Store)

Step 2: Install Gnome Software

Also in terminal window (press Ctrl+Alt+T to open one), run the command below to install Gnome Software as well as Flatpak support:

sudo apt install --install-suggests gnome-software

Ubuntu seems to be a little bit self-centered. Without --install-suggests flag, it installs with Canonical’s Snap support but not for Flatpak.

Install Gnome Software

Step 3: Add Flathub repository

The previous command will also install the Flatpak daemon package if you don’t have it. But, it does not add the Flathub.org repository, the best place to get Flatpak apps.

To add it, run command:

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

(Optional) Step 4: Change the app icon

Now you may press Windows (Super) key on keyboard, then search for and open Gnome Software to install apps in Deb, Snap, Flatpak, and use “Software Install” context menu option to install local files in the 3 formats.

Gnome Software original app icon

The app window looks almost same to the Ubuntu Software (Snap Store) but the icon does not.

If you want, edit the app shortcut file by running command in terminal:

sudo gedit /usr/share/applications/org.gnome.Software.desktop

For Ubuntu 24.04, replace gedit with gnome-text editor. When the file opens, set software-center (or app-center for Ubuntu 24.04)as value for “Icon“. You may also change the value of “Name” which displays as text in search result.

After saving the file, re-search it again from the overview screen to see the magic:

How to Restore:

For any reason, you can easily remove the Gnome Software app using command:

sudo apt remove --autoremove gnome-software

And install back the original Ubuntu Software via command:

sudo snap install snap-store

That’s all. Enjoy!

Ubuntu is distributing more applications as the universal Snap package, but some users don’t like them. So I’m writing this tutorial for those want to completely get rid of Snap and prevent it from being installed back.

NOTE 1: Before getting started, please backup your app data, e.g., Firefox bookmarks. Attention that Ubuntu Software and App Center will also be removed after following this tutorial.
NOTE 2: This tutorial is tested and works in Ubuntu 22.04 and Ubuntu 24.04. It should also work on official flavors, e.g, XUbuntu, KUbuntu, etc.

Step 1. Remove Snap apps and the Daemon

Press Ctrl+Alt+T on keyboard to open a terminal window. When it opens, run the commands below one by one.

1.) List all installed snap applications:

snap list

They are by default Snap Store (Ubuntu Software), Firefox, default theme, and few core packages.

2.) Remove the apps one by one, Firefox and Snap-store go first, then theme package, gnome platform (in sandbox), and finally base packages and snapd daemon. NOTE: the package names may vary depends on “snap list” output.

sudo snap remove --purge firefox
sudo snap remove --purge snap-store
sudo snap remove --purge gnome-3-38-2004

Also run snap remove command to remove “gtk-common-themes”, “snapd-desktop-integration”, “bare”, “core20”, and finally “snapd”.

3.) Finally remove the Snap daemon package via apt:

sudo apt remove --autoremove snapd

Step 2. Block Snap package

After completely removed snap packages, you may prevent Ubuntu from installing them back by settings low priority for the Snapd package. Here’s how to do the trick inspired by the way Linux Mint 20 did.

1.) Press Ctrl+Alt+T on keyboard to open terminal. When it opens, run the command below to create and open a configuration file:

sudo gedit /etc/apt/preferences.d/nosnap.pref

For Ubuntu 24.04, replace gedit with gnome-text-editor. For non-GNOME desktop, use your system text editor or nano (Ctrl+S to save, and Ctrl+X to exit) that works for all.
When the file opens, paste lines below to tell refuse snapd from any repository:

# To prevent repository packages from triggering the installation of snap,
# this file forbids snapd from being installed by APT.

Package: snapd
Pin: release a=*
Pin-Priority: -10

2. After save the file, refresh package cache via command:

sudo apt update

Now, whenever you try to installed a Snap package or the daemon, it outputs either unmet dependencies (snapd) or package has no installation candidate.

How to Restore:

If you change your mind, run the commands below at any time will install back the Snap apps.

Firstly, run command in terminal (Ctrl+Alt+T) to unblock the daemon:

sudo rm /etc/apt/preferences.d/nosnap.pref

Then, install Ubuntu Software via command:

sudo snap install snap-store

And install Firefox as snap if you want by running command:

sudo apt install firefox

To run Microsoft Windows applications in Ubuntu Linux, Wine or CrossOver (paid version) is a good choice. And here’s how to install and use Wine in Ubuntu 22.04 LTS, Ubuntu 24.04, and Ubuntu 20.04

In this tutorial, you’ll see 2 ways to install Wine in Ubuntu. Choose either one that you prefer.

NOTE: NOT all Windows apps can install & run through Wine. See this page for the list of apps compatible with Wine.

Option 1: Install Wine from Ubuntu repository:

Ubuntu included Wine package in its own repository, though it’s old. User may simply press Ctrl+Alt+T on keyboard to open terminal and run command to install it:

sudo dpkg --add-architecture i386 && sudo apt install wine

Type user password (no asterisk feedback) and hit Enter to authentication for sudo.

After installed package run winecfg in terminal to generate configuration file. And, run command to make link the .desktop file:

sudo ln -s /usr/share/doc/wine/examples/wine.desktop /usr/share/applications/

Finally, you may right-click on an EXE file to run via “Wine Windows Program Loader” option:

Option 2: Install Latest Wine 9.x from its official repository:

The Wine developer team provides an official apt repository for Debian/Ubuntu based systems. Now the repository contains Wine 9.0.x stable, and 9.x Dev versions.

The repository so far supports Ubuntu 20.04, Ubuntu 22.04, and Ubuntu 24.04! It also works for Ubuntu 16.04 and Ubuntu 18.04, but old versions will be installed (Wine 5.0.3 for 16.04, and Wine 8.0.1 for 18.04).

1. Install Wine key

The repository now has updated with new method to install the key to follow Debian policy, as apt-key is deprecated. However, it’s still ASCII-armored key so far.

Press Ctrl+Alt+T on keyboard to open terminal. When it opens, create the directory for storing the keys:

sudo mkdir -p /etc/apt/keyrings

Then, run the single command to download the key, dearmor, and move to “/etc/apt/keyrings” directory:

wget -qO - https://dl.winehq.org/wine-builds/winehq.key | gpg --dearmor | sudo tee /etc/apt/keyrings/winehq-archive.key

Type user password (no visual feedback) when it asks. And, the command should output unreadable text as the screenshot below shows you:

2. Add Wine repository:

Next run the commands below one by one to download the repository setup file and move to “/etc/apt/sources.list.d” directory.

sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/$(lsb_release -sc)/winehq-$(lsb_release -sc).sources

NOTE: This command is for Ubuntu only. “$(lsb_release -sc)” returns system’s code-name. For Linux Mint and other Ubuntu based system, replace it with jammy (22.04), focal (20.04), or noble (24.04) depends on which Ubuntu edition your system is based on.

If you don’t know which Ubuntu edition you system is based on, run cat /etc/os-release to tell through UBUNTU_CODENAME section.

3. Update cache

Before installing any package from that repository, you need to refresh system cache by running command in terminal:

sudo apt update

4. Install Wine:

The Wine repository provides three Wine packages:

  • winehq-stable – the stable version (v9.0.x so far)
  • winehq-devel – the latest development release.
  • winehq-staging – the testing version with patches applied on top of the corresponding wine-devel

Select install one of the packages by running command below in terminal:

  • To install the stable edition use command:
    sudo apt install winehq-stable
  • Install wine development release via:
    sudo apt install winehq-devel
  • Or install wine-staging via command:
    sudo apt install winehq-staging

NOTE: It does not re-build old packages for new Linux systems. winehq-stable so far is not available for Ubuntu 22.04, since the new LTS is released after wine stable 7.0. User may wait for the next stable release (v7.0.1 or v8.0).

After installation, right-click on your EXE file and start it via Wine program loader option. See if your app works with wine.

How to Remove Wine:

1. To remove the Wine package, simply open terminal and run commands:

sudo apt remove wine winehq-stable winehq-staging winehq-devel

There will be local configuration files and app data left under .wine and .local/share/applications. They are hidden folders, press Ctrl+H in file manager to toggle display and remove them as you want.

2. To remove the Wine repository, open terminal (Ctrl+Alt+T) and run command:

sudo rm /etc/apt/sources.list.d/winehq-*.sources

And remove the repository key via command:

sudo rm /etc/apt/keyrings/winehq-archive.key

Finally apply changes by running sudo apt update to refresh system package cache.