Your submission was sent successfully! Close

Install Ubuntu on WSL2 on Windows 11 with GUI support

1. Overview

Windows Subsystem for Linux (WSL) allows you to install a complete Ubuntu terminal environment in minutes on your Windows machine, allowing you to develop cross-platform applications without leaving windows.

What you will learn:

  • How to enable and install WSL on Windows 11
  • How to install and run a simple graphical application that uses WSLg
  • How to install and run a much more advanced application that uses WSLg

Note: For Windows 10 users please refer to our alternative tutorial here.

What you will need:

  • A Windows 11 physical or virtual machine with all the updates installed

Note: This tutorial doesn’t cover GPU acceleration which is covered in a tutorial of its own.


2. Install WSL

We saw in the tutorial Install Ubuntu WSL on Windows 10 that WSL can be installed from the command line. In Windows 11, it is also available directly from the Microsoft store as an application. Installation from the store will install the latest version of WSL with all the latest features.

Prerequisites

Make sure the following prerequisites are met before installing:

  • You are running Windows 11 (build 22000 or higher)
  • Virtual Machine Platform optional feature is enabled

To check the build number, open the Windows menu by pressing the Windows key, then type about in the search field, as shown in the following screenshot:

And select the line About your PC to launch the System / About page.

The OS build number must be higher than 22000. If it is not, then WSL cannot be installed by following this tutorial. Follow the instructions here instead.

The second prerequisite to verify is the Virtual Platform feature.

Search for Windows features.

Open the control panel and scroll down to Virtual Machine Platform.

After installation of the Virtual Machine Platform component, you must restart Windows 11 before proceeding with the installation of WSL components and an Ubuntu application.

Installation of WSL from the Microsoft Store

Duration: 3:00

WSL components are now available as a preview version directly from the Microsoft Store like other Windows applications.

To install the WSL application from the Microsoft Store, open it and search for Windows subsystem.

Click on the item Windows Subsystem for Linux Preview to open the corresponding application page.

Click on Get to download and install the application.

Upon installation, you can click on Open, but it will not do much since there is no Linux distribution installed.

However, if you really want to open the WSL application without installing a distribution, you’ll see a nice and short help message that you must follow in order to make something useful with WSL:

You can now proceed with the installation of Ubuntu.


3. Download Ubuntu

WSL supports a variety of Linux distributions including the latest Ubuntu release, Ubuntu 20.04 LTS, and Ubuntu 18.04 LTS. You can find them by opening the Microsoft Store app and searching for Ubuntu.

Choose the distribution you prefer and then select Get.

Which version should I choose?
There are three types of Ubuntu releases published to the Microsoft Store:

  • Ubuntu with a version number e.g. Ubuntu 20.04. This will always be 20.04 and upgrades won’t be proposed once 22.04 is released.
  • Ubuntu without a version number. This is the latest LTS version of Ubuntu after the first point release. At the time of writing, it is Ubuntu 20.04. It will remain Ubuntu 22.04 until the first point release of Ubuntu, for example 22.04.1. An upgrade to 22.04 will be proposed for existing users once 22.04.1 is released.
  • Ubuntu Preview is a daily build of the latest development version of Ubuntu. You should install it if you want to live on the edge but not for production workload as it doesn’t receive the same amount of QA as stable releases and may break at any time.

Ubuntu will then install on your machine.

Once installed, you can either launch the application directly from the store or search for Ubuntu in your Windows search bar.


4. Configure Ubuntu

Congratulations, you now have an Ubuntu terminal running on your Windows machine!

Once it has finished its initial setup, you will need to create a username and password (this does not need to match your Windows user credentials).

Finally, it’s always good practice to install the latest updates with the following commands, entering your password when prompted.

sudo apt update

Then

sudo apt full-upgrade

Press Y when prompted.


5. Install and use a GUI package

On Windows 11, WSL comes with WSLg enabled by default. WSLg allows you to run graphical linux applications.

To check that you have the latest package lists, type:

sudo apt update

Then, start with some basic X11 applications:

sudo apt install x11-apps

To run the xeyes, a “follow the mouse” application, type:

xeyes &

The & at the end of the line will execute the command asynchronously. In other words, the shell will run the command in the background and return to the command prompt immediately.

The first launch of a GUI application takes a few seconds while WSL is initializing the graphics stack. Next executions of GUI applications are much faster.

Leave xeyes opened and run the calculator xcalc with:

xcalc

When you move the cursor over the calculator, xeyes follows the cursor. This shows that several GUI applications can interact together.

Note that applications running under WSLg display a little penguin at the bottom right corner of their icons in the Windows taskbar. That’s one way you can distinguish applications running on Windows or Ubuntu (besides the window decoration and styling).

Close xeyes and xcalc by pressing the cross icon on the top right corner of each X application window.

Xcalc and xeyes are very basic X Windows applications but there are plenty of choices in the Linux ecosystem corresponding to your needs and available out of the box on Ubuntu.

In the following example, we will use GNU Octave to perform numerical computation.

GNU Octave is software featuring a high-level programming language, primarily intended for numerical computations. Octave helps in solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with MATLAB. [GNU / Octave ]

We will use it to calculate and draw a beautiful Julia fractal. The goal here is to use Octave to demonstrate how WSLg works, not to go through the theory of fractals.

First thing is to install the software like we did for x11-apps, from the terminal prompt run:

sudo apt install octave

Then start the application:

octave --gui &

Do not forget the ampersand & at the end of the line, so the application is started in the background and we can continue using the same terminal window.

In Octave, click on the New script icon to open a new editor window and copy/paste the following code:

#{

Inspired by the work of Bruno Girin ([Geek Thoughts: Fractals with Octave: Classic Mandelbrot and Julia](http://brunogirin.blogspot.com/2008/12/fractals-with-octave-classic-mandelbrot.html))

Calculate a Julia set

zmin: Minimum value of c

zmax: Maximum value of c

hpx: Number of horizontal pixels

niter: Number of iterations

c: A complex number

#}

function M = julia(zmin, zmax, hpx, niter, c)

%% Number of vertical pixels

vpx=round(hpx*abs(imag(zmax-zmin)/real(zmax-zmin)));

%% Prepare the complex plane

[zRe,zIm]=meshgrid(linspace(real(zmin),real(zmax),hpx),

linspace(imag(zmin),imag(zmax),vpx));

z=zRe+i*zIm;

M=zeros(vpx,hpx);

%% Generate Julia

for s=1:niter

mask=abs(z)<2;

M(mask)=M(mask)+1;

z(mask)=z(mask).^2+c;

end

M(mask)=0;

end

This code is the function that will calculate the Julia set.

Save it to a file named julia.m. Since it is a function definition, the name of the file must match the name of the function.

Open a second editor window with the New Script button and copy and paste the following code:

Jc1=julia(-1.6+1.2i, 1.6-1.2i, 640, 128, -0.75+0.2i);

imagesc(Jc1)

axis off

colormap('default');

This code calls the function defined in julia.m. You can later change the parameters if you want to explore the Julia fractal.

Save it to a file named juliatest.m.

And finally, press the button Save File and Run.

After a few seconds, depending on your hardware and the parameters, a Julia fractal is displayed.

Like Octave, this window is displayed using WSLg completely transparently to the user.

Enjoy!


6. Enjoy Ubuntu on WSL!

That’s it! In this tutorial, we’ve shown you how to install WSL and Ubuntu on Windows 11, set up your profile, install a few packages, and run a graphical application.

We hope you enjoy working with Ubuntu inside WSL. Don’t forget to check out our blog for the latest news on all things Ubuntu.

Further Reading