How to run an exe on Linux

The popularity of Windows means that most software is distributed in the form of exe packages.

with variants, the question of how to run an exe in Linux is one of the most repeated in forums, social networks and comments on blogs. In fact, it was one of my first searches when I started to get interested in Linux.

This question does not have a short answer since there is no single method for running windows programs on linux. And, the final result will depend on the program.

How does a computer program work?

To understand the problem of how to run an exe on Linux we need to know how a computer program works. To do so, let me use an analogy.

Most of us learned the basic skills to do our jobs at home, school, or college. At the time of going to work we knew how to read, write, perform basic mathematical operations and the knowledge common to the profession we practice. Suppose schools and universities were eliminated and households were limited to providing children with only the basic necessities each company must assume the tasks of education.

The first result would be an increase in labor costs since each employee would take longer to be productive. On the other hand, it is likely that each company or sector developed its own language and why not? his own mathematics. When we want to change jobs, the educational process should be repeated. And, the same for the rest of our activities.

Computers have several components to perform tasks

Programs use operating system components and additional libraries to perform some tasks.

The same thing happens with computer programs. Development time is long and costs are high, which implies that any savings that can be achieved (both in time and money) are important. How are these savings achieved?

Leaving the libraries and the operating system to take care of the common routine tasks.

Although a web browser and a word processor serve different purposes, they still have to display their menus on the screen, respond to mouse movements, or send a document to the printer. If each of them had to implement those functions in their own code, the weight of each program would be greater and development time, costs and the possibility of errors would increase. That is why, as I said before, libraries and the operating system are used.

Libraries are programs that perform a specific function at the request of other programs.. They are installed when some program needs them and are ready to be used by those who need them in the future. The operating system is responsible for the interaction between the computer and the user and includes all those libraries for the proper functioning of the hardware.

How to run an exe on Linux

The .exe format

An executable file contains a sequence of code instructions that the computer executes directly. when the file icon is clicked. In Windows, there are several types of executable files, but most have the extension .exe.

Executable files contain binary machine code that was obtained from the compilation of the source code. This code is used to tell the computer's central processing unit how to run a program.

The basic problem to solve, when running an exe file on Linux, is that each operating system has its own way of communicating with the libraries and programs that are installed on it. Although I write in the Spanish of Argentina, you can understand me, a Chinese should resort to the Google translator.

Any program on startup will check for the presence of the libraries it needs to run. If it is on the correct operating system, but the libraries are missing, it will ask for them at installation time or tell you to do it manually, but on the wrong operating system it won't even install.

There are three solutions for this:

  1. Don't do it.
  2. Virtualization.
  3. Compatibility layer.

don't do it

You can run multiple systems on one computer

On a modern computer it is possible to run more than one operating system.

I'm not trying to be funny.  If you need a Windows program for a critical need that requires 100% compatibility, you should install it on Windows. Most Linux distributions are set up to work with what is known as dual booting. This is that when starting the computer it is possible to choose which operating system to start with. Even the installation process is automated in a way that makes it easy for the novice user.

The only point to keep in mind is that you always install Windows first with all the updates that are available, then you log out correctly and just proceed to the installation of Linux. If you don't upgrade, the Linux installer won't detect Windows and won't be able to set up shared boot. If you install Linux first, Windows will erase the bootloader and you will need to reinstall it.

Virtualization

Virtualization is the procedure of simulating hardware using software. This means that the operating system and installed programs believe that they are on a real computer. This simulated hardware (Virtual Machine) uses part of the resources of the real hardware.

What it is about is installing Windows in a virtual machine and then the programs that we need. The only drawback of this is that we will not be taking advantage of all the hardware resources and that the execution could be slower. Although in more powerful computers, this should not be a problem.

Virtualization solutions for Linux

  • VirtualBox: It is the best known of virtual machine managers. It already comes with pre-established settings so that all versions of Windows work and its wizards make it easy to create virtual machines. You can exchange files with the host computer and external devices.
  • KVMs: It is a virtualization tool integrated into the Linux kernel and created by its own developers. This provides increased security and better integration with the host system. It is generally used with a virtual machine manager called QEMU. Both are in the repositories.
  • GNOME Boxes: It is a graphical interface for different open source virtualization technologies. It is a good alternative to VirtualBox that novice users adopting a GNOME desktop-based distribution can consider. It comes pre-installed or is in the repositories of most GNOME-based distributions.
Monitor with office software, ideal for running an exe

By using a compatibility layer it is possible to use Microsoft Office on Linux.

compatibility layer

By using a compatibility layer it is possible to use software designed for one operating system on another.  It does this by translating the program's requirements into instructions that the host operating system can serve.

Wine

Wine it is the compatibility layer on which all Windows application installation solutions on Linux are built. Its name has nothing to do with wine, but rather is a recursive acronym for Wine is not an emulator. It is found in the repositories of the main Linux distributions.

cross over linux

Es a product commercial based on Wine with own plugins. Instead of bi-weekly Wine releases, it focuses on achieving better compatibility.

PlayOnLinux

In this case it is about A program which It consists of a graphical interface and a series of scripts that facilitate the configuration of Wine and the installation of programs. of Windows on Linux. PlayOnLinux can be found in the repositories of the main Linux distributions.

Bottles

Bottles is an application whose graphical interface makes it easier to install Wine and other files necessary for Windows applications to work on Linux. It allows the management of several "Wine prefixes". A Wine prefix is ​​a directory that echoes the Windows file system hierarchy. It contains a "C" drive on which software intended for Windows can be installed. In addition, it includes other files that are necessary for a Windows-based application to work on Linux.

It allows us to create as many Wine prefixes as we want and install applications compatible with Windows.. Thus, for example, we can have a prefix dedicated to games and another to utilities.

Bottles can be installed from the store Flat pack.


Be the first to comment

Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: AB Internet Networks 2008 SL
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.