November 29, 2022
  • November 29, 2022
  • Home
  • Windows apps
  • Seamlessly run Windows apps on your Linux desktop with WinApps

Seamlessly run Windows apps on your Linux desktop with WinApps

By on November 17, 2022 0

The inability to easily run popular Windows applications on Linux has long been a barrier to widespread Linux adoption. While most applications will work with Wine or in a VirtualBox VM, these solutions are clunky, inelegant, and can require a lot of tinkering and configuration.


With WinApps, you can easily manage and run Windows software on Linux, and even integrate it into your system and context menus.


Why run Windows software on Linux?

Open source software is great, but not everyone thinks so. In business, Microsoft Office is the dominant paradigm, having first appeared in 1990, a year before the first release of the Linux kernel. No matter how much you love LibreOffice, sometimes you just need to use what everyone else is using.

Similarly, graphic design and photography professionals use Adobe Photoshop, and customers expect their products to be created using Photoshop, not Alternatives to Adobe products for Linux like GIMP.

Wine (Wine is not an emulator) is a compatibility layer capable of running Windows applications on Linux distributions. It works well with a lot of Windows software but is difficult to set up, and while third-party apps like PlayOnLinux make it easier to set up, it’s still not ideal.

The other way to use Windows applications on Linux is to configure a virtual machine using VirtualBox and a licensed copy of Windows. It’s not ideal either, because you need to start the virtual machine only to use a particular application.

WinApps for Linux makes it easy to run Windows apps

There’s nothing wrong with running virtual machines to use Windows apps, but sometimes you don’t want to load up an entire operating system just to email using Microsoft Outlook. And if for some reason you want to use Microsoft Outlook as your default mail application, there is no easy way to enable it in the virtual machine when you click on a “mailto” link using a browser on your host computer.

WinApps for Linux uses Remote Desktop Protocol (RDP) and allows you to treat Windows applications as if they were part of your own Linux distribution. This includes adding them to your start menu and integration for managing MIME types.

You’ll still be using a virtual machine, but running applications on your Linux desktop will be seamless, with your virtual machine acting as a subsystem for WinApps. Once installed, you’ll never have to stare at the Windows desktop again. Although WinApps is easy to use, installing it on your system may take some time.

Configure your virtual machine before installing WinApps

Before installing WinApps for Linux, you must have a KVM virtual machine running Windows. The easiest way to do this is to install Virtual Machine Manager.

sudo apt-get install virt-manager

…and add your user to the libvirt group:

sudo usermod -aG libvirt username

Download the VirtIO KVM Drivers ISO using:

wget https:

Start Virtual Machine Manager, then from the menu select Edit then Preferences. Check the box marked Enable XML editing.

virtmanager enable xml edit dialog

Close the dialog, then click the icon for “Create a new virtual machine”.

Picking out Installing local media, then select your ISO and go through the wizard. The only value you need to change is the machine name, which should be called “RDPWindows“so that WinApps can detect it, and make sure to check the box”Customize configuration before installation” box.

create a new VM dialog

After clicking Finishyou will need to do some additional configuration before installing Windows:

You are now ready to begin installing Windows, so press the Start installation button.

The installation will proceed as on any other device until it asks you “Where do you want to install Windows?” No slot is available because Windows does not come with a driver for your virtual machine.

Windows 10 driver selection

Click on Load driverthen Browse. The virtio-win ISO file will be mounted as a drive, so select it, navigate to AMD64 > w10then choose the w10 driver.

The driver will install and you can continue the grueling Windows installation process as usual.

When answering questions about the name of your first pet and where it was born, before refusing to enable device history, refusing to allow Windows to access your location or that of your phone, getting mad at not being able to turn off all telemetry, declining the kind offer of keylogging, and pushing away the opportunity to have personalized ads, you’ll remember why you’re using Linux.

Eventually, you will come to the desktop. Open File Explorer and locate the virtio-win ISO, which must be mounted as a drive. Open it, then double-click on virt-win-gt-64.exe and click on the wizard. Windows will want to “finish setting up your device”. Click on call me back later to skip the sales pitches, then click Finish on the virtio-win wizard.

Open Microsoft Edge for the first and last time, and paste https://github.com/Fmstrat/winapps/blob/main/install/RDPApps.reg in the address bar to see some registry entries you need to add.

Right click on Raw above the code snippet, then choose Save target as. Download it to a location of your choice, right-click the file in File Explorer and choose Merge.

You gave the virtual machine a name earlier, and now you need to change the name that Windows knows it by.

Click in the search box and type “Device Specifications”. In the new window, scroll down until you see Rename this PC. Click the button, then rename the machine to “RDPWindows”. Click on Next then start again later.

Finally, locate Remote office in the sidebar, and toggle the button to On.

You can now install Windows applications such as Microsoft Office, Adobe Photoshop, etc.

When you’re happy with your suite of tools in Windows, restart the machine, but don’t log in. Close the viewer and Virtual Machine Manager.

How to Install WinApps for Linux

To connect to your virtual machine, you will need to install FreeRDP and WinApps for Linux.

sudo apt-get install -y freerdp2-x11
git clone https:

Create a new directory for your WinApps configuration in your .config phone book:

mkdir ~/.config/winapps

…and use nano to create the configuration file itself:

nano ~/.config/winapps/winapps.conf

In the new file, add your Windows username and password:

RDP_USER="David"
RDP_PASS="SuperSecretPassword"

Save and exit nano with CTRL+O then CTRL+X.

Move to the WinApps directory and test that the connection to your Windows VM works:

bin/winapps check
RDP certificate mismatch terminal output

You will receive a certificate mismatch warning. Walk in Yes to accept the certificate. The Windows desktop will appear as a full-screen application. Return to the terminal and cancel the process with CTRL+C.

You can now run the WinApps installer:

./installer.sh

The installer will ask you if you want to install it for the current user or for the whole system, then check the applications installed on your Windows virtual machine. This process takes several minutes.

Next, choose how you want to manage WinApps preconfigured apps and more.

winapps on linux including word 97 and Paint 3D - with bad picture of a cat

That’s it! Now you can access your Windows apps from your Linux desktop and context menus without having to boot a full Windows desktop or manage Wine.

Windows also has open-source applications!

By using WinApps to run Windows applications on your Linux desktop, you have access to all the proprietary software you need for business, education, and creativity. But Windows also offers open source software, and with a little effort, you can run open source software for Windows on your open source Linux distribution!