There is no single operating system that can satisfy all the needs. All of them have their own pros and cons. Windows is most loved by gamers, whereas Linux is perfect for running services. Well, on the other hand, Windows attracts more cyberattacks than Linux because of its flaws. Linux is more stable than Windows. Despite that, Windows has a large user base and a large set of applications than Linux. Neither is perfect for everything. It is a debatable topic. Let’s not get into it now. It’s time to combine both the platform and make them work together to reap the maximum out of it. Yes, there are ways to run Windows apps on Linux. We have decided to help our readers to run Windows apps on Ubuntu, one of the most popular Linux distributions in the Linux world.
In this post, we have chosen Ubuntu Linux to show the step-by-step procedure to run Windows apps on Linux. but, of course, you can try this out on other Debian-based distributions as well.
Table of Contents
Why Do Users Want To Run Windows Apps On Ubuntu (Linux)?
There could be many reasons to run Windows apps on Linux. However, the most common reasons are:
- Some programs and games have been developed only for the Windows platform. This may stop users to migrate Linux, or, in other words, Linux users can’t enjoy those apps and games on the Linux platform.
- This opportunity will give a chance for Windows users to migrate Linux as they can run their favorite Windows programs on the Linux of their choice.
- Linux is more stable and robust, but Windows has a large set of programs. This will give more flexibility for users to run both Windows and Linux apps on a single platform.
What Do You Need To Run Windows Apps On Ubuntu (Linux)?
Just you need a Ubuntu running system with WINE on your Ubuntu. Well, you can use this method on other Linux distributions like Fedora, Debian, Linux Mint, and macOS.
What Is Wine?
“Wine (originally an acronym for “Wine Is Not an Emulator”) is a compatibility layer capable of running Windows applications on several POSIX-compliant operating systems, such as Linux, macOS, & BSD. Instead of simulating internal Windows logic like a virtual machine or emulator, Wine translates Windows API calls into POSIX calls on the fly, eliminating the performance and memory penalties of other methods and allowing you to cleanly integrate Windows applications into your desktop.“
How To Run Windows Apps On Ubuntu Linux?
The procedure to run Windows apps on Ubuntu Linux is quite simple. We have segregated this procedure into six sub sections. Let’s see all these sections in practical.
- Install Wine on Ubuntu Linux.
- Configure Wine on Ubuntu Linux.
- Install Windows applications on Ubuntu Linux.
- Set up Wine as the default program to load Windows applications.
- Install Winetricks.
- Use Winetricks to install Windows programs.
How to Run Windows Apps on Ubuntu Linux?
- Check the Ubuntu release version on the command line
Let’s start this by checking the version of Ubuntu we have, We are running Ubuntu 20.04.2 LTS on our machine. The command to check the Linux version:
$ cat /etc/os-release - Install wine on command line
Let’s start the process by installing the Wine on Ubuntu Linux. The command to install Wine on Ubuntu:
$ sudo apt install wine - Wine installation is in progress…
Wine installation in progress
- Wine installation completed
Wine installation completeed.
- install 32-bit architecture package of wine
If your system architecture is 64-bit. You can’t run 32-bit Windows programs. However, you can install 32-bit programs as well. For that, you should install 32-bit architecture to run 32-bit programs.
Install 32-bit architcture:
$ sudo dpkg –add-architecture i386
Download and add the repository key:
$ wget -nc https://dl.winehq.org/wine-builds/winehq.key
Add the repository:
$ sudo add-apt-repository ‘deb https://dl.winehq.org/wine-builds/ubuntu/ focal main’ - Update repository on Ubuntu
Update the repository:
$ sudo apt update - Install wine32
Install Wine32 to run 32-bit Windows packages:
$ sudo apt install wine32
In our case, it’s already installed on our machine. - Check the wine installation
Confirm the Wine installation on Ubuntu Linux:
Issue the command to confirm the wine installation.
$ wine - How to configure Wine?
Issue the ‘winecfg’ command to open the configuration window of Wine. Many directories and files will create when you initiate Wine configuration for the first time. You can configure Windows Libraries, Graphics, Drivers, Audio, and Windows version environment.
$ winecfg - How to install Windows applications on Ubuntu Linux?
We are going to download and install the Notepad++ exe on Ubuntu Linux for demonstration.
Download Notepad++.
$ wget https://github.com/notepad-plus-plus/notepad-plus-plus/releases/download/v8/npp.8.0.Installer.x64.ex - Installation of notepad++.exe
Use the wine command to run the Notepad++ exe file.
$ wine npp.8.0.Installer.x64.exe
The installer will launch like a Windows installer. - Begin the installation of notepad++
Just install the app like a windows app. Click Next.
- Browse the installation directory
Browse the location and click Next like in Windows installation.
- Create the Desktop icon
Check on ‘Create a desktop icon’.
- Finish the installation of Notepad++
Finish Installation.
- Run Notepad++ application on Ubuntu Linux as in Windows
You can run the Notepad++ application on Ubuntu Linux as in Windows. You can notice the Notepad++ icon has appeared on the Ubuntu Desktop.
- See the Notepad++ inside the menu apps
You can see the Notepad++ inside the menu apps. You can run the app from the Ubuntu Apps either.
- How to set up Wine as the default program to load Windows applications?
You can’t execute the Windows installers by double-clicking until you configure Wine as the default Windows program loader. You can do this by creating the Wine program’s symbolic link under the application directory.
$ sudo ln -s /usr/share/doc/wine/examples//wine.desktop /usr/share/applications - Create symbolic link of the application under the application directory
- Add application to the default program’s list
Right-click on the file. Select Properties. Go to the ‘Open With’ tab. You will find the ‘Wine Windows Program Loader’ at the end of the list. Select the Wine program loader then click on ‘set as default‘.
- Run application as the default program
Now, you can launch any Windows installer files by double click or right-clicking and selecting ‘Open with Wine Windows Program Loader‘.
- How to install Winetricks?
Winetricks is an on-top application that can be used to install additional Windows applications, games, DLL libraries, fonts, Windows components, Visual C++, Dotnet framework, and many more things. Use this command to install ‘Winetricks’ on Ubuntu Linux.
$ sudo apt install winetricks - Run Winetricks in GUI mode
You can run Winetricks in GUI mode to install applications. Use this command to run Winetricks in GUI mode:
$ winetricks
You can install any application, game, Windows components, and many more in GUI mode. The installation procedure is quite simple. Follow the instructions. - List of applications available on Winetricks
List of applications available on Winetricks:
- List of games available on Winetricks
List of games available on Winetricks:
Overview of Wine Windows environment in Linux:
Wine creates the Windows environment inside .wine directory under the user’s home directory. The .wine directory will be hidden by default. Unhide the directory and explore the file system. You will find the complete Windows C drive inside the .wine directory. You will also get the user’s directories, Download folder, Documents folder, System32, Program Files, including regedit option to create, edit, and delete the Windows registries. We urge you to explore the Windows file system inside the Wine.

That’s all about Wine. This is how you can install and run Windows apps on Ubuntu Linux.
We tried to cover most of the information which need for beginners to run Windows apps on Ubuntu Linux. Please share this post with your contacts and help share the valuable information.
Frequently Asked Questions:
Wine is an open-source compatibility layer that allows users to run Windows applications on Unix-based operating systems such as Linux, macOS, and FreeBSD. Wine translates Windows system calls into equivalent POSIX calls, enabling Windows programs to run seamlessly on Unix-based systems without requiring a Windows license or virtual machine.
While Wine supports a large number of Windows applications, it does not guarantee compatibility with all software. Some applications may run flawlessly, while others may have limited functionality or not work at all. You can check the Wine Application Database (AppDB) to see the compatibility status of specific Windows applications.
To install Wine on Ubuntu, follow these steps:
1. Open the Terminal application.
2. Update your package lists by running sudo apt update.
3. Install Wine by running sudo apt install wine-stable.
After the installation is complete, Wine should be available for use on your Ubuntu system.
To run a Windows application using Wine, follow these steps:
1. Download the Windows application’s installer file (usually a .exe or .msi file).
2. Open the Terminal application.
3. Navigate to the directory containing the installer file using the cd command.
4. Run the installer using Wine by typing wine <installer_filename.exe> and pressing Enter.
After the installation is complete, you can run the Windows application from your Ubuntu system using Wine.
Yes, PlayOnLinux is a graphical user interface (GUI) for Wine that simplifies the process of running Windows applications on Linux. It automates the installation and configuration of Wine and provides an easy-to-use interface for managing multiple Wine versions and Windows applications.
There are several alternatives to Wine for running Windows applications on Ubuntu:
1. Virtual machines: You can use virtualization software like VirtualBox or VMware to create a Windows virtual machine and run Windows applications within it.
2. Dual boot: You can install Windows alongside Ubuntu on your computer, allowing you to choose between the two operating systems during startup.
3. CrossOver: CrossOver is a commercial version of Wine developed by CodeWeavers, offering a more polished experience and additional features.
While Wine allows you to run Windows applications on Linux, it is not immune to the security risks associated with running potentially malicious or vulnerable software. It is essential to keep your system and software up to date, use reputable antivirus solutions, and follow security best practices to protect your system from threats.
To uninstall a Windows application installed using Wine, follow these steps:
1. Open the Terminal application.
2. Run the Wine uninstaller by typing wine uninstaller and pressing Enter.
3. The “Add/Remove Programs” window will appear, displaying a list of installed Windows applications.
4. Select the application you want to uninstall and click the “Modify/Remove” button.
5. Follow the on-screen prompts to complete the uninstallation process.
Wine is capable of running many Windows games on Ubuntu, although performance and compatibility may vary depending on the game. Additionally, projects like Lutris and Proton (used by Steam for Linux) have improved gaming compatibility by leveraging Wine and other tools to optimize game performance and compatibility on Linux systems.
For assistance with Wine-related issues, you can:
1. Consult the WineHQ website (https://www.winehq.org/) for documentation, guides, and FAQs.
2. Check the Wine Application Database (AppDB) for compatibility information and user-reported solutions for specific applications.
3. Visit the Wine forums (https://forum.winehq.org/) to ask questions, seek advice, and discuss issues with the Wine community.
4. Search for online tutorials, blog posts, and articles that address your specific problem or question.
To update Wine on Ubuntu, follow these steps:
1. Open the Terminal application.
2. Update your package lists by running sudo apt update.
3. Update Wine by running sudo apt upgrade wine-stable.
This will update Wine to the latest version available in the Ubuntu repositories.
To configure Wine settings, you can use the Wine Configuration tool (winecfg). To launch winecfg, follow these steps:
1. Open the Terminal application.
2. Run the Wine Configuration tool by typing winecfg and pressing Enter.
The Wine Configuration window will appear, allowing you to adjust various settings, such as graphics, audio, and Windows version emulation.
Yes, Wine supports both 32-bit and 64-bit Windows applications. However, you may need to install additional packages or configure Wine to enable 64-bit support. Ensure that you have the 64-bit version of Wine installed, which is usually included with most recent distributions of Ubuntu. If you experience issues running 64-bit applications, consult the Wine documentation or forums for assistance.
To create a desktop shortcut for a Windows application installed using Wine, follow these steps:
1. Right-click on the Ubuntu desktop and select “Create a new launcher here” or “Create Launcher.”
2. In the “Create Launcher” window, enter the application’s name in the “Name” field.
3. In the “Command” field, enter wine <path_to_application_executable>, replacing <path_to_application_executable> with the full path to the application’s .exe file.
4. (Optional) Click the “Browse” button next to the “Icon” field to select an icon for the shortcut.
5. Click “OK” or “Create” to create the desktop shortcut.
Now you can launch the Windows application directly from the desktop shortcut.
This is a great post! I’m a Windows user and have been looking for a way to run my Windows apps on Ubuntu. This is the solution I was looking for.
Sournds Great!
Thank you so much for this information. I tried these steps out until this step:
add-apt-repository “deb https://dl.winehq.org/wine-builds/ubuntu/ focal main”
and I received a traceback error:
Traceback (most recent call last):
File “/usr/bin/add-apt-repository”, line 95, in
sp = SoftwareProperties(options=options)
File “/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py”, line 103, in __init__
self.sourceslist = SourcesList()
File “/usr/lib/python3/dist-packages/aptsources/sourceslist.py”, line 276, in __init__
self.refresh()
File “/usr/lib/python3/dist-packages/aptsources/sourceslist.py”, line 292, in refresh
self.matcher.match(source)
File “/usr/lib/python3/dist-packages/aptsources/sourceslist.py”, line 484, in match
if (re.search(template.match_uri, source.uri) and
File “/usr/lib/python3.9/re.py”, line 201, in search
return _compile(pattern, flags).search(string)
File “/usr/lib/python3.9/re.py”, line 304, in _compile
p = sre_compile.compile(pattern, flags)
File “/usr/lib/python3.9/sre_compile.py”, line 764, in compile
p = sre_parse.parse(p, flags)
File “/usr/lib/python3.9/sre_parse.py”, line 948, in parse
p = _parse_sub(source, state, flags & SRE_FLAG_VERBOSE, 0)
File “/usr/lib/python3.9/sre_parse.py”, line 443, in _parse_sub
itemsappend(_parse(source, state, verbose, nested + 1,
File “/usr/lib/python3.9/sre_parse.py”, line 834, in _parse
p = _parse_sub(source, state, sub_verbose, nested + 1)
File “/usr/lib/python3.9/sre_parse.py”, line 443, in _parse_sub
itemsappend(_parse(source, state, verbose, nested + 1,
File “/usr/lib/python3.9/sre_parse.py”, line 834, in _parse
p = _parse_sub(source, state, sub_verbose, nested + 1)
File “/usr/lib/python3.9/sre_parse.py”, line 443, in _parse_sub
itemsappend(_parse(source, state, verbose, nested + 1,
File “/usr/lib/python3.9/sre_parse.py”, line 668, in _parse
raise source.error(“nothing to repeat”,
re.error: nothing to repeat at position 2
I need some help there.
Hello Andrew,
This repository is only for x86 (32-bit) architecture machines. If your system architecture is 64-bit. You can’t run 32-bit Windows programs. You can skip this step.
Hi Arun, great article thanks! I’m still not sure if Wine can run any Windows program. I want to make the shift to Linux but need to know I can run anything with Wine. Thanks!
Wine is basically a program that works like a translator between Linux and Windows system calls. The team is consistently working on developing a translator for most of the Windows applications. I recommend you to install the required Windows libraries and frameworks using Winetricks if you see problems in running your application. Or, there is another application ‘playonlinux’ which runs different versions of Wine (in the background) to support a wide range of Windows applications. You can try out that option either.