0% found this document useful (0 votes)
134 views4 pages

LINUX 101:: Run Windows Applications With Wine

Wine is software that allows users to run Windows applications on Linux. It acts as a compatibility layer, translating Windows system calls to their Linux equivalents, rather than emulating a full Windows environment. This allows many Windows programs to run without issues on Linux. The tutorial demonstrates installing and running Notepad++, a simple Windows text editor, through Wine on Linux. It discusses how Wine intercepts system and library calls from Windows programs and forwards them to the equivalent Linux versions, integrating the programs into the Linux desktop environment.

Uploaded by

AzisPratama
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
134 views4 pages

LINUX 101:: Run Windows Applications With Wine

Wine is software that allows users to run Windows applications on Linux. It acts as a compatibility layer, translating Windows system calls to their Linux equivalents, rather than emulating a full Windows environment. This allows many Windows programs to run without issues on Linux. The tutorial demonstrates installing and running Notepad++, a simple Windows text editor, through Wine on Linux. It discusses how Wine intercepts system and library calls from Windows programs and forwards them to the equivalent Linux versions, integrating the programs into the Linux desktop environment.

Uploaded by

AzisPratama
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

TUTORIAL WINE

LINUX 101: RUN WINDOWS


TUTORIAL
APPLICATIONS WITH WINE
If you still depend on a few Windows programs, or you want to help
MIKE SAUNDERS
newbies make the switch to Linux, Wine is mightily useful.

Q
uestion: what do you call a program that runs from the latter operating system. It’s completely free
WHY DO THIS? software designed for a different platform? An software – you don’t need a licence from Microsoft to
• Run legacy Windows emulator, right? Well, the name Wine comes use it – and it’s capable of running a wide range of
apps without rebooting.
from “Wine Is Not an Emulator” – which is one of programs. Not all of them, mind you, and very recent
• Create multiple
configurations for better those recursive acronyms that are so loved in the software can have problems. But some major
compatibility. FOSS world. But given that Wine lets you run Windows applications like Microsoft Office 2010 work well
• Help Windows users software on your Linux installation, why is it not an enough for daily use.
move over to Free emulator? Essentially, Wine acts as a compatibility So if you’re still dual-booting between Linux and
Software.
layer that translates Windows system calls to their Windows, and would rather spend more time in the
Linux equivalents, and it doesn’t actually emulate a former, here we’ll show you how to use Wine and
complete Windows PC, with its CPU, graphics card (hopefully) run your favourite Windows apps without
and so forth. rebooting. Or if you’re a full-time Linux user and don’t
Anyway, with that naming confusion out of the way, give a hoot about Windows, you can still use this
let’s focus on the software itself. Wine is a godsend for guide when you’re helping others make the transition
many Linux users who’ve made the transition from to Linux, set up Wine for them and demonstrate the
Windows, but still need to run the occasional program awesome power of free software.

1 GETTING STARTED
Wine is included in almost every major distro’s www.winehq.org. After you’ve got it installed, find a
repositories, so find it in your package manager or use simple, standalone Windows program to test; in our
your usual command-line tools to install it (eg sudo case we’re going to use the rather cool Notepad++ text
Here’s our first app runing
apt-get install wine on Ubuntu-based distros). We’re editor available from http://notepad-plus-plus.org.
on Wine – Notepad++. It’s a
simple program and using Arch Linux for this tutorial – but the commands This program exists as a single .exe file and doesn’t
therefore has few are the same across other distros. If you want the have a ton of complicated dependencies, so it’s the
compatibility issues with latest and greatest version and are happy compiling perfect type of program to kick tires of a new Wine
Wine. software from its source code, you can get it from installation.
Go to the Downloads section, then grab the
“minimalist package” and save it to your home
directory. This is in 7-zip format, so install the tool to
extract that in your distro’s package manager (it
should be provided in the package p7zip). Then open
a terminal and enter:
7z x -onpp npp.6.6.9.bin.minimalist.7z
cd npp
Here we’re extracting the download into a new npp
directory – if there’s a newer version of Notepad++ by
the time you read this, change the version number
accordingly. We then switch into the directory, and if
you enter ls, you’ll see that there’s a file there called
notepad++.exe. Let’s run it!
wine notepad++.exe
You may be prompted to install Mono and Gecko
packages; these aren’t important for now, so just click
Cancel in the dialog boxes that appear. And after a few
moments, you’ll see Notepad++, a Windows program,
in all its glory on your Linux desktop. Not bad – it’s as
simple as that!

88 www.linuxvoice.com
WINE TUTORIAL

CrossOver: the commercial alternative


If you’re looking for improved compatibility, easier installation Pricing starts from €32; this gets you one month of email
and technical support, CrossOver (www.codeweavers.com) is support and upgrades (when new versions are released). For
worth a look. This is a commercial version of Wine with €48 you get the whole package, which includes one year of
various extras, and is especially useful if you want to run email support and upgrades, along with a “phone support
Microsoft Office (XP to 2010), Adobe Photoshop and several incident” – ie you can speak to one of the devs on the phone if
triple-A games like World of Warcraft. CrossOver includes a tool you’re having serious trouble. (Subsequent calls cost €16.95
called CrossTie, which lets you install applications straight each.) CrossOver employs Wine developers and contributes
from the web with just a couple of clicks, and it also uses a code back to the main tree, so if you find Wine really useful
bottles system to stop different configurations from and want to support its development financially, buying
overwriting one another. It also has some tweaks to integrate CrossOver is a good idea. Alternatively, you can donate directly
more smoothly with KDE and Gnome. at www.winehq.org/donate.

Well, for small programs it’s simple; we’ll get to the are Wine’s own implementations of core Windows
more complicated setups later. For now, try exploring libraries – and again, they’re fully open source.
the program. As mentioned, Wine translates every Now, they’re not always as feature-complete as the
Windows system and library call that the program original Windows versions, so in some cases you can
makes into a Linux equivalent. So if you save a file copy DLLs from a real Windows installation into this
from Notepad++, the program calls Windows’ file directory, to improve compatibility with certain
saving routine, Wine intercepts it, and forwards on the programs. The only ones you must never overwrite
request to the Linux equivalent. When Notepad++ are kernel32.dll, gdi32.dll, user32.dll, and ntdll.dll
wants to draw something on the screen, it makes – you can only use the Wine versions of these.
requests to Windows libraries – and Wine has its own As an aside, the
versions of these, which then talk to the X server on ReactOS project
Linux. It’s very cool technology. (www.reactos.org), “Wine translates every system
Two worlds collide
which aims to create an
open source Windows-
call that an application makes
Of course, Wine can’t magically make some of the compatible operating into a Linux equivalent.”
differences between Linux and Windows disappear. system, uses many Wine
Go to File > Open in Notepad++, for instance, and DLLs. The underlying
select My Computer from the “Look in” list. You’ll see structure of ReactOS is very different to Linux and
C:, D: and Z: drives – but they make no sense in the Unix, as it aims to be compatible with Windows drives
Linux world. Well, Wine maps them to different as well as software, but there’s a decent amount of
Adobe has dropped
locations in your filesystem. The Z: drive is mapped to code-flow between ReactOS and Wine. We’ve been support for Reader on
the root directory (/), which is the base of everything in following ReactOS for many years and it’s making Linux, but thanks to Wine,
a Linux/Unix system. So you can use that drive to go slow but steady progress – what Microsoft’s lawyers you can get some Windows
to your home directory in /home and access your think about it, though, remains to be seen… versions running.
personal files – or use the My Documents shortcut.
But where does C: point to? If you click into it, you’ll
see some familiar folders from a Windows installation:
Program files, windows and so forth. These were
created when you first ran Wine, so let’s explore them
in more depth. They’re located in .wine/drive_c in your
home directory, so close Notepad++ and switch into
that directory like so:
cd ~/.wine/drive_c
Enter ls and you’ll see those folders again. Switch
into the windows directory with cd windows and run
ls again – this time, you’ll notice some common tools
like Regedit. Basically, Wine has created a very minimal
Windows installation in your home directory,
comprised of fully open source software, of course.
So you can run the included tools like so:
wine regedit
(Note that you can omit the .exe.) This looks just
like the real Windows registry editor, but go to Help >
About and you’ll see that it’s a tool written by the Wine
developers. Back in the terminal, if you head into the
windows/system32 directory (and syswow64 on
64-bit installations), you’ll see a bunch of DLLs. These

www.linuxvoice.com 89
TUTORIAL WINE

2 INSTALLING SOFTWARE AND CUSTOM SETUPS


So far, we’ve just tested a simple standalone .exe launcher on your desktop that runs the program with
program. But what if you want to install something this command (note the use of quote marks to get
more complicated, like a program that extracts and round spaces in directory names):
installs its own files? Let’s try Adobe Reader, given that wine ~/.wine/drive_c/”Program Files (x86)”/Adobe/”Reader 9.0”/
it’s no longer supported on Linux. The first thing to do Reader/AcroRd32.exe
before installing any program is to check its Another useful launcher to create is “wine explorer”,
PRO TIP compatibility ratings, so in this case we go to which starts up a file manager, so you can then
It’s important to note that https://appdb.winehq.org and enter “Adobe Reader” in browse into Program Files (x86) yourself and launch
Wine programs can
access your Linux system
the search box in the top-right. When the results come programs by double-clicking on them.
like any other app. They’re up, we click on the “WineHQ – Adobe Reader” link. As you’d expect, Wine is a hugely configurable piece
not sandboxed or Here we can see that different versions of the of software, but fortunately there’s a fairly good GUI
restricted. Of course, the
inbuilt security
program have different ratings: gold means that a tool that lets you tweak settings without fiddling
mechanisms of Unix and program works almost flawlessly, whereas silver and around inside config files. Enter winecfg and a small
Linux should stop a bronze mean that the program is usable, albeit with Windows utility pops up with various tabs. The most
malicious app from
completely hosing your
some glitches or other issues. (These compatibility important of these is Applications: here you can select
system, but if you want to ratings are provided by the community, and some .exe files in your Wine installation, and then choose
be ultra secure, use Wine programs have only been tested with older Wine the Windows version that Wine should emulate for
on Linux inside a virtual
machine!
releases, so it’s possible that compatibility has them. So if you know that a certain program works
improved in the meantime.) best in Windows XP, or Windows 7, you can select it at
Adobe Reader 9.x is rated as silver, so click it and the bottom. In general, Wine’s compatibility is more
then, on the following page, the first “Free Download” complete when it comes to older Windows versions.
link on the left. Save the AdbeRdr90_en_US.exe file to Another useful tab here is Libraries. Here you can
your home directory, fire up a terminal, and enter: choose whether Wine should override its inbuilt
wine AdbeRdr90_en_US.exe libraries with native ones, as mentioned earlier. Under
This isn’t the program itself, but rather its installer the Graphics tab you can also customise the screen
– so follow the prompts, and don’t worry if the resolution, which helps if certain programs are being
PRO TIP
installer gets confused and crashes right at the end. displayed incorrectly.
Got a program that’s
supplied as an .msi file?
(This is a common occurrence in Wine, when
You can install these installers don’t quite understand that they’re not Bottle it!
using the msiexec tool running in an original Windows environment, but Things can get complicated when you’ve customised
along with the /i flag – for
instance, msiexec /i
usually it’s not a problem.) your Wine installation for one particular program, and
filename.msi. This tool is Now, like in regular Windows, Adobe Reader has it’s running beautifully, but then you install another
provided as part of a been installed in a Program Files directory. In this program that needs different settings, library
standard Wine
installation.
case, you’ll find it in ~/.wine/drive_c/Program Files overrides, and so forth. It’s a colossal pain to keep
(x86)/Adobe/Reader 9.0/Reader. If you cd into that switching options manually, but thankfully, Wine has a
directory and enter ls, you’ll see AcroRd32.exe – that’s solution for this called prefixes (aka Wine bottles). This
the program you want to run with Wine. So give it a go, lets you create and maintain separate Wine
and try opening some PDFs – by and large, it does its installations for your programs – albeit with a bit of
job without major bugs. You can now create a extra disk space usage.

Running DOS software with DOSBox


If you’ve got some really old programs that drive to the directory you specified. So if you
you’d like to get running again, from the days enter DIR now, you’ll see the files inside the
when MS-DOS ruled the (business) world, frontier directory – including frontier.bat,
you’re also in luck. FOSS platforms have had which you can use to run it. DOSBox will
great DOS compatibility for many years often grab the mouse cursor for itself, so to
thanks to DOSEMU, but that program hasn’t free it, press Ctrl+F10 at the same time.
seen many updates recently, and can be To configure DOSBox, run it on its own
fiddly to set up. A better alternative can be (without a directory) and then enter config
found in DOSBox – and it’s available in all -wc dosbox.conf in the emulated DOS
major distro’s repositories. session. Type exit to leave, and you’ll see
Once you have it installed, you just need dosbox.conf in your current directory. You
to point it at a directory containing your DOS can now edit this to tweak settings, such as
program(s). In this example we’ve got full-screen mode, mouse sensitivity, and how
Frontier Elite II in a directory called frontier, quickly it should run (look at the cycles
so we just run: option). If you need any help, you’ll find
dosbox frontier plenty of it on the wiki at Elite: Dangerous should be out by the time you read this, but
When DOSBox starts, it maps its emulated C: www.dosbox.com/wiki. we’ll never stop loving Frontier.

90 www.linuxvoice.com
WINE TUTORIAL

The key to this is the WINEPREFIX environment


variable. Say you want to install program fooapp.exe
into a new Wine installation, and not .wine in your
home directory. You would run this command:
env WINEPREFIX=~/.wine_fooapp wine fooapp.exe
A new Wine installation, with fresh settings and
libraries, will be created in .wine_fooapp in your home
directory. Once the app is installed, you can run its
executable as usual, but make sure to keep the env
WINEPREFIX=~/.wine_fooapp part otherwise it all
gets messy. Essentially, you can make as many Wine
prefixes as you like (at the cost of 35MB each time),
but always make sure you’re pointing WINEPREFIX to
the appropriate place, otherwise one installation can
overwrite settings from another.
To run winecfg for a particular prefix, you also need
to specify the environment variable:
env WINEPREFIX=~/.wine_fooapp winecfg
If you want to completely remove a program and its
prefix, just remove the directory.
Another useful environment variable is WINEARCH.
Wine Explorer is a simple
If you’re running a 64-bit distro, Wine will start in 64-bit good idea to remove the prefixes when you’re done
file manager that you can
mode by default; if this leads to problems with your with them! use to browse files and
programs, you can change this by using env launch programs.
WINEARCH=win32 before your commands. The future of Wine
Wine’s development dates back to the mid-90s, so it’s
Tricks up the sleeve one of the longest-running projects in the Free
Finally, we want to give a mention to Winetricks Software world. After two decades of development,
(www.winetricks.org), a very handy little script that though, why are there still compatibility problems with
assists you in installing various programs and games. so many programs? Well, part of the problem is that
Many distros include it in their package repositories Windows is a moving target. When Wine started, its
– if you can’t find it, just grab it from the website (the goal was to provide compatibility with Win32 – in
Installing page explains how to do it step-by-step). other words, the APIs used on Windows 95, 98 and PRO TIP
You’ll also need some kind of utility for displaying NT. But since then, we’ve seen many more releases of Spaces in file and
dialog boxes, such as Zenity or kdialog from KDE. Windows, and Wine developers keep trying to chase directory names are
When you run Winetricks, you’ll be prompted to the latest APIs. common in the Windows
world, but they’re a royal
install an application, benchmark or game. Try Some would argue that the Wine team should set a pain in the rear on the
installing an app: you’ll see that many of them can be very specific goal: compatibility with Windows XP, for Linux command line. You
downloaded automatically (check the Media column), instance, and forget about Vista, 7 and 8. This could can use escape
characters (backslashes)
but in some cases, such as with Microsoft Office, make sense in positioning Wine as a solution for to get around them if
you’ll need the original CD or DVD. As a test, try legacy applications, but other users and developers you’re a long-time Linuxer,
installing the AbiWord word processor: Winetricks will want to use Wine to play the latest games and run but for new users it’s best
to just use quotes. So if
download the setup.exe file and run it in Wine. recent versions of Office. As most Wine developers are you need to cd into the
After the installation, Winetricks will return to its hacking on the code out of a labour of love, nobody Program Files (x86)
original menu, but you’ll see a new item: “Select can force them to limit the compatibility to a specific directory, enter cd
“Program Files (x86)”.
AbiWord”. Click on this and then OK, and another Windows release.
menu will appear so that you can configure the And then, trying to be compatible with Windows
installation. You can access the usual winecfg tool in APIs is an adventure in itself. Many APIs are
this way, or also fine-tune options via the Change undocumented or don’t behave as expected, so it’s
settings item. Note the titlebar here – Winetricks has not just about following a spec like POSIX. After all, it’s
installed AbiWord into its own prefix, in ~/.local/share/ in Microsoft’s interests that a compatible OS from a
wineprefixes/abiword/. So if you cd into that directory third party isn’t developed. Sure, the Redmond giant
in a terminal, you’ll see the usual drive_c/Program has been more friendly with the FOSS community
Files (x86) subdirectory underneath it, and then recently, but we don’t expect it to suddenly get behind
AbiWord under that. (The launcher, AbiWord.exe, is the Wine project or open up reams of specifications to
inside the bin directory.) help its development.
Winetricks also provides access to a large list of
games and demos, many of which are great for
testing the performance of Wine. Just remember that Mike is a recursive acronym and stands for “Mike ist kein
Emulator”. Blame his parents.
they can swallow up your disk space quickly, so it’s a

www.linuxvoice.com 91

You might also like