How to use WinApps to run Windows programs on Linux computers

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

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

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

Set up a virtual machine before installing WinApps

Before installing WinApps for Linux, you need 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 KVM VirtIO ISO driver using:

wget https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso

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

How to use WinApps to run Windows programs on Linux computers Picture 1How to use WinApps to run Windows programs on Linux computers Picture 1

Close the dialog box, then click the Create a new virtual machine icon .

 

Select Local media install , 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 you check the Customize configuration before install box .

How to use WinApps to run Windows programs on Linux computers Picture 2How to use WinApps to run Windows programs on Linux computers Picture 2

After clicking Finish , you will need to do additional configuration before installing Windows:

  1. In the CPU section , check the box Copy host CPU configuration
  2. Still in the CPU section , switch to the XML tab and make sure the clock section says:
     
  3. In Memory , reduce the current allocation to 1024MB
  4. In Boot Options , check the box Start virtual machine on host boot up
  5. In SATA Disk 1 , select "VirtIO" as the disk bus
  6. In the NIC section , set the Device model to "virtio"
  7. Click the Add Hardware button at the bottom left of the screen, then select "CDROM" as the device type
  8. Click Manage , then select the "virtio-win.iso" file you downloaded earlier

Now, you are ready to start installing Windows, so press the Begin Installation button .

 

The installation will proceed like on any other device until you are asked: "Where do you want to install Windows?". There is no location because Windows does not have a driver for your virtual machine.

How to use WinApps to run Windows programs on Linux computers Picture 3How to use WinApps to run Windows programs on Linux computers Picture 3

Click Load Driver >  Browse . The virtio-win ISO file will be mounted as a drive, so select that file, navigate to amd64 > w10 , then select the w10 driver.

The driver will install and you can continue with the Windows setup process as usual.

Finally, open File Explorer and find the virtio-win ISO, which will be mounted as a drive. Open it, then double click virt-win-gt-64.exe and click through the wizard. Windows will want to "complete your device setup". Click Remind me later to skip the ads, then click Finish on the virtio-win wizard.

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

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

You gave your VM a name earlier and now, you need to change the name that Windows knows.

Click in the search box and type Device Specifications . In the new window, scroll until you see Rename this PC . Click this button, then rename the machine to "RDPWindows". Click Next >  Restart Later .

 

Finally, find Remote Desktop in the sidebar and toggle the button to On.

Now you can install Windows applications like Microsoft Office, Adobe Photoshop, etc.

When you're happy with your toolkit on Windows, reboot 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 need to install FreeRDP and WinApps for Linux.

sudo apt-get install -y freerdp2-x11 git clone https://github.com/Fmstrat/winapps.git

Create a new folder for your WinApps configuration in the .config folder :

mkdir ~/.config/winapps

. and use nano to create the config file yourself:

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 press Ctrl + X .

Move into the WinApps folder and check if the connection to your Windows virtual machine works:

bin/winapps check

How to use WinApps to run Windows programs on Linux computers Picture 4How to use WinApps to run Windows programs on Linux computers Picture 4

You will get a certificate mismatch warning. Enter Y to accept the certificate. Desktop Windows will appear as a full-screen application. Go back to terminal and kill the process with Ctrl + C .

You can now run the WinApps installer:

./installer.sh

The installer will ask if you want to install it for the current user or the entire system, then will check the applications installed in your Windows virtual machine. This process takes a few minutes to complete.

Next, choose how you want to handle WinApps preconfigured applications and others.

How to use WinApps to run Windows programs on Linux computers Picture 5How to use WinApps to run Windows programs on Linux computers Picture 5

 

Now you can access your Windows applications from the Linux desktop and context menus without having to start a complete Windows desktop or deal with Wine.

5 ★ | 2 Vote