This open-source application makes running Windows apps on Linux extremely easy.

WinApps allows you to run most Windows applications on Linux via virtual machines, RDP, and integrates a native-like interface.

Linux is becoming increasingly user-friendly, but the reality is that many "irreplaceable" Windows applications still don't run on Linux. Thanks to an open-source program, I've solved the problem of running about 90% of the Windows applications I use regularly. Here's how.

 

How do I run Windows applications on Linux?

Most Windows programs don't run directly on Linux, and if they do, they're usually custom versions compiled for Linux. Proton – Steam's very strong compatibility layer – isn't a panacea either. Except for games, you're usually. out of luck.

This is where WinApps comes into play. WinApps combines three things: an optimized Windows virtual machine, the Remote Desktop (RDP) protocol, and an integrated UI layer for Linux. As a result, the application essentially runs within the virtual Windows environment, but displays and functions like a 'native' app on Linux.

How does the performance of Windows applications compare when run through WinApps?

In real-world testing, latency was almost negligible, and the performance of most applications was comparable to running them directly.

Of course, resource-intensive apps like Photoshop can still slow down the system if you create extremely large canvases and work in real time. But that also happens on my laptop (which isn't exactly new anymore). In normal use, the experience is very good.

Because the virtual machine is always running in the background, applications start up almost instantly, indistinguishable from native Linux apps.

Setting up WinApps on Linux

Running Photoshop or other Windows apps on Linux essentially relies on a virtual machine in the background. WinApps supports three different virtual machine platforms, but for simplicity, Docker or Podman are recommended . I chose Podman because it was already installed. The test system was Kubuntu (based on Debian).

 

To install Podman and Podman Compose, open Terminal and run:

sudo apt -y install podman sudo apt -y install podman-compose sudo apt install -y curl dialog freerdp3-x11 git iproute2 libnotify-bin netcat-openbsd

If you are using a distro that is not based on Debian, you need to follow the Podman instructions corresponding to that distro.

Next, create the two necessary folders:

mkdir ~/winapps mkdir ~/.config/winapps

Now we need to create two configuration files so that WinApps and the virtual machine know what to do.

First is the compose.yaml file, used to configure the virtual machine. WinApps provides a sample file. Since I'm using Podman instead of Docker, I had to uncomment lines 48 and 49. You can also adjust the RAM and CPU cores for the virtual machine here, but I kept the default settings because my machine doesn't have excess resources.

I edited the file using Kate and then saved it to the ~/winapps folder .

Images 1 of This open-source application makes running Windows apps on Linux extremely easy.

Next is the WinApps configuration file itself. WinApps also has a sample file on GitHub . Most of it remains the same, only the following changes are made:

WAFLAVOR="docker"

wall:

WAFLAVOR="podman"

I used the following command to make the adjustments:

sudo vi ~/.config/winapps/winapps.conf

Then paste the contents of the configuration file.

Images 2 of This open-source application makes running Windows apps on Linux extremely easy.

 

Once done, start the virtual machine using the command:

podman-compose --file ~/winapps/compose.yaml up

Open your browser and access 127.0.0.1:8006 to complete the remaining installation steps, then close the terminal and the browser.

The next step is to check the RDP connection. With Podman, I use the command:

podman unshare --rootless-netns xfreerdp3 /u:"MyWindowsUser" /p:"MyWindowsPassword" /v:127.0.0.1 /cert:tofu

Enter the correct username and password that you configured in compose.yaml .

A Windows window will appear, allowing you to operate it like a normal Windows operating system. I took the opportunity to install the necessary applications at this step.

Finally, install WinApps using the command:

bash <(curl https://raw.githubusercontent.com/winapps-org/winapps/main/setup.sh)

The installer will let you select the applications already in the virtual Windows, then allow you to pin them to the taskbar, desktop, or Start Menu. If you want to install more apps later, just run this script again.

Images 3 of This open-source application makes running Windows apps on Linux extremely easy.

Nowadays, most games on Steam are playable on Linux thanks to Proton (except for a few games with anti-cheat issues). With WinApps, I have even more motivation to… say goodbye to Windows completely.

Close
Category

System

Windows XP

Windows Server 2012

Windows 8

Windows 7

Windows 10

Wifi tips

Virus Removal - Spyware

Speed ​​up the computer

Server

Security solution

Mail Server

LAN - WAN

Ghost - Install Win

Fix computer error

Configure Router Switch

Computer wallpaper

Computer security

Mac OS X

Mac OS System software

Mac OS Security

Mac OS Office application

Mac OS Email Management

Mac OS Data - File

Mac hardware

Hardware

USB - Flash Drive

Speaker headset

Printer

PC hardware

Network equipment

Laptop hardware

Computer components

Advice Computer

Game

PC game

Online game

Mobile Game

Pokemon GO

information

Technology story

Technology comments

Quiz technology

New technology

British talent technology

Attack the network

Artificial intelligence

Technology

Smart watches

Raspberry Pi

Linux

Camera

Basic knowledge

Banking services

SEO tips

Science

Strange story

Space Science

Scientific invention

Science Story

Science photo

Science and technology

Medicine

Health Care

Fun science

Environment

Discover science

Discover nature

Archeology

Life

Travel Experience

Tips

Raise up child

Make up

Life skills

Home Care

Entertainment

DIY Handmade

Cuisine

Christmas

Application

Web Email

Website - Blog

Web browser

Support Download - Upload

Software conversion

Social Network

Simulator software

Online payment

Office information

Music Software

Map and Positioning

Installation - Uninstall

Graphic design

Free - Discount

Email reader

Edit video

Edit photo

Compress and Decompress

Chat, Text, Call

Archive - Share

Electric

Water heater

Washing machine

Television

Machine tool

Fridge

Fans

Air conditioning

Program

Unix and Linux

SQL Server

SQL

Python

Programming C

PHP

NodeJS

MongoDB

jQuery

JavaScript

HTTP

HTML

Git

Database

Data structure and algorithm

CSS and CSS3

C ++

C #

AngularJS

Mobile

Wallpapers and Ringtones

Tricks application

Take and process photos

Storage - Sync

Security and Virus Removal

Personalized

Online Social Network

Map

Manage and edit Video

Data

Chat - Call - Text

Browser and Add-on

Basic setup