Полное руководство по wine

Contents

  1. Introduction
  2. Installing Wine

    1. Ubuntu versions of Wine (Recommended)
    2. Newer versions of Wine (Not Recommended)
  3. Initial Setup
  4. Installing Windows Applications With Wine
  5. To start/run Windows programs using Wine
  6. Uninstalling Wine Applications
  7. Configuring Wine

    1. Adding CD and DVD drives to Wine
    2. Adding applications to the menu
    3. Changing application specific settings

      1. Using Windows Themes/Skins In Wine
      2. Color Scheme
      3. Using Theme/Skins
    4. Fullscreen issues with overlapping Panel
  8. Instructions for using wine over remote X11 sessions
  9. Instructions for specific Windows programs
  10. Creating file associations
  11. Troubleshooting

    1. Error: Cannot change screen BPP from 32 to XX
    2. ‘dhtmled.ocx’ is missing or invalid
    3. Screen flickers to black when starting an application
  12. Related Wiki Pages

Introduction

  • Wine allows you to run many Windows programs on Linux. Its homepage can be found at WineHQ.org. They also have an Ubuntu page with installation and build advice.

  • If you are running the latest release of Wine which is v1.6, you can get further assistance on the #winehq IRC channel on irc.freenode.net. First,

  • please consider if you really need to run the specific Windows program because in most cases, its equivalent can be provided by an OpenSource program. Also, consider using Qemu instead of Wine if you need a complete Windows installation.

Installing Wine

Ubuntu versions of Wine (Recommended)

  • open the software center
  • Type wine and install ‘wine’

Newer versions of Wine (Not Recommended)

The Wine Ubuntu repository provides the newest development versions of Wine. Follow these steps to add the repository to your software sources:

  1. Open a terminal and run these commands:
  1. wget https://dl.winehq.org/wine-builds/winehq.key

  1. sudo apt-key add winehq.key

  2. sudo apt-add-repository ‘https://dl.winehq.org/wine-builds/ubuntu/’

Note, however, that these are development packages (ie beta software), and may suffer from regressions and other problems not present in the stable version of Wine included with Ubuntu. You should avoid using them unless the current stable version of Wine does not support or is incompatible with the application you wish to use.

If you are using an older version of Wine and want support from WineHQ, you will need to upgrade to the latest development version first. If you do this, however, please file associated Wine bugs at winehq’s Bugzilla Page rather than in Launchpad.

Initial Setup

Before using Wine, it is necessary to create the fake C: drive where your Windows applications will be installed. To do this, enter the following command into the terminal: You may find the terminal by going to Applications -> Accessories -> Terminal

winecfg

You also have the option of configuring Wine via the Configure Wine option in the Applications-> Wine menu.

This will create a hidden folder (.wine) in your home directory containing the fake C: drive as well as registry files similar to those used in Windows. Once this directory is created, the Wine Configuration Window will appear. This window will allow you to customize a variety of settings for Wine, including which Windows Version that is emulated, drive mappings, DLL overrides, as well as application specific settings. Click the Ok button to close the window.

Installing Windows Applications With Wine

To install Windows applications using Wine, follow these instructions:

  1. Download the Windows application from any source (e.g. download.com). Download the .EXE (executable).
  2. Place it in a convenient directory (e.g. the desktop, or home folder).
  3. Open the terminal, and cd into the directory where the .EXE is located.

  4. Type wine the-name-of-the-application.extension (e.g. wine realplayer_installer.exe).

This will start the .EXE using Wine. If it is an installer, it should then run as it would in Windows. If the application asks for a directory to install the application to, select put it under C:\Program Files.

To start/run Windows programs using Wine

After installing an application using the directions above, those applications can be started and used by entering wine programname.exe (e.g. wine realplayer.exe). When done, close the application as one would normally. You must run the installed executable, which will by default be in the virtual Windows drive created by Wine, at ~/.wine/drive_c. Generally programs will install themselves somewhere under Program Files inside the virtual Windows drive, following Windows conventions.

You can also use the Wine file browser, by running winefile in a terminal. Clicking the C:\ button in the toolbar will open a window where you can browse the virtual Windows drive created in .wine. Doubleclicking an executable in the Wine file browser will run it in Wine.

Instead of having to always enter the terminal or use the Wine file browser, you may also create a desktop icon, and start a Wine application using that icon. To do this, right click on the desktop and select «Create a launcher.» If you wish, select an icon from the list of available icons (or browse to an icon you would like to use), fill out other information that is requested (Name, generic name, etc.). For the command, type in wine the-location-of-the-program.exe (e.g. wine /home/john/.wine/realplayer.exe). The most important part of creating a launcher is the command, the generic name is not as important. Just make sure you de-select «Run in terminal.» This completes the process.

In some cases the application requires to be running from a certain location. In this case create launcher with command

sh -c "cd /home/USER/.wine/drive_c/Program Files/Appdir/; wine /home/USER/.wine/drive_c/Program Files/Appdir/game.exe"

Of course you will need to replace USER and Appdir with the proper data.

If you desire to have an icon on the panel, create a launcher on the panel of choice. Do this by right-clicking the panel, selecting «Add to Panel,» and selecting «Custom Application Launcher.» This will ask you for the same information as before.

Alternatively, to make life easier, you can set it so wine will automatically open .exe files files for you — instead of using the Wine File to locate the file each time. To do so, right click on the .exe file, select Properties, and then select the Open With tab. Click the ‘Add’ button, and then click on ‘Use a custom command’. In the line that appears, type in wine, then click Add, and Close. Now all .exe files will be automatically opened by Wine, so you can use Nautilus to browse and open them instead of the Wine File.

Uninstalling Wine Applications

Open up a terminal window and type the command below.

wine uninstaller

What this will do is open up a program similar to the Windows add/remove programs control panel, allowing you to uninstall applications from a Wine installation. Running uninstall programs directly via Wine should also work normally. Alternatively, you could also simply delete the folder of the application. However, as when done in Windows, this method will be unclean and will not remove the program’s configuration from the Wine registry like using an uninstaller will.

Configuring Wine

On the command line or in Run Application, type winecfg

Adding CD and DVD drives to Wine

Go to the drives tab in winecfg. Hit the Autodetect button.

If you find that this does not work correctly for you, then follow these instructions:

  1. Run

    winecfg

  2. Navigate to the drives tab

  3. Click on Add…

  4. In the path bar, type

    /media/cdrom

  5. Click Show Advanced button below the Browse… button and set the Type to

    CD-ROM

  6. Click OK

If you have more than one CD/DVD device you will need to identify each one differently. Use /media/cdrom0 for the first CD/DVD device, /media/cdrom1 for the second one, and so on. If in doubt, type the following command in your terminal.

ls -la ~/.wine/dosdevices/

What this command will do is check your CD/DVD device details after Wine is installed.

It is good procedure before setting up the menu entry to launch the new Windows program from the command line to make sure the program runs properly. To do this type this command in the terminal.

wine "C:\PATHTOPROGRAM\Program.exe" 

For example the command would be wine «C:\Program Files\World of Warcraft\WoW.exe» Once you are satisfied that you have the correct details, use the normal menu editing process to add a new entry. When you get to the Command field of the entry editor be sure to copy and paste the line you used to launch the program from the terminal. Finish and save the new entry. Test to make sure the new Windows program loads via the menu.

Changing application specific settings

  1. Type this command into your terminal.

    winecfg

  2. Click on Add Application…

  3. Navigate to where the .exe is and choose that program
  4. The dropdown at the bottom allows you to choose which version of Windows Wine should emulate. Also, any changes to the Libraries and Graphics tabs will only affect the chosen application in the Applications tab.

Using Windows Themes/Skins In Wine

Color Scheme

You can change the wine color scheme to closely match the default Ubuntu colors with this Terminal command.

gedit ~/.wine/user.reg

You may also want to create a backup copy in your Home folder with this command via terminal.

cp ~/.wine/user.reg ~/

Replace the [Control Panel\\Colors] section with

[Control Panel\\Colors] 1176981676
"ActiveBorder"="239 235 231"
"ActiveTitle"="203 133 61"
"AppWorkSpace"="198 198 191"
"Background"="93 77 52"
"ButtonAlternativeFace"="200 0 0"
"ButtonDkShadow"="85 85 82"
"ButtonFace"="239 235 231"
"ButtonHilight"="255 255 255"
"ButtonLight"="255 255 255"
"ButtonShadow"="198 198 191"
"ButtonText"="0 0 0"
"GradientActiveTitle"="239 235 231"
"GradientInactiveTitle"="239 235 231"
"GrayText"="198 198 191"
"Hilight"="246 200 129"
"HilightText"="0 0 0"
"InactiveBorder"="239 235 231"
"InactiveTitle"="239 235 231"
"InactiveTitleText"="255 255 255"
"InfoText"="0 0 0"
"InfoWindow"="255 255 166"
"Menu"="239 235 231"
"MenuBar"="239 235 231"
"MenuHilight"="246 200 129"
"MenuText"="0 0 0"
"Scrollbar"="239 235 231"
"TitleText"="255 255 255"
"Window"="255 255 255"
"WindowFrame"="0 0 0"
"WindowText"="0 0 0"

Using Theme/Skins

Wine has basic handling for Windows theme/skin files in the «msstyles» format. There is a large number of these themes on Deviant Art. To use these you must make a folder in Wine’s virtual Windows drive, then tell Wine to use the theme.

Firstly go into Wine’s virtual drive, which is usually «.wine/drive_c» in your Home folder (this is hidden, you may need to select View->Show Hidden Files in the file manager). Inside this folder go into the «windows» folder then make a new folder in there called «Resources». Enter this new folder and make a new folder called «Themes». Inside here you should make a folder for each theme you want, and put the files ending in «.msstyles» directly into them. For example, the full path to a theme file called sample.msstyles might be «/home/username/.wine/drive_c/windows/Resources/Themes/Sample/sample.msstyles».

Next you need to tell Wine to use your theme, so once again run this command in the terminal.

winecfg

In the configuration window select the tab Desktop Integration and un-check out the Theme: box, which should now have your theme in it’s menu. After selecting the theme click Apply at the bottom to see how it looks (they don’t always display properly), then if you are happy click ok and you’re done!

Fullscreen issues with overlapping Panel

Sometimes the Panel overlaps your fullscreen application you’re running in wine. If you are running Visual Effects, the first solution you should try is to turn those off: Go to System -> Preferences -> Appearance, and click the Visual Effects tab. Select None, and your screen will flash. Try your full-screen application again. You may re-enable Visual Effects afterwards — just don’t forget to turn them back off when you want to run that application again!

If that does not work, then you will have to turn off the panels prior to running the application and restarting it afterwards, until a better workaround can be found. In Ubuntu the commands are gnome-session-remove gnome-panel and gnome-panel & respectively. In Xubuntu I understand they are killall xfce4-panel and xfce4-panel.

Instructions for using wine over remote X11 sessions

If you’re (trying) to use wine over a forwarded X11 session (ie Ubuntu is on one computer; you’re connected to it by ssh or another connection and you already have X11 forwarding set up to display regular Ubuntu applications on your remote computer) and the windows opened by wine are lacking fonts etc, the answer is here

Instructions for specific Windows programs

Some Windows programs have been tested on Ubuntu. They are listed below:

  • DVDShrink

  • FlashPlayerStandalone

  • WorldofWarcraft

Also, see Wine’s Application Database at http://appdb.winehq.org/ or http://wine-review.blogspot.com/

Creating file associations

If you want certain files to open in a windows application by clicking on them, the best way is to create a script. For example I want Adobe Flash project files (*.fla) to open in Adobe’s Flash editor if I double click it.

You can for example create a file using this terminal command.

gedit ~/.wine/Flash\ 8

Now paste the following example script in it, save and close gedit.

Example script:

 #!/bin/sh

QUICKPARLOCATION="c:\\Program Files\\Macromedia\\Flash 8\\Flash.exe"
PARAM=`winepath -w "$*"`
wine "$QUICKPARLOCATION" "$PARAM"
exit 0

Make sure the file is executable with this command.

chmod +x ~/.wine/Flash\ 8

After you completed this go to an *.fla file right click it, properties, go to the “open with” pane, click add, add this line into your terminal and select the radio button.

'/home/<yourusername>/.wine/Flash 8'

Now if everything went ok, you can doubleclick the file and it will be openend in Flash 8.

Troubleshooting

Error: Cannot change screen BPP from 32 to XX

In some cases (mostly games) the application does not start and you get error: Cannot change screen BPP from 32 to 16 (or some other number).

In such case editing xorg.conf and CTRL-ALT-Backspace helps as is described on http://ubuntuforums.org/showthread.php?t=649283

‘dhtmled.ocx’ is missing or invalid

It seems that in Ubuntu Karmic Wine(v1.0.1) registry isn’t configured correctly to use ActiveX component dhtmled.ocx. On some application this can cause error like this: «Component ‘dhtmled.ocx’ or one of it’s dependencies not correctly registered: a file is missing or invalid». So we must tell Wine where to find this file.

1. Download registry file:

  • cd ~ wget http://jwc.sourceforge.net/other/ieslinux-dhtmledit.reg

2. Open regedit:

  • wine regedit.exe

3. Import the downloaded registry settings

  • file->import registry file->open ~/ieslinux-dhtmledit.reg

Screen flickers to black when starting an application

This is sometimes caused by a problem with the video driver not handling XRandR well. To see if this is actually a problem with XRandR, in a console, run:

xrandr

If your screen blanks while running that command, then this might be the issue. To work around this issue, Wine can be configured to not use XRandR. To do so:

  1. Start Wine’s Registry Editor.
  2. Navigate to «HKEY_CURRENT_USER\Software\Wine\X11 Driver». You may need to create X11 Driver.
  3. Create a new key called «UseXRandR» and set it to «N».

See Wine Bug #15214 and Wine Wiki page UsefulRegistryKeys.

  • Games

  • AdobePhotoshop — A guide for running CS4 under WINE.


��������� ���: ������������� Wine, ��������� �������, ��� ��������� ������������ ���������� �������� ��� Wine �����, � ����� ����������� �������� ������, �� ������, ���� ��� ����� ������.

1.1.4. ������� �����

������� ��������� � ������� Wine ����� ���� ���������� ��������� �������:

  • ��������� �� �������� Wine
    Downloads � ���������� ��������� ��� ������� � ����� ��������� Wine. ��� ���������� ��� ����������� ������������ ���������������� ������� rpm �����.
  • ��������� Wine, ��������� ������� winecfg. � ����������� ������� Wine ������ ����� �������� � ������.
  • ����� ��������� ���� ���������, ��������� �������� �������� Wine, ������� �� �������� �������� Windows 3.1, ��������� ������� wine winefile.
  • ��������� Wine ��� ������ ������� wine filespec/appname.exe
  • ������ �������, ������� �� ���������, ����� ������� ��������� �����-���� ���������. ������ ���-�� �����: wine /media/cdrom/setup.exe, ��� ����� ��������.

1.2. ��� ����� Wine

1.2.1 Windows � ������

��������� ��������� ������� ��� ��������� ������������ ������, � ����������� �� ��� �� ����� �������� �� ��������, ��� ������� ��� �� �������������. ��������� ��� Windows, �������� �� ������ �������� ��� ������, ��� ��� �������� ����������, «�� ��������» �������, ���� ��� �� «����������» ������ Windows. ����� �����, ������ ��������� �� ���������� ��� �� Windows, ������ ��� Windows ���������� ������ � ���������������� ��� �� ����������.

��� ����, ��� ������ ������������ Windows � ������ ����������� ������, ����� �������� ������������ ����� ��������������� ��������. ������ �������� �������� ���������� � Windows � ������ �� ���� � ��� �� ���������, ��� �������� �������� «������� ��������». ����� ����� Windows ���������, ������������ ��������� ��������� � Windows � ��������� ���������; ����� ����� ������ ���������, ������������ ������������� ��������� � ������. ��� �������� ������ �������� — �� ������ ������������ �������� ������� ���������� ������ ������������ ������, �� � ��������� � ������ �������� �� ����� �������� ������������. ����� ����, ������� Windows � ����� ������������ ������ �� ���������� ������� �������������� ���������: ����������� ����������� ������, ��������� ��������� ������ �������� �����, Windows «�� �����» ����������� �������� �������� ������, �������� �������������� ���������� ����� ������������� ���������.

1.2.2. ��� ����� Wine, � ��� �� ��� �������?

Wine ��������� ��������� Windows ��������� �� ����� �����-�������� ������������ ��������, �������� ������.
� ����� ����, Wine ������������ ����� ���������� ����������
���������� ���������������� ���������� (����. Application Programming Interface, API)
Windows, ���������� ������� ����� ����� Windows ���������� � ������. �������� Wine ���������� �������������; ����� Windows ��������� �������� ��������� ����� ��������, ������� � ����� ��������� ��� ������, Wine «���������» ���������� ���� ��������� �� ����, �������� ��� ������� ������. ��������, ���� ��������� ������ ������� ������� �������� ������, ��� ��������� ����, �� Wine ����������� Windows ���������� � �� ������ ���������� � ����� ������� �������� ���������, ��������� ����������� �������� X11.

���� ������� ������ � ��������� ���� Windows ���������, Wine ����� ����� ���� ������������ ��� �������������� ��������� � ������, ������� ������ �������� ������� �����. ��� ������� ����� ������������������� ���������, Wine ��� ����� ���������, ������ � ���������� Windows �������� ����� ������ ������ ���������� ����� �����������. �������� Winelib User Guide ��� ���������� � ���� �����.

1.2.3. �������� Wine

� �������� ������ �������� Wine ��������� ����������� ����� �������� � ����������� ����� ��������, ������� ����� ���������. ��� ��������� ������ ���� �������:

  • ��������� ������� Win32 (Win 95/98, NT/2000/XP), Win16 (Win 3.1) � DOS ��������
  • �������������� ����������� ������������� DLL ������ �� ��������
    ������������ (�����, ����� ������ � ������ Windows)
  • ����������� �������, ������������ �� X11, ����������� ��������� ������ �� ����� � ��������, ��� � �� ��������� �������
  • ������� ���� ������ ����, ���� ����������� ����
  • ��������� DirectX ��� ���
  • �������� ��������� ��� ��������� �������� ���������, ������� OSS � ALSA
  • ��������� �������������� ��������� �����
  • ������: �������� ���������� PostScript (psdrv) ��� ������������ ��������� ������� PostScript ��� �����
  • �����, ��������� ����������������� �����
  • ��������� �������� ��������� Winsock TCP/IP
  • ��������� ��� ��������, ������� CD ��������, � ������ ���������, ������������ ��������� ASPI (SCSI)
  • ����������� ��������� ������� � ����������� ������
  • ������������������� ������� �������, ���������, ������������ ������� ��������� � ���������� ��� �������� ������ ��������������

1.3. ������ Wine

1.3.1. Wine �� Wine HQ

���������� �����������: ��� � ������� ��� «HQ» ������� � ���� HeadQuarters (����-��������).

Wine �������� �������� � ��������� ��������� ������, � � ��� ���� ����������� ������� ����� ��������� ������.
����������� ������ Wine ���������� � ���� ������������� ������� (�������� ������ � �����), � ����� ���� ������� � ���������, ��� � ���� ��������������� ��������� �����, ��� � � ���� ��������� ����, �������� � ����������. ����� ����, �� ������ ���������� ������, ����������� � ����������, ��������� �������� �� �������� ����� � ����������� Git. ��������� � ��������� �����, Getting Wine, ��� ���������� ��������.

1.3.2. ������ ������ Wine

���������� ��������� ��������, ��� ��� ����� ������� ���� ������������� �� ����������� ������� ���� Wine. ��������� �� ��� �������� ������������� ����������, �������������� ����������, ������� ��������������� ������ Wine.

��� �������� �������� ���������� � ���������� �� ����������� ������ Wine, ��������� ������ �������������, ���������� ������������, � ������������ ���������. ���� ��� ��������� �������� ����, ����� ���� ��� ����� ���������� �������� ��������.

��� ���� ����������� ������ ����:

CodeWeavers CrossOver Office

CrossOver Office ��������� ��� ���������� ���� ������� Windows ���������� � ����� ������, ��� ���� �� ��������� �������� ��������� (Microsoft Operating System license).CrossOver ����� ������� � ������������� ���������, ����������� ������������� Windows ���������� ����� � ������.

������ ���������������: ������������; ��������������� ������ ������������������� ������������.

CodeWeavers CrossOver Office Server Edition

CrossOver Office Server Edition ��������� ��� ��������� ���� ������� Windows ���������� � �������������� ������-������������ ������� ��������� ��� ��������, ��� ������������� ����������� �������� ��������� (Microsoft Operating System licenses) ��� ������ ���������� ������. CrossOver Office Server Edition ��������� ��� ������������� ������� ��������� ����� ������������ �������������, � ��� ��� � ������ �������.

1.4. ������ ������� ������� ���� �� ����������

���������� ��������� �������� ��������� ���������, ����� Wine. ���� �� ����������� ������������ Wine ��� ������� �����-���� ���������, �� ����� �������� ���, ����� �������� � ������ ������� � ��������.

1.4.1. ����������� ������������ ����������

������ ������������� ����������� Windows ���������� ��� ������ Wine, �����
������ ����� ������ ���������. ��������� Windows ����������, ����� ��� �����-������, �������� ����������� ������ �����������, ��������� ����������� ������������� ������, ����� ����� ������� ��������� �����������. ������ ����, ������������ ����� Windows �������� ���� ����� ����������� � ������, ��� ������ �������� �� Wine, �� ����� Windows.

1.4.2. ������ ������������ �������

�������� ��������� ������ ��������� Windows ���������� — ��� ��������� ��� ��� Windows. ������ ����������� ������������, ��������� ��������, �������� �������������, ������������� ������������� �����, ����� ��������� ��� �����������. ������ ������� ��� ������� Wine.

����� ����������� ������������ ReactOS, ������� �������� ������ ��������� (� ��������� ������) ������������� Windows. ReactOS �������� ������� ������ � �������� Wine, �, ������ ����, ����� ��������� ���������� Windows ��� ������, ��� ������������ ��������� �� ��� ����� ReactOS. ����� ����, ReactOS ���������� ������������� � ������� ��������� Windows, ��� ��������� ������������ «������» ��� �������������� ������ ���������.

1.4.3. ����������� ������

������ ���� ����� ������������� ����� ������������ ������� �� ���� ������, �����, ������ �����, ��������� ����������� ������ �� ����������� ������, � ���������� ����� ������������ ������� �� ���. ����� �������, �� ������� ������������ �������� ������, � � �� �� �����, � ����������� ������, ������������ Windows �� ����� ��� �����������, ������������ � �� ����� � ��� �� «������». ����������� ������ ��������� ��� ������������� � ��������� �� ������ ��������� ������ Windows, �� ����� � ��� �� ������������, �� ����� ������ ������������ �������, ������� ReactOS.

������������ ��������� ��������� ����� ����������� �����, ��������� ���� ����� ����������� «������» x86 �� ���� ����������. �� ����� �� ���������� ����������� ������� Bochs � QEMU, ��������� ���������� ��������� Windows � ReactOS. ������, ������������ ����������� ������ �������� VMware � ��������������� VirtualPC.

� ������ � ������������ �������� ���� ������������ ����������. � ������� �� Wine, ��� ��������� �������� �����������, ��� ��� ��� ������ � ���� ��������� ������ ��������, ������� ����� ���� ������ �������. ����� ����, ������ ���������� ������ ����������� ������, �� ��������� ��������� ������������� ���������� � ������� ���������. ��������, �� ������ ����� ������ ���������� ���� Windows, ��� ������ ���������� Windows ����� ������� ������, � �� ���� ����������, ��� �������� Windows ����� ������������ ������ ������ ����������� ������.



Состояние перевода: На этой странице представлен перевод статьи Wine. Дата последней синхронизации: 11 июля 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Wine — слой совместимости, позволяющий запускать приложения Microsoft Windows в Unix-подобных операционных системах. Программы, запущенные в Wine, работают так же, как и «родные» — без потерь производительности и увеличения потребления памяти, характерных для эмуляторов.

Важно:

  • Wine не изолирован от вашей системы.
  • Если в рамках вашей учётной записи у вас есть доступ к определённому файлу или ресурсу, то программы, запущенные в Wine, тоже его получат. Некоторые меры предосторожности на этот случай описаны в разделе #Отдельная учётная запись для запуска Wine и статье Безопасность#Запуск приложений в песочнице.
  • Wine может запускать в том числе и вредоносные программы (см. Wine FAQ).

Установка

Чтобы установить Wine, подключите репозиторий multilib и установите пакет wine (development-версия) или wine-staging (testing). Wine Staging — пропатченная версия Wine с исправлениями багов и некоторыми возможностями, которые ещё не были добавлены в stable- и development-версии. См. также #Графические драйвера и #Звук.

Если вы собираетесь запускать приложения, которые зависят от Internet Explorer и .NET, то имеет смысл также установить пакеты wine-gecko и wine-mono соответственно. Этот шаг не является обязательным, поскольку Wine может самостоятельно подгружать необходимые файлы по мере необходимости. Тем не менее, если скачать файлы заранее, то работать будет можно без подключения к сети, а Wine не придётся скачивать файлы каждый раз, когда они потребуются какому-нибудь префиксу.

Сторонние приложения

Перечисленные ниже приложения являются отдельными проектами, с собственными сообществами и веб-сайтами, и не поддерживаются основным сообществом Wine. Подробности можно найти в Wine Wiki.

  • CrossOver — Платная коммерческая версия Wine с более надёжной службой поддержки пользователей.
https://www.codeweavers.com || crossoverAUR
  • icoextract — Генерирует эскизы для исполняемых файлов Windows (.exe и .dll).
https://github.com/jlu5/icoextract || icoextractAUR
  • Lutris — Игровой лончер для всех типов игр, в том числе игр Wine (с управлением префиксами), игр Linux и эмуляторов.
https://lutris.net || lutris
  • PlayOnLinux — Графический префикс менеджер для Wine. Включает скрипты для помощи в установке и настройке программ.
https://www.playonlinux.com || playonlinuxAUR
  • Proton — Иструмент совместимости для Steam на основе Wine и дополнительных компонентов. На странице ProtonDB можно найти список совместимости.
https://github.com/ValveSoftware/Proton || protonAUR
  • PyWinery — Простой графический префикс менеджер для Wine.
https://github.com/ergoithz/pywinery || pywineryAUR
  • Q4Wine — Графический префикс менеджер для Wine. Может экспортировать темы Qt в конфигурацию Wine для лучшей интеграции.
https://sourceforge.net/projects/q4wine/ || q4wine-gitAUR
  • Bottles — Графический менеджер префиксов и запуска программ для Wine на основе GTK.
https://usebottles.com/ || bottlesAUR

Настройка

Настройка Wine обычно выполняется следующими инструментами:

  • winecfg — графический настройщик Wine, запускается командой winecfg.
  • regedit — утилита Wine для редактирования реестра, запускается командой regedit. См. статью Useful Registry Keys на сайте WineHQ.
  • control — реализация Панели управления Windows для Wine, запускается командой wine control.
  • Полный список команд можно найти в статье List of Commands на WineHQ.

WINEPREFIX

По умолчанию Wine хранит файлы настроек и установленные программы Windows в каталоге ~/.wine. Этот каталог обычно называют «префикс Wine» или «бутылка Wine» (wine bottle — «бутылка вина»). Каталог создаётся/обновляется каждый раз, когда вы запускаете программу Windows или одну из связанных с Wine программ вроде winecfg. Каталог префикса содержит дерево, которое ваши программы будут видеть как диск C:.

С помощью переменной окружения WINEPREFIX можно задать произвольный каталог для префикса. Это удобно, если вы хотите использовать разные настройки для разных Windows-программ. Когда программа впервые запускается с новым префиксом, Wine автоматически создает каталог с чистым диском C и реестром.

Например, если вы запустите одну программу командой $ env WINEPREFIX=~/.win-a wine program-a.exe, а другую — командой $ env WINEPREFIX=~/.win-b wine program-b.exe, то у каждой программы будет отдельный диск С и отдельный реестр.

Примечание: Префикс Wine не является песочницей! Программа, запущенная в Wine, всё ещё имеет доступ к остальной файловй системе. Например, диск Z: будет отображаться на / вне зависимости от текущего префикса.

Чтобы создать нужный префикс без запуска Windows-программы или графического инструмента, выполните:

$ env WINEPREFIX=~/.префикс wineboot -u

WINEARCH

Wine по умолчанию запускает 64-битное окружение. Это поведение можно изменить переменной окружения WINEARCH. Переименуйте каталог ~/.wine и создайте новое окружение Wine командой $ WINEARCH=win32 winecfg. Это окружение будет 32-битным. Если переменная WINEARCH не указана, то создаётся 64-битное окружение.

WINEARCH можно совместить с WINEPREFIX, чтобы создать отдельные окружения для win32 и win64:

$ WINEARCH=win32 WINEPREFIX=~/win32 winecfg
$ WINEPREFIX=~/win64 winecfg

Также WINEARCH можно совместить с другими программами Wine вроде winetricks (Steam взят для примера):

WINEARCH=win32 WINEPREFIX=~/.local/share/wineprefixes/steam winetricks steam

Узнать архитектуру существующего префикса можно в файле реестра. Следующая команда считывает системный реестр префикса ~/.wine и возвращает строку #arch=win32 или #arch=win64 в зависимости от типа архитектуры:

$ grep '#arch' ~/.wine/system.reg

Графические драйвера

Вам придётся установить 32-битную версию вашего графического драйвера. Выберите нужный пакет из столбца OpenGL (multilib) в таблице Xorg#Установка драйвера.

Верным признаком того, что ваш драйвер не подходит или неправильно настроен, будет следующее сообщение Wine в окне терминала:

Direct rendering is disabled, most likely your OpenGL drivers have not been installed correctly

Примечание: После установки нужной библиотеки необходимо перезагрузить X.

Звук

При запуске приложений в Wine могут возникнуть некоторые проблемы со звуком. Убедитесь, что в winecfg выбрано только одно звуковое устройство.

Установите необходимые вашему аудиодрайверу пакеты:

  • Для ALSA установите lib32-alsa-lib и lib32-alsa-plugins.
  • Для PulseAudio установите lib32-libpulse.
  • Для OSS установите lib32-alsa-oss.

Дополнительные пакеты:

  • Играм, в которых используется продвинутая звуковая система (например, TESV: Skyrim), может потребоваться пакет lib32-openal.

Если winecfg по-прежнему не может обнаружить звуковой драйвер (Selected driver: (none)), настройте его через реестр. Например, если не работает микрофон в 32-битном приложении Windows на 64-битной базовой установке wine-1.9.7, получить полный доступ к звуковому аппаратному обеспечению можно следующим образом: откройте regedit, найдите HKEY_CURRENT_USER → Software → Wine → Drivers, добавьте строку с названием Audio и задайте ей значение alsa. Возможно, также поможет пересоздание префикса.

Поддержка MIDI

MIDI — довольно популярная музыкальная система видеоигр 90-х. Если вы пытаетесь запустить старую игру, то «из коробки» звук скорее всего работать не будет.

В Wine имеется отличная поддержка MIDI. Тем не менее, в первую очередь она должна работать на вашей хостовой системе, как объяснено в статье MIDI. Кроме того, убедитесь, что Wine использует правильный MIDI-разъём.

Прочие зависимости

Некоторым приложениям могут потребоваться дополнительные пакеты для различных целей:

  • Проигрывание музыки: lib32-mpg123.
  • «Родные» библиотеки обработки изображений: lib32-giflib и lib32-libpng.
  • Поддержка шифрования: lib32-gnutls.
  • 32-битные видеокодеки: lib32-gst-plugins-base, lib32-gst-plugins-good, lib32-gst-plugins-badAUR и lib32-gst-plugins-uglyAUR.
  • NTLM-аутентификация: samba.

Шрифты

Если в приложении Wine шрифты отображаются неразборчиво, проблема может быть в том, что они просто не установлены. Вы можете настроить Wine, чтобы он использовал системные шрифты:

$ cd ${WINEPREFIX:-~/.wine}/drive_c/windows/Fonts && for i in /usr/share/fonts/**/*.{ttf,otf}; do ln -s "$i" ; done

Wine использует FreeType для построения шрифтов, и стандартные настройки FreeType изменились несколько релизов назад. Попробуйте использовать следующее окружение для Wine-программ:

FREETYPE_PROPERTIES="truetype:interpreter-version=35"

Можно также попробовать установить шрифты Microsoft (TrueType) в префикс Wine. Если это не поможет, попробуйте сначала выполнить winetricks corefonts, а затем, как крайнее средство, winetricks allfonts.

После выполнения этих команд «убейте» все запущенные сервера Wine и выполните winecfg. Шрифты должны быть доступны.

Если шрифты выглядат немного смазанными, импортируйте следующий текстовый файл в реестр Wine с помощью regedit:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Wine\X11 Driver]
"ClientSideWithRender"="N"

Для мониторов с высоким разрешением значения dpi можно задать в winecfg.

См. также Настройка шрифтов#Приложения без поддержки fontconfig.

Сглаживаение шрифтов

Хороший способ улучшить рендеринг шрифтов в Wine — включить сглаживание ClearType. Следующий скрипт включит режим «Subpixel smoothing (ClearType) RGB»:

cat << EOF > /tmp/fontsmoothing
REGEDIT4

[HKEY_CURRENT_USER\Control Panel\Desktop]
"FontSmoothing"="2"
"FontSmoothingOrientation"=dword:00000001
"FontSmoothingType"=dword:00000002
"FontSmoothingGamma"=dword:00000578
EOF

WINE=${WINE:-wine} WINEPREFIX=${WINEPREFIX:-$HOME/.wine} $WINE regedit /tmp/fontsmoothing 2> /dev/null

Подробнее см. оригинальный ответ.

Иконки рабочего стола

Когда установщик приложения Windows пытается создать ярлык, Wine создает файл .desktop вместо него.

  • Ярлыки рабочего стола сохраняются в каталоге ~/Desktop.
  • Ярлыки стартового меню сохраняются в каталоге ~/.local/share/applications/wine/Programs/.

Примечание: Wine не поддерживает установку приложений Windows для всех пользователей, поэтому в каталоге /usr/share/applications файлы .desktop не сохраняются. См. описание бага 11112.

Совет: Если пункты меню не создались во время установки или были случайно удалены, попробуйте команду wine winemenubuilder.

Пункты меню для утилит Wine

По умолчанию, при установке Wine пункты меню и иконки для относящихся к Wine программ (например, winecfg, winebrowser и т.д.) не создаются. Чтобы это исправить, установите мета-пакет wine-installerAUR или wine-installer-gitAUR (у последнего есть дополнительные зависимости) или следуйте инструкциям ниже.

Во-первых, установите любую программу Windows, чтобы Wine создал меню. Затем создайте файлы со следующим содержанием в каталоге ~/.local/share/applications/wine/:

wine-browsedrive.desktop
[Desktop Entry]
Name=Browse C: Drive
Comment=Browse your virtual C: drive
Exec=wine winebrowser c:
Terminal=false
Type=Application
Icon=folder-wine
Categories=Wine;
wine-uninstaller.desktop
[Desktop Entry]
Name=Uninstall Wine Software
Comment=Uninstall Windows applications for Wine
Exec=wine uninstaller
Terminal=false
Type=Application
Icon=wine-uninstaller
Categories=Wine;
wine-winecfg.desktop
[Desktop Entry]
Name=Configure Wine
Comment=Change application-specific and general Wine options
Exec=winecfg
Terminal=false
Icon=wine-winecfg
Type=Application
Categories=Wine;

После этого создайте следующий файл в каталоге ~/.config/menus/applications-merged/:

wine.menu
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
<Menu>
  <Name>Applications</Name>
  <Menu>
    <Name>wine-wine</Name>
    <Directory>wine-wine.directory</Directory>
    <Include>
      <Category>Wine</Category>
    </Include>
  </Menu>
</Menu>

Если с этими настройками иконки выглядят уродливо (или не появились вовсе), то их нет среди доступных. Необходимо заменить настройки явным указанием расположения желаемых иконок. Того же можно добиться правым кликом по иконке и изменением настроек. Большой набор иконок для ярлыков можно найти в GNOME-colors.

Удаление пунктов меню

Созданные Wine пункты меню хранятся в каталоге ~/.local/share/applications/wine/Programs/. Если удалить соответствующий программе файл .desktop, то приложение исчезнет из меню.

Кроме того, чтобы удалить нежелательные расширения Wine, выполните следующие команды (источник — сайт Wine):

$ rm ~/.local/share/mime/packages/x-wine*
$ rm ~/.local/share/applications/wine-extension*
$ rm ~/.local/share/icons/hicolor/*/*/application-x-wine-extension*
$ rm ~/.local/share/mime/application/x-wine-extension*

В KDE, возможно, для полной очистки меню также потребуется удалить файлы wine-*.menu из каталога /.config/menus/.

Внешний вид

Оформление в стиле XP можно загрузить отсюда. Руководство по установке можно найти здесь. После установки выберите тему оформления в winecfg.

Пользователи Wine Staging могут вместо этого включить опцию Enable GTK3 Theming в разделе Staging winecfg. Будет выбрана текущая GTK-тема.

Печать

Чтобы использовать принтер (локальный или удалённый) с приложениями Wine в win32 prefixes (например, MS Word), установите пакет lib32-libcups, перезагрузите Wine (wineboot) и перезапустите приложение.

Сеть

Для приложений, работающих через TLS или HTTPS, установите пакет lib32-gnutls.

Wine также могут потребоваться специальные разрешения (capability) на доступ к сети по протоколу ICMP (пинги) (см. WineHQ FAQ):

# setcap cap_net_raw+epi /usr/bin/wine-preloader

Если после этого возникают проблемы (например, при обработке исключений или привилегированных команд), для удаления capability выполните:

# setcap -r /usr/bin/wine-preloader

Использование

Важно: Не устанавливайте и не запускайте приложения Wine с правами root! Подробнее см. Wine FAQ.

Общую информацию об использовании Wine можно найти на странице Wine User’s Guide.

Запуск конкретных приложений Windows в Wine описан на странице Wine Application Database (AppDB).

Wayland

В настоящее время Wine не поддерживает Wayland напрямую, но вы можете использовать Xwayland.

Некоторые попытки реализовать поддержку Wayland:

  • Экспериментальный драйвер Wayland для Wine, который поддерживает работу OpenGL- и Windows GDI-приложений. См. это и это сообщения почтовой рассылки wine-devel.
  • wine-wayland: альтернативная сборка Wine с поддержкой Wayland посредством Vulkan (работает с DirectX 9, 10 и 11 (через #DXVK) и с Vulkan-совместимыми приложениями).

Советы и рекомендации

Wineconsole

Часто появляется необходимость запустить .exe-файл, чтобы пропатчить файлы игры, например, добавить поддержку широкоформатного экрана в старую игру. Запуск .exe-файла в Wine обычным способом ни к чему не приведёт. В этом случае откройте терминал и выполните:

$ wineconsole cmd

Затем перейдите в каталог с .exe-файлом и запустите его.

Winetricks

Winetricks — скрипт, помогающий установить базовые зависимости, необходимые программам Windows. Устанавливаются DirectX 9.x, MSXML (для Microsoft Office 2007 и Internet Explorer), библиотеки Visual Runtime и многое другое.

Установите пакет winetricks или winetricks-gitAUR, после чего выполните:

$ winetricks

Графический интерфейс можно установить с пакетом zenity.

Производительность

CSMT

CSMT — технология Wine, использующая отдельный поток для вызовов OpenGL, что значительно повышает производительность. Начиная с Wine 3.2 CSMT по умолчанию включён. Для более ранних версий Wine его необходимо включить вручную. Для «ванильного» Wine запустите wine regedit и задайте DWORD-значение 0x01 (включено) для HKEY_CURRENT_USER -> Software > Wine > Direct3D > csmt. Для Wine Staging выполните winecfg и включите CSMT на вкладке Staging.

Имейте в виду, что для некоторых приложений CSMT может привести к обратному эффекту — к снижению производительности. В этом случае отключите его вручную, создав/изменив значение в реестре на 0x00 (отключено).

Подробная информация:

  • Обсуждение на Phoronix Forum с разработчиком CSMT Stefan Dösinger.

Режим OpenGL в играх

В некоторых играх есть поддержка OpenGL, который может работать лучше, чем стандартный DirectX. Хотя способ включения OpenGL варьируется от приложения к приложению, многие игры используют флаг -opengl:

$ wine /путь/к/3d_игре.exe -opengl

Разумеется, перед запуском приложения в этом режиме необходимо тщательно изучить его документацию и информацию из базы данных Wine AppDB.

DXVK

DXVK — новая многообещающая реализация DirectX версий 9, 10 и 11 поверх Vulkan. Значительно повышает производительность и в некоторых случаях обеспечивает даже лучшую совместимость. Battlefield 1, например, работает только под DXVK. С другой стороны, на данный момент DXVK поддерживает не все игры Wine.

Чтобы использовать DXVK, установите пакет dxvk-binAUR. Команда ниже активирует его для указанного префикса (по умолчанию ~/.wine):

$ WINEPREFIX=префикс setup_dxvk install

Примечание: В Wine версий до 3.5 необходимо настроить поддержку Vulkan вручную, следуя указаниям на GitHub.

Важно: DXVK замещает DLL-файлы для DirectX 10 и 11. В многопользовательских онлайн-играх это может быть принято за использование читов, что закончится блокировкой аккаунта. Используйте на свой страх и риск!

Gallium Nine

Для открытых драйверов на основе Gallium (в основном карты AMD) существует проект трекера состояний Gallium Direct3D, который ставит целью добиться производительноси, сравнимой с нативными показателями DirectX 9. В большинстве случаев выдаёт вдвое большую производительность, чем стандартный Wine, и меньшее количество визуальных помех. Потреблене времени центрального процессора значительно ниже по сравнению с CSMT.

Чтобы его использовать, установите пакет wine-nine. Это одиночный пакет, подходящий для любой версии Wine. Команда wine ninewinecfg позволяет проверить, включён Gallium Nine или нет.

Удаление ненужных файловых ассоциаций

Wine используется как приложение по умолчанию для большого количества форматов файлов. Некоторые из них, например, vbs или chm, являются специфичными для Windows, и такая привязка вполне логична. С другой стороны, довольно неприятно, когда файл gif, jpeg, txt или js открывается в запущенном в Wine браузере Internet Explorer или редакторе Notepad.

Ассоциации Wine хранятся в каталоге ~/.local/share/applications/ в виде файлов wine-extension-расширение.desktop. Удалите те из них, которые не нужны, либо удалите все расширения Wine:

$ rm -f ~/.local/share/applications/wine-extension*.desktop
$ rm -f ~/.local/share/icons/hicolor/*/*/application-x-wine-extension*

После этого очистите кэш:

$ rm -f ~/.local/share/applications/mimeinfo.cache
$ rm -f ~/.local/share/mime/packages/x-wine*
$ rm -f ~/.local/share/mime/application/x-wine-extension*

И обновите его:

$ update-desktop-database ~/.local/share/applications
$ update-mime-database ~/.local/share/mime/

В качестве альтернативы можно удалить все файлы, относящиеся к Wine:

$ find ~/.local/share -name "*wine*" | xargs -I '{}' --no-run-if-empty rm -r '{}'

После этого тоже обновите кэш, как показано выше.

Имейте в виду, что Wine может создать новые ассоциации и даже пересоздать удалённые, если того потребует какое-нибудь приложение.

Запрет на создание файловых ассоциаций

Примечание: Указанные действия необходимо выполнять для каждого WINEPREFIX, которому вы желаете запретить обновление файловых ассоциаций, за исключением варианта с редактированием файла /usr/share/wine/wine.inf (см. ниже).

Данный метод предотвращает создание файловых ассоциаций, но оставляет возможность для создания XDG-файлов .desktop (которые вы видите, например, в меню).

Если вы хотите запретить Wine создавать файловые ассоциации, запустите winecfg и уберите галочку «Manage File Associations» на вкладке Desktop Integration. Подробнее см. Wine FAQ.

Чтобы сделать то же самое, но с помощью реестра, добавьте строку Enable со значением N в

HKEY_CURRENT_USER\Software\Wine\FileOpenAssociations

Сначала необходимо создать ключ FileOpenAssociations!

Если вы хотите, чтобы эти настройки автоматически применялись к новым префиксам, отредактируйте файл /usr/share/wine/wine.inf, добавив следующую строку в раздел [Services]:

HKCU,"Software\Wine\FileOpenAssociations","Enable",2,"N"

Предотвратить перезапись изменённых файлов при обновлении пакета можно создав хук pacman, который будет вносить изменения автоматически:

/etc/pacman.d/hooks/stop-wine-associations.hook
[Trigger]
Operation = Install
Operation = Upgrade
Type = Path
Target = usr/share/wine/wine.inf

[Action]
Description = Stopping Wine from hijacking file associations...
When = PostTransaction
Exec = /bin/sh -c '/usr/bin/grep -q "HKCU,\"Software\\\Wine\\\FileOpenAssociations\",\"Enable\",2,\"N\"" /usr/share/wine/wine.inf || /usr/bin/sed -i "s/\[Services\]/\[Services\]\nHKCU,\"Software\\\Wine\\\FileOpenAssociations\",\"Enable\",2,\"N\"/g" /usr/share/wine/wine.inf'

Подробнее см. pacman#Хуки

Неявный запуск бинарников Windows

Пакет wine содержит файл binfmt, который позволяет запускать программы Windows напрямую. Например, команда ./myprogram.exe будет запускать программу так же, как wine ./myprogram.exe. Соответствующая системная служба запускается автоматически при старте системы. Если вы ещё не перезагружались после установки Wine, то можете вручную запустить службу systemd-binfmt.service, чтобы она заработала.

Примечание: Убедитесь, что у двоичного файла Windows есть права на исполнение, иначе он не запустится. Например, выполните chmod +x windows-binary.

Два монитора с разными разрешениями

Если у вас возникли проблемы с разрешением экрана на втором мониторе, возможно, в системе отсутствует пакет lib32-libxrandr.

Кроме того, установка пакета lib32-libxinerama поможет решить некоторые другие проблемы работы с двумя мониторами в Wine: ненажимаемые иконки и пункты меню, плохая отрисовка интерфейса приложения, зависание курсора мыши и т.п.

Прожиг оптического носителя

Для прожига CD- и DVD-дисков необходимо загрузить модуль ядра sg.

Монтирование образов оптических дисков

Приложения могут проверять наличие оптического диска в дисководе. Иногда это просто проверка присутствия данных, и в этом случае будет достаточно с помощью winecfg настроить определённый путь в файловой системе выступать в качестве привода CD-ROM. Другие приложения могут проверять название носителя и/или серийный номер, и в этом случае потребуется смонтировать соответствующий образ.

Некоторые утилиты для работы с виртуальными дисками, в том числе основанные на fuse, не умеют работать с такими метаданными — например, Acetoneiso. CDEmu, наоборот, работает вполне корректно.

Показ FPS в играх

Wine отслеживает FPS графических приложений, если установлена переменная окружения WINEDEBUG=fps. Количество кадров будет выводиться в stdout. Утилита osd_cat из пакета xosd позволяет отобразить FPS в верхней части экрана поверх окна приложения. См также вспомогательный скрипт.

Отдельная учётная запись для запуска Wine

Поскольку приложения Windows имеют доступ к вашей домашней директории, имеет смысл создать отдельную учётную запись для работы только с Wine.

Первым делом создайте саму учётную запись:

# useradd -m -s /bin/bash wineuser

Затем переключитесь в другую виртуальную консоль и запустите оконный менеджер или окружение рабочего стола (или прото читайте дальше)…

Чтобы теперь запускать Wine от новой учётной записи, необходимо добавить её в список разрешений X server:

$ xhost +SI:localuser:wineuser

Наконец, можно запускать Wine, передав ему с помощью env необходимые переменные окружения:

$ sudo -u wineuser env HOME=/home/wineuser USER=wineuser USERNAME=wineuser LOGNAME=wineuser wine аргументы

Процесс запуска приложений Windows в Wine можно автоматизировать с помощью скрипта:

/usr/local/bin/runaswine
#!/bin/bash
xhost +SI:localuser:wineuser
sudo -u wineuser env HOME=/home/wineuser USER=wineuser USERNAME=wineuser LOGNAME=wineuser wine "$@"

Теперь приложение Wine запустится следующей командой:

$ runaswine "C:\путь\к\приложению.exe"

Чтобы не вводить пароль каждый раз при запуске Wine, добавьте следующий пункт в файл /etc/sudoers: имя_основного_пользователя ALL=(wineuser) NOPASSWD: ALL. Подробнее см. Sudo#Настройка.

Рекомендуется также запустить winecfg от пользователя Wine, и в окне настроек (раздел «Desktop Integration») убрать привязки ко всем каталогам за пределами домашнего. Так Wine будет иметь доступ только к нему и ни к чему более.

Правда, нужно иметь в виду, что при таком способе работы в приложениях, использующих PulseAudio, может перестать работать звук. В статье PulseAudio/Примеры#Одновременное использование PulseAudio несколькими пользователями описано, как дать пользователю Wine доступ к демону PulseAudio основного аккаунта.

Каталог Temp в tmpfs

По умолчанию Wine записывает временные файлы на физический носитель, но можно использовать для этого файловую систему tmpfs. Удалите текущий каталог для временных файлов и создайте символическую ссылку на новый:

$ rm -r ~/.wine/drive_c/users/$USER/Temp
$ ln -s /tmp/ ~/.wine/drive_c/users/$USER/Temp

Запрет на установку Mono/Gecko

Если Gecko и/или Mono нет ни в префиксе, ни в системе в целом, Wine будет запрашивать разрешение на скачивание их из сети. Если ни Gecko, ни Mono вам не нужны, то этот диалог можно отключить. Установите переменную окружения WINEDLLOVERRIDES в значение mscoree=d;mshtml=d.

Vulkan

В Wine 3.3 была добавлена поддержка Vulkan. Базовый ICD-загрузчик Vulkan в большинстве приложений работает вполне нормально, но в нём отсутствуют некоторые продвинутые возможности вроде Vulkan layers. Чтобы получить к ним доступ, установите официальный Vulkan SDK (см. шаг 2-4 на GitHub-странице автора патча).

Примечание: ICD-загрузчик Wine был добавлен в версии 3.5, поэтому устанавливать официальный Vulkan SDK нужно только для версий 3.3 и 3.4.

Удаление файловых привязок

По соображениям безопасности полезно удалить предустановленные привязки Wine, чтобы приложения Windows не могли быть запущены напрямую из файлового менеджера или браузера (Firefox предлагает открыть EXE-файлы сразу в Wine!).

Чтобы это сделать, добавьте следующие строки в раздел [options] файла /etc/pacman.conf:

NoExtract = usr/lib/binfmt.d/wine.conf
NoExtract = usr/share/applications/wine.desktop

Решение проблем

Общие советы по решению возможных проблем можно найти на страницах Wine User’s Guide и Wine FAQ (прежде всего в разделе Решение проблем).

Советы для конкретных приложений можно найти в Wine AppDB.

Проблемы с Xwayland

Если вы используете Wine в Xwayland, опция «Эмуляция виртуального рабочего стола» на вкладке Graphics в winecfg позволяет решить следующие проблемы:

  • мерцание;
  • неправильное положение окна;
  • неправильное положение курсора мыши и реакция на клики;
  • обнаружение клавиатуры.

Смотрите также

  • Wine Homepage
  • Wine Wiki
  • Wine Application Database (AppDB) — Информация о запуске конкретных приложений Windows (известные проблемы, рейтинги, руководства и т.п.).
  • Wine Forums — Здесь можно задавать вопросы, но только после прочтения FAQ и AppDB.
  • Gentoo:Wine
  • Darling — аналогичный проект для программ MacOS

Время на прочтение
7 мин

Количество просмотров 578K

Введение

Статья посвящена Wine и всем аспектам его использования. В сети находится очень
много информации, есть различные руководства по настройке и многое другое. Я
постараюсь объединить все для того чтобы любой человек смог достичь
максимального успеха, в пределах своих способностей и конечно возможности
программы. Итак — начнем.

Wine — это отдельная реализация Windows API, а не эмулятор, как большинство
думают. Не единожды повторялось, но и здесь будет уместно. Это и делает проект
уникальным и интересным для пользователей различных систем, открывает различные
пути для реализации своих идей. Уникальность заключается в том, что с помощью
этой программы можно запускать Windows приложения в Ubuntu и в других
Linux системах, а также во FreeBSD и в Mac OS X. Правда и тут есть
свои «подводные камни». Некоторые думают что будет легко перейти с одной
системы на другую, в данном случае мы рассматриваем Windows и Linux.

Заблуждение заключается в том что люди думают что у них получиться запустить из
под Wine различный софт, к которому они привыкли и им удобно в нем работать.
Как не крути просто так ничего не бывает. Чтобы заработал наш любимый софт под
Wine нужно попотеть, перечитать кучу руководств и взвесить этот объём
информация. Конечно не совсем софтом придется «пыжиться», но готовым надо быть ко всему. Проект Wine развивается очень быстро, но до стабильной работы ему
очень далеко. Но думаю что в скором будущем весь основной софт, а также игры
будут работать на нем стабильно.

Установка Wine

Первый вопрос человека который только что перешёл на Linux (в нашем случае
Ubuntu): «Как я буду запускать программы из Windows?». Он начинает поиск на эту
тему и естественно натыкается на Wine.
Второй вопрос: «Как его поставить?». Есть два способа: Поставить из
официальных репозиториев или скомпилировать самому из исходников. Мы рассмотрим
оба варианта.

Вариант 1: Установка из репозитория.

Тут все очень просто. Идем в Приложения // Стандартные // Терминал:

sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get update
sudo apt-get install wine1.3

Ждем завершения установки…
Всё! Wine установлен и можно пробовать устанавливать игры и программы.

Вариант 2: Компилирование из исходников.

1.Скачиваем исходники с официального сайта, там они присутствуют. В моё случае
это Wine 1.3.11 (http://sourceforge.net/projects/wine/files/Source/wine-1.3.11.tar.bz2/download).

2. Распаковываем исходники.
Дальше вводим в терминале следующие команды:

переходим в директорию, в которую был распакован архив с исходными текстами:

cd wine-1.3.11/

Перед компиляцией надо включить поддержку OpenGL. Если мы этого не сделаем
приложения которым нужен OpenGL работать не будут. В терминале:

gedit tools/wineinstall

Находим строку, начинающуюся с CONFARGS=, и после вписываем в нее нужные
параметры сборки. В нашем случае строка будет выглядеть так:

CONFARGS="--with-opengl --disable-debug --disable-trace"

Получаем зависимости:

sudo apt-get install auto-apt checkinstall
sudo auto-apt -y run ./configure

Собираем:

make

Устанавливаем через создание пакета, вместо make install

sudo checkinstall

Всё. Ждем окончания установки.

Есть ещё промежуточный вариант, для джедаев на debian-based дистрибутивов. Кратко:

apt-get source wine1.3
sudo apt-get build-dep

Теперь самое интересное: скачиваем нужную версию wine с официального сайта, распаковываем, и копируем туда директорию debian из директории с исходниками оригинального пакета wine1.3. Делаем

debuild

и у нас появляется *.deb пакет для убунты/дебиана со всеми нужными патчами для дистрибутива, почти как из официального репозитория, но только новая версия. К тому же её ещё потом можно спокойно удалить так же через apt-get.
Рассмотрим плюсы и минусы каждого из вариантов.

Вариант 1.
Плюсы:
1. За нас уже все собрано и пыжиться не надо, все уже готово к употреблению.

Минусы:
1. Мы не сможем применить патч, например для улучшения работы какой нибудь игрушки.
2. Не стабильная работа на некоторых видеокартах.

Вариант 2.
Плюсы:
1. Возможность применить патчи для улучшения работы
2. Стабильная работа с не стабильными драйверами видеокарт.

Минусы:
1. Нет меню в Приложениях, что не удобно. Приходиться все делать из консоли,
выходить в настройки Wine например.
2. Процесс установки слишком долгий, зависит от мощности вашего компьютера.
1. Нет меню в Приложениях, что не удобно. Приходиться все делать из консоли, выходить в настройки Wine например.»

Можно самому добавить через Система — Параметры — Главное меню

Я отдаю предпочтение второму варианту. Wine установленный таким образом работает
лучше, чем установленный из репозиториев. Но это лишь мое маленькое ИМХО.

Установка программ и игр

Сперва мы идем на appdb.winehq.org Сверху, в поисковике вбиваем
название игры или программы и смотрим что там написано. Обычно там описаны
тесты на различных системах, рекомендации для стабильной работы и многое другое.

Если программа работает без проблем, значит с чистой душой её устанавливаем
простым кликом. Если это какая нибудь серьёзная игра или программа и без
шаманства с бубном не обойтись — значит надо создавать отдельный префикс* для
наших танцев. * Все файлы вайна хранятся в префиксе, или ещё называемом бутылкой (по анологии с вином/wine). Там внутри этой бутылки имеются все файлы диска C, реестр, индивидуальные настройки и так далее.

Таких бутылок может быть сколько угодно.

Просто может быть какой-то софт, который ведёт себя очень капризно под вайном и для него нужны какие-то костыли, которые будут мешать нормальной работе других приложений вайна. Тогда просто этот софт ставим в отдельную бутылку (префикс) и любые настройки не будут влиять на другие программы.

Когда вайн запускается в первый раз без указанного префикса, используется ~/.wine. Если префикс не существует вайн создаст его и наполнит дефолтным содержимым создаст и наполнит файлами каталоги C:\windows, C:\Program Files, C:\users. Плюс будет создан чистый реестр.
Идем в наш домашний каталог и создаем новую директорию. Например .wine2.
Дальше идем в терминал и вводим:

WINEPREFIX="/home/username/.wine2/" winecfg

Всё. Отдельный префикс создан. Там хранятся различные конфигурации реестра и сами программы.
Установку программы также производим через консоль.

WINEPREFIX="/home/username/.wine2/" wine /media/DVD/setup.exe

Идет процесс установки и самое главное в отдельный префикс.
Потом мы запускаем уже установленную программу, также из консоли и смотрим вывод.

В выводе могут быть ошибки, о том что нет нужных компонентов и библиотек. В
установке недостающих компонентов нам поможет winetricks (см. ниже)

Что это дает? Это дает стабильную работу приложений в своем префиксе, если
масса программ будет работать в одной префиксе, он рано или поздно засориться
что приведет к сбою других программ. Поэтому нужно использовать отдельные
префиксы, если не хотите все настраивать по много раз.

Winetricks

В правильной настройке префикса нам поможет winetricks.
Winetricks — это скрипт, который устанавливает различные компоненты, которые
требуются для работы приложения, например DirectX, Vcredist и многое другое.
Как это скрипт работает? Он скачивает библиотеки и компоненты с
Microsoft-овских ресурсов. Именно так, и не как по другому. Зачем этот скрипт
нужен? Это очень упрощает работу с Wine-ом. Без скрипта мы бы сами лазили и
искали нужные компоненты, а тут уже все сделано, надо только поставить галочку
и нажать «Установить» Также этот скрипт помогает редактировать реестр,
вписывать туда различные ключи. И помимо этого в winetricks есть много настроек
и функций.

Для ознакомления с ним просто введите в терминале winetricks

Редактирование реестра

В терминале вводим:

regedit

Мы в реестре. Редактировать нам ничего не надо, мы будет только добавлять.

Идем в HKEY_CURRENT_USER/Software/Wine/Direct3D.

Если каталога Direct3D нет, то не отчаиваемся. Я это пишу чтобы читатель понял
где-то надо редактировать или добавлять.

В терминале:

winetricks ddr=opengl orm=fbo glsl=disabled videomemorysize=1024
(1024 меняете на свое)

Все эти параметры появиться в реестре. Это можно посмотреть в папке указанной выше.

Что это дает? Это улучшает производительность в играх, скорость и вообще игры
работают от этого лучше, но это только для игр.

PlayOnLinux

Также существует PlayOnLinux. Это отдельная программа, которая использует Wine,
но там более все автоматизированно и настроено. Программа сама скачает нужный
Wine, установит компоненты и создаст отдельный префикс. Но это не значит что
все будет идеально работать. Может вообще не работать. Так что я отдаю свое
предпочтение обычному Wine, ручной настройке и работе собственного мозга, а не
автоматизированной программе.

Плюсы:
Все автоматизированно и нам по сути делать ничего не надо.
Можно держать несколько версий Wine и применять их для различных префиксов.
Программа сама создает префиксы.

Минусы:
Все что делает программа, устанавливает и скачивает предугадать невозможно.
Все что делает программа можно сделать самому, ручками, это + к знаниям человека.
Программа «Робот» никогда не сравнится с человеческим мозгом.

Монтирование образов CD/DVD-дисков

В Windows есть для этого утилита под названием Daemon-Tools. Это очень удобная
и не заменимая утилита. У человека возникает вопрос: Есть ли аналог этой
чудо-утилиты? Ответ: Есть и на много лучше Windows утилиты. Называется она
Cdemu. Для её установки нам требуется ввести всего лишь три команды:

sudo add-apt-repository ppa:cdemu/ppa
sudo apt-get update
sudo apt-get install cdemu-daemon cdemu-client gcdemu

Добавляем аплет на панель, указываем путь к образу и радуемся жизни. Не каких
проблем не будет и Wine будет отлично определять образ. Если аплета не находим не торопитесь перезагружаться.
В терминале вводим команды:

sudo service cdemu-daemon start

Если сервис не стартует при старте системы («The daemon is configured not to start at system startup»), можно исправить так:

sudo update-rc.d cdemu-daemon enable

Запуск игр в отдельном Х-сервере

Этому можно посветить целую книгу, но я остановился на одном способе, которым всегда пользуюсь:

Переходим в виртуальный терминал:

Ctrl + Alt + F1
login: ******
password: ******

Запускаем вручную новую копию X-сервера:

xinit -- :2
wine путь/папке/c/игрой/game.exe

Прирост от этого не большой, но лично мне этого хватает. Ещё раз повторю:
способов запуска в отдельном х-сервере много и каждый человек волен сам выбирать.

Заключение

Все эти советы, азы, которые должен знать каждый человек который хочет
использовать Wine для достижения своих целей. Все остальное в ваших руках. Если
вы хотите достичь цели не смотря ни на что, а надежда уже уходит, не
отчаивайтесь никогда, ибо решение может находиться у вас «перед носом». Усидеть
на двух стульях возможно, но для этого нужно желание и стальные нервы. Желание
— тысяча возможностей, не желание — тысяча причин.

Данный материал написан для «Первого конкурса русскоязычных статей для ОС
Ubuntu» (konkurs.ubuntu.ru)
Автор статьи Владимир Качармин aka rootboot
Контакты: Skype root.boot2, email verda.info@gmail.com

Примечание: На момент 2023 года статья значительно устарела, актуализированную версию можно найти здесь: https://noostyche.ru/blog/2023/05/19/aktualizirovannye-osnovy-po-ispolzovaniyu-wine-na-2023-god/

Примечание: Статья предназначена для новичков, но, как минимум, потребуются базовые знания о Linux (структура файловой системы, права пользователей, навыки работы с терминалом).

Содержание.

  1. О Wine.
  2. Установка Wine в дистрибутивы на базе Ubuntu, включая Linux Mint 19.
  3. Удаление Wine.
  4. Использование Wine. Немного теории о префиксах (prefix).
  5. Использование Wine. Создание префиксов (prefix).
  6. Общая информация и ограничения префиксов.
  7. Конфигурирование Wine через GUI.
  8. winefile. Файловый менеджер Wine.
  9. Wine. Установка и запуск программ.
  10. Wine. Удаление установленной Windows-программы.
  11. Winetricks. Основы.
  12. Winetricks. Настройка префикса.
  13. Углубление в функционал Wine.
  14. Отладка.
  15. Практика.
  16. Чуть-чуть хитростей.

Почта для предложений и замечаний: feedback@noostyche.ru

О Wine.

https://ru.wikipedia.org/wiki/Wine

Много интересного по использованию Wine можно посмотреть так:

man wine

Руководство пользователя:

https://wiki.winehq.org/Wine_User’s_Guide

В основном устаревший перевод руководства, но некоторые вещи всё ещё актуальны:

https://www.opennet.ru/docs/RUS/wine_guide/index.html

Arch wiki (часть вещей устарела):

https://wiki.archlinux.org/index.php/Wine_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)

Рецепты запуска конкретных программ и помощь от сообщества стоит искать здесь:

https://appdb.winehq.org

https://www.protondb.com

https://vk.com/native_wine

Примечание: В виду того, что с теоретической частью можно легко ознакомиться по приложенным к статье ссылкам, здесь она описывается кратко, оставляя больше пространства для практической части.

Установка в дистрибутивы на базе Ubuntu, включая Linux Mint 19.

https://wiki.winehq.org/Ubuntu

Для wine-staging, начиная с версии 4.5, требуется пакет libfaudio0. Для Ubuntu 19.10 и более новых выпусков этот пакет был добавлен в Universe-ветку репозитория, то есть в ветку с пакетами, поддерживаемыми сообществом.

Ещё libfaudio0 можно взять из этого репозитория:

https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_18.04/amd64/

https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_18.04/i386/

Для работоспособности Wine:i386 и Wine:amd64 потребуются пакеты соответствующей архитектуры.

Пример установки из репозитория:

sudo apt install --install-recommends libfaudio0

Пример установки скачанного пакета:

sudo apt install --install-recommends ~/Downloads/libfaudio0_19.07-0~bionic_i386.deb

Пример установки wine-staging в Linux Mint 19.

Рекомендую использовать именно wine-staging в виду того, что эта версия содержит множество дополнительных патчей, которые в значительной степени повышают шансы на успешный запуск той или иной программы. Недостатком этой версии является то, что она несколько менее стабильна, чем wine-stable, но в основном это не критично.

Первым шагом будет скачивание и добавление ключа:
wget -nc https://dl.winehq.org/wine-builds/winehq.key
sudo apt-key add winehq.key

Linux Mint 19 использует репозиторий Ubuntu bionic. Подключить соответствующую ветку репозитория Wine:
sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ bionic main'

Обновить список пакетов:
sudo apt update

Установить wine-staging:
sudo apt install --install-recommends winehq-staging:amd64

Должны установиться winehq-staging:i386 и winehq-staging:amd64.

Основные компоненты wine-staging будут расположены в /opt/wine-staging/

Весь список компонентов и пути до них можно вывести следующей командой:

dpkg -L wine-staging

Удаление Wine.

Примечание: Отключить репозиторий и удалить его ключ можно через программу с графическим интерфейсом , но в данном примере будет рассмотрен вариант через терминал.

Сначала отключить репозиторий Wine:
sudo add-apt-repository -r https://dl.winehq.org/wine-builds/ubuntu/

Вывести список всех ключей используемых репозиториев:
apt-key list

Найти ключ репозитория Wine и по последним четырём символам удалить его. Пример:
sudo apt-key del F987672F

Удалить непосредственно Wine:
sudo apt remove --auto-remove winehq-staging

При этом будет удалён стандартный префикс ~/.wine. Поэтому, если он будет нужен в дальнейшем, стоит его заархивировать или переименовать.

Прочие префиксы нужно удалять вручную.

Обновить список репозиториев:
sudo apt update

После удаления Wine останутся иконки и некоторые пакеты. Их можно удалить вручную.

Место хранения ярлыков программ, установленных в Wine:
~/.local/share/applications/wine/

Место хранения иконок, включая тех программ, что установлены в Wine:

~/.local/share/icons/hicolor/

Кэш для установки таких пакетов, как wine-mono и wine-gecko:
~/.cache/wine/

Архив пакетов, которые устанавливались посредством winetricks в тот или иной префикс:
~/.cache/winetricks/

Использование Wine. Немного теории о префиксах (prefix).

Грубо говоря, префикс это отдельный экземпляр ОС Windows. Содержит в себе базовую структуру каталогов ОС Windows, набор библиотек и программ. В народе префикс называют «бутылкой» (bottle). Экземпляры компонентов для префикса хранятся в подкаталогах /opt/wine-staging/, откуда они копируются в создаваемый префикс.

В дистрибутивах Linux стандартный префикс располагается здесь:

~/.wine/

По умолчанию он 32-разрядной архитектуры.

Можно создавать префиксы в любых желаемых каталогах, принадлежащих пользователю. Описание процесса создания располагается далее по статье.

Примечание: Категорически недопустимо создание префиксов с правами суперпользователя. Это крайне небезопасно и пользователь не будет иметь прав с ним работать.

Стандартное содержимое префикса:

Описание иллюстрации:

  • В каталоге dosdevices перечислены виртуальные «диски». В Windows разделы блочных устройств представлены в виде абстрактных «дисков» (томов), каждый из которых обозначается буквой.  К примеру, системный «диск» по умолчанию называется «C:».
  • drive_c — виртуальный диск C:, на котором располагаются компоненты Windows.
  • .update-timestamp — метка времени.
  • system.reg, user.reg и userdef.reg являются файлами реестра Windows. Если кратко, то это централизованное древовидное хранилище настроек Windows-программ.

В каталоге drive_c (диск C:) содержится классическая структура каталогов Windows.

Использование Wine. Создание префиксов (prefix).

Пример создания и конфигурирования 64-х разрядного префикса с именем .wine_new в домашнем каталоге (home) активного пользователя:
WINEARCH=win64 WINEPREFIX="/home/$USER/.wine_new" winecfg

Примечание: Для присваивания значений переменным среды правильнее использовать команду env, но в виду того, что интерпретатор умеет определять переменные среды (их имена обязательно должны быть в верхнем регистре), env можно опустить для упрощения набора команды.

Разбор команды:

WINEARCH=win64 — через переменную среды (environment variable) WINEARCH указываем, что префикс должен быть создан под архитектуру amd64. Это позволит запускать в нём 64-разрядные программы, а так же 32-разрядные. Для лучшего понимания стоит ознакомиться с Multiarch. Стоит отметить, что нельзя изменить архитектуру у созданного префикса.

WINEPREFIX=»/home/$USER/.wine_new» — через переменную среды WINEPREFIX указываем, по какому пути должен будет располагаться новый префикс. В данном примере это «/home/$USER/.wine_new». Wine требует указания абсолютного пути. Путь в виде «~/.wine_new» не подойдёт, и будет выведена ошибка: wine: invalid directory ~/.wine_new in WINEPREFIX: not an absolute path.

Немного о кавычках. Они используются для экранирования пути на тот случай, если в нём будут пробелы, чтобы интерпретатор разобрался с тем, что есть путь, а что прочие команды и аргументы.

winecfg — программа для конфигурирования префикса. После её запуска произойдёт процесс непосредственного создания префикса по указанному пути.

Сразу после выполнения увидим следующий вывод:

При первом создании префикса может быть предложено скачать пакеты Mono и Geko, но, начиная с Wine 5.0, они должны скачиваться вместе с установкой Wine без дополнительных запросов. В этом случае будет предложено просто установить их в префикс.

  • Библиотеки Mono нужны для корректной работы программ, которым необходим Microsoft .NET Framework.
  • Библиотеки Geko необходимы для корректной работы свободной реализации Internet Explorer (до Windows 10 стандартный интернет браузер в ОС Windows).

Пакеты будут размещены здесь:

~/.cache/wine/

После завершение создания префикса появится окно графического интерфейса (GUI) конфигуратора префикса (winecfg):

О настройках конфигуратора несколько далее по статье. На этом этапе его окно можно закрыть.

Объём свежесозданного префикса составит около 1,3 Гб.

По аналогии можно создать 32-разрядный префикс:
WINEARCH=win32 WINEPREFIX="/home/$USER/.wine_new32" winecfg

Общая информация и ограничения префиксов.

  • Зачем вообще создавать префиксы? Почему бы не ставить программы куда-попало в пространство Linux-пользователя и запускать их из любого удобного места? | Если установить программу вне префикса, то она может оказаться неработоспособной в виду различия иерархии путей в Linux и Windows. В остальном, на деле программа будет как бы установлена в стандартный префикс /home/$USER/.wine. Именно оттуда она будет взаимодействовать с системными компонентами Windows, включая реестр. Туда же она будет сохранять свои рабочие файлы (конфиги, логи и подобное). Поэтому во избежание ошибок, несовместимости и замусоривания оптимальнее осознанно использовать префиксы.
  • Можно создавать неограниченное количество префиксов.
  • Нежелательно устанавливать все программы в один префикс, лучше создавать новый под каждую программу. Это в значительной степени упростит отладку и поможет избежать конфликтов.
  • Можно настроить один префикс, копировать его и использовать копии в качестве отдельных префиксов. При этом можно свободно менять их имена.
  • После создания префикса, для запуска программ из него, не нужно каждый раз указывать его архитектуру. Пример запуска программы control.exe: WINEPREFIX="/home/$USER/.wine_new32" wine "/home/$USER/.wine_new32/drive_c/windows/system32/control.exe"
  • Да, для того, чтобы запустить программу из того или иного префикса, необходимо каждый раз передавать переменной окружения WINEPREFIX значение пути до желаемого префикса. Варианты упрощения этого описаны в конце статьи.
  • Не рекомендуется размещать префикс на разделе с файловой системой NTFS (основная файловая система OC Windows), так как могут быть проблемы с правами на запуск программ в префиксе и в целом это менее безопасно.
  • НЕЛЬЗЯ устанавливать в префикс Windows-драйвера для оборудования (видеокарт, звуковых карт и подобного). Потенциально это может привести к сбою устройства.
  • Можно одновременно запускать программы из разных префиксов. Это возможно благодаря отдельным процессам wineserver, о котором рассказывается во второй половине статьи.
  • В виду неполной изоляции префиксов, не стоит пытаться запускать вредоносные программы для Windows, так как потенциально они способны нанести вред Linux-системе. К примеру, запущенный в префиксе вирус-шифровальщик может зашифровать не только префикс, но и выйти за его пределы, зашифровав все каталоги и файлы, принадлежащие Linux-пользователю.
  • На момент 2020 года значительная часть античитов (BattlEye, Easy Anti-Cheat и прочие) отказывается работать в префиксе Wine. Из-за этого будет недоступен мультиплеер или игра может вовсе не запуститься. К примеру, серия игр Arma. Игры запускаются, но в сетевой игре доступны сервера только без защиты BattlEye.
  • Программы в префиксе запускаются с правами пользователя, который их запустил. То есть префикс не предоставляет изоляции от основной системы, поэтому безопасность (доверенность) запускаемых программ крайне важна. Очень желательно ограничить права доступа к префиксам. Рекомендую следующий уровень прав: для владельца разрешение на чтение, запись и выполнение; для его группы запрет всего; всем остальным запрет всего.

Пример применения прав к префиксу:

sudo chmod 700 -R ~/.wine/

-R — применить права рекурсивно для всех каталогов и файлов, включая вложенные.

Такой уровень прав может повлиять на работоспособность некоторых программ внутри префикса, поэтому в случае возникновения проблем с работоспособностью не забыть, что применены ограниченные права.

Конфигурирование Wine через GUI.

Основная масса полезной информации по winecfg описана здесь: https://wiki.winehq.org/Winecfg

Поэтому ниже рассмотрены только некоторые вещи.

Основная масса полезной информации по winecfg описана здесь: https://wiki.winehq.org/Winecfg

Поэтому ниже рассмотрены только некоторые вещи.

Конфигурирование осуществляется для каждого префикса в отдельности. Пример:

WINEPREFIX="/home/$USER/.wine" winecfg

Язык интерфейса конфигуратора можно изменить следующей командой:

WINEPREFIX="/home/$USER/.wine" LANG="en_US.utf8" winecfg

В данном случае русский сменится на английский.

Так же это позволяет cоздать англофицированный префикс, если при создании передать значение en_US.utf8 переменной среды LANG:
WINEARCH=win64 LANG="en_US.utf8" WINEPREFIX="/home/$USER/.wine_new_prefix" winecfg

Таким образом получится англофицированный префикс, в котором каталоги Windows-пользователя будут на английском языке.

Вкладка «Приложения».

Одним из наиболее часто конфигурируемым параметром является выбор того, под какую версию Windows будет мимикрировать префикс. На момент 2020 года по умолчанию выбрана Windows 7. Полный список:

Эта опция особенно полезна для старых программ, которые требуют Windows XP.

Вкладка «Диски».

Здесь можно подключать виртуальные и физические разделы, виртуальные и физические DVD-приводы, сетевые диски и даже дисководы.

В данном случае подключено два виртуальных диска — C: и Z:. Диск C: является системным каталогом префикса, а диск Z: ведёт в корень файловой системы Linux. Второе в основном нежелательно, поэтому рекомендуется удалить этот виртуальный диск, тем самым изолировав префикс от основной системы. «Любопытным» программам будет сложнее выбраться за пределы префикса, что очень хорошо. При этом останется возможность указывать программам пути вне префикса вручную, то есть полная изоляция отсутствует.

Примечание: В виду неполной изоляции префиксов, вредоносные программы для Windows потенциально способны нанести вред Linux-системе.

Добавить виртуальный DVD-привод можно так:

То есть нажать кнопку «Добавить…», выбрать букву тома (в данном примере D:) и подтвердить. Далее в строке «Тип» выбрать CD-ROM. Останется указать путь до желаемого для монтирования образа DVD.

По аналогии можно добавить физический DVD-привод, выбрав его в строке «Устройство».

Вкладка «Вид и интеграция».

В этой вкладке основным является возможность выбора ассоциации стандартных каталогов Windows-пользователя, с домашними каталогами Linux-пользователя. Эта возможность располагается в блоке «Папки», он находится в нижней половине окна. Там показано то, какие каталоги Linux-пользователя соотносятся с каталогами Windows-пользователя в префиксе.

Стандартные каталоги Windows-пользователя располагаются в префиксе по следующему пути:

/home/$USER/.wine/drive_c/users/$USER/

Выглядит это так:

На снимке видно, что часть каталогов представлены символическими ссылками. Они указывают на домашние каталоги Linux-пользователя, который создал префикс. Это означает, что Windows-программы, запущенные в префиксе, будут использовать каталоги Linux-пользователя. К примеру, запущенная Windows-игра создаст каталог с сохранениями в ~/Documents. На мой взгляд, такое поведение нежелательно.

Можно легко изменить это ассоциирование, указав другие каталоги или вовсе убрав все ассоциации, что изолирует префикс от домашних каталогов пользователя (но не даёт полной изоляции). Для этого необходимо снять галку в блоке «Типы MIME» у пункта «Управлять ассоциациями файлов». Далее в блоке «Папки» появится возможность выбирать пункты и указывать им желаемые пути.Если убрать галку у пункта «Привязать к», то связь удалится и будет использоваться соответствующий каталог внутри префикса, то есть стандартный каталог Windows-пользователя: «./drive_c/users/$USER/Мои документы«, «./drive_c/users/$USER/Мои рисунки» и так далее. На иллюстрации ниже хорошо видно, что теперь для Windows-пользователя используются обычные каталоги, а не символические ссылки на каталоги Linux-пользователя.

Примечание: При удалении файлов из префикса они помещаются в «Корзину» Linux-пользователя.

winefile. Файловый менеджер Wine.

В некоторой степени является аналогом проводника Windows (explorer). Команда запуска:

WINEPREFIX="/home/$USER/.wine_new" wine winefile

Функционал схож с файловыми менеджерами в дистрибутивах Linux: Dolphin, Thunar и прочих. Можно создавать каталоги, запускать исполняемые файлы, подключать сетевые диски и так далее. На иллюстрации изображён случай без «изоляции» префикса, поэтому виден корневой каталог Linux (диск Z:). «Корзина» для префикса является «Корзиной» Linux-пользователя.

Далее по статье рассматривается установка программ из установочных Windows-файлов (exe, msi). Установку из этих файлов можно осуществить через файловый менеджер Wine, но в данном случае будет рассмотрен только вариант установки с использованием терминала.

Wine. Установка и запуск программ.

В обычном случае алгоритм установки программ следующий:

  1. Ищем запись о желаемой программе в базе Wine AppDB: https://appdb.winehq.org/
  2. Изучаем истории успешного запуска (или их отсутствие).
  3. Подготавливаем префикс по описанию. В зависимости от капризности программы, может потребоваться изменить версию Windows и установить те или иные пакеты расширений (С++ redistributable, .NET Framework, DirectX, Microsoft Media Foundation и прочие).
  4. Устанавливаем программу.

Примечание: Не рекомендуется запускать программы из разделов с файловой системой NTFS, так как могут быть проблемы с правами на запуск и в целом это менее безопасно.

Пример установки клиента Steam.

Находим информацию о нём в базе Wine AppDB: https://appdb.winehq.org/objectManager.php?sClass=version&iId=19444

Разворачиваем свиток «Test Results». В верхней половине будет отображён крайний отчёт пользователя, в котором он описывает свою историю запуска программы. Блок в нижней половине содержит в себе ссылки на отчёты других людей. Красной рамкой отмечена колонка, где можно переключать их.

Скачиваем клиент SteamSetup.exe.

Производим установку в конкретный ранее созданный префикс:
WINEPREFIX="/home/$USER/.wine" wine "/home/$USER/Downloads/SteamSetup.exe"

Разбор команды:

wine «/home/$USER/Downloads/SteamSetup.exe« — запускаем посредством /opt/wine-staging/bin/wine исполняемый файл SteamSetup.exe, который расположен в пользовательском каталоге Downloads. Запускать исполняемые файлы можно из любого каталога Linux-пользователя, но потребуется указывать абсолютный путь.

После запуска SteamSetup.exe появится окно типичного мастера установки Windows:

В правой части иллюстрации видно, что программа устанавливается в указанный префикс, считая его ОС Windows.

Wine умеет преобразовывать создание ярлыков рабочего стола для Windows в ярлыки для рабочего стола и меню Linux. Тем самым можно будет запускать с ярлыка установленную в префикс Windows-программу. Файл ярлыка будет храниться здесь:

~/.local/share/applications/wine/

Набор иконок здесь:

~/.local/share/icons/hicolor/

Пример запуска программы напрямую из конкретного префикса:

WINEPREFIX="/home/$USER/.wine" wine "/home/$USER/.wine/drive_c/Program Files (x86)/Steam/Steam.exe"

Примечание: Для той части пути, которая внути префикса, регистр не имеет значения.

Альтернативный вариант запуска:
WINEPREFIX="/home/$USER/.wine" wine "C:/Program Files (x86)/Steam/Steam.exe"

Wine позволяет сократить путь до относительно префикса, имитируя путь в ОС Windows. Причём, как видно в примере, Wine поддерживает косую черту «/», не смотря на то, что в путях в Windows допустима только обратная косая черта «\».

Wine. Установка программы из .msi установочника.

О пакетах msi можно почитать здесь: https://ru.wikipedia.org/wiki/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D1%89%D0%B8%D0%BA_Windows

Установка msi-пакетов в префикс несколько отличается от установочника в виде .exe. Пример установки EpicInstaller-10.15.2-unrealtournament.msi:

WINEPREFIX="/home/$USER/.wine" wine msiexec /i "/home/$USER/.wine/drive_c/EpicInstaller-10.15.2-unrealtournament.msi"

Альтернативный вариант:

WINEPREFIX="/home/$USER/.wine" wine start /unix "/home/$USER/.wine/drive_c/EpicInstaller-10.15.2-unrealtournament.msi"

Wine. Запуск bat-файлов («батников»).

Их запуск отличается от запуска exe-файлов. Пример запуска script.bat:
WINEPREFIX="/home/$USER/.wine" wine start /unix "/home/$USER/.wine/drive_c/script.bat"

Wine. Удаление установленной Windows-программы.

Это можно сделать несколькими способами.

Удаление через Wine-программу uninstaller («Установка/удаление программ»):

WINEPREFIX="/home/$USER/.wine" wine uninstaller

В списке выбрать программу, которую нужно удалить, и нажать кнопку «Изменить/Удалить». Запустится мастер установки-удаления программы.

Удаление конкретной программы без использования GUI:
WINEPREFIX="/home/$USER/.wine" wine uninstaller --remove название_программы

Пример удаления программы Steam:

WINEPREFIX="/home/$USER/.wine" wine uninstaller --remove steam

Регистр имени программы не имеет значения.

Можно удалить напрямую через специальную программу для удаления, которая входит в комплект установленной программы:

WINEPREFIX="/home/$USER/.wine" wine "/home/$USER/.wine/drive_c/Program Files (x86)/Steam/uninstall.exe"

Альтернативный вариант через GUI. Метод тот же: удаление через программу «Установка/удаление программ», но через запуск из «Панели управления Wine». Для начала потребуется запустить «Панель управления Wine»:

WINEPREFIX="/home/$USER/.wine" wine control

Альтернативный способ запуска напрямую:

WINEPREFIX="/home/$USER/.wine" wine "/home/$USER/.wine/drive_c/windows/system32/control.exe"

В появившемся окне через ярлык запустить программу «Установка/удаление программ»:

Радикальным вариантом является удаление префикса целиком. Недостатком этого метода является то, что от программы останутся ярлыки и иконки. Придётся найти и зачистить их вручную.

~/.local/share/applications/wine/

~/.local/share/icons/hicolor/

Winetricks. Основы.

Руководство по использованию: https://wiki.winehq.org/Winetricks

winetricks — конфигурационный shell-скрипт, позволяющий быстро и просто настроить различные параметры Wine через терминал и установить Windows-библиотеки и компоненты, указав соответствующие имена пакетов. Тем самым winetricks в основном дублирует функционал winecfg, но имеет дополнительные полезные возможности.

Официальный репозиторий: https://github.com/Winetricks/winetricks

Тело скрипта (крайняя версия): https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks

Скачивание из официального репозитория в ~/.local/bin/:
wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks -P ~/.local/bin/

Почему именно в ~/.local/bin/? Это каталог для скриптов и исполняемых файлов пользователя. Размещение скрипта в этом каталоге позволит запускать winetricks через терминал для любого префикса без указания абсолютного пути до winetricks.

Если до этого в каталоге не было никаких исполняемых файлов, то потребуется перезапустить сеанс или скрипт профиля пользователя:

source ~/.profile

После чего winetricks можно будет запускать через терминал, но перед этим потребуется разрешить его выполнение.

Рекомендую назначить такой уровень прав:
sudo chmod 700 ~/.local/bin/winetricks

Активный пользователь получит право на чтение, запись и запуск, его группа — всё запрещено, остальным — всё запрещено.

Вывести номер версии winetricks:
winetricks --version

Справка о winetricks:
winetricks --help

winetricks может самообновляться по команде:
winetricks --self-update

При этом будет сохранена резервная копия предыдущей версии.

Откатиться на предыдущую версию:

winetricks --update-rollback

Многие манипуляция с winetricks можно произвести в графическом режиме. Запуск winetricks в графическом режиме для конкретного префикса:
WINEPREFIX="/home/$USER/.wine" winetricks

Не смотря на видимую удобность, графическим режим имеет ряд нюансов. Немало опций являются устаревшими и рудиментарными, а наиболее часто используемые опции скрываются в меню, которое, как ни странно, появляется после выбора пункта «Выберите путь для wine по умолчанию»:

В этом меню ключевыми являются две опции: «Установить библиотеку DLL или компонент Windows» и «Установить шрифт».

Опция «Установить библиотеку DLL или компонент Windows».

Здесь перечислены все библиотеки и компоненты, которые winetricks может скачать и инициализировать установку. Например, можно установить в префикс DirectX или отдельные его библиотеки. Не всё из представленного актуально и работоспособно, поэтому нужно действовать внимательно. Стоит отметить, что в рекомендациях на https://appdb.winehq.org/ попадаются советы с перечислением целой вереницы пакетов к установке, тут нужно учитывать, что люди нередко предлагают устанавливать всякую всячину для «подстаховки», поэтому так лучше не делать и постараться установить только действительно необходимые пакеты.

Скачивание производится с сайтов поставщиков (преимущественно Microsoft), так как лицензия многих библиотек и компонентов для ОС Windows не позволяет помещать их в общественные репозитории. Без winetricks пришлось бы самостоятельно перейти на сайт поставщика, найти в его дебрях нужный пакет, найти кнопку скачать (нередко, эта задача то ещё приключение) и наконец заполучить заветный установщик. Таковы реалии Windows на момент 2020 года.

Так же winetircks предоставляет возможность установить библиотеки или компонент напрямую через терминал:

WINEPREFIX="/home/$USER/.wine" winetricks "название_пакета"

Пример установки Microsoft Media Foundation, который часто необходим для работоспособности видеороликов в играх на Unreal Engine 4:

WINEPREFIX="/home/$USER/.wine" winetricks mf

В этой простой операции есть нюанс. Для установки ряда пакетов потребуется распаковщик cab-архивов, которые довольно широко применяются в Windows:
sudo apt install cabextract

После этого установка Microsoft Media Foundation пройдёт успешно:

Можно установить несколько пакетов в одну команду:
WINEPREFIX="/home/$USER/.wine" winetricks d3dx9 vcrun2008 vcrun2010 vcrun2012 vcrun2013 vcrun2015

winetricks позволяет вывести список всех доступных для загрузки библиотек через терминал, что избавляет от необходимости искать в графическом интерфейсе:

winetricks dlls list

На иллюстрации видно, что в выводе присутствует описание пакетов. Это позволяет воспользоваться grep, чтобы показать только искомое, если известна часть его описания:

winetricks dlls list | grep -i "c++"

Опция «Установить шрифт».

Эта возможность требуется довольно часто. В префиксе не может быть шрифтов, которые защищены лицензией, но немало программ, которые требуют такие шрифты. К примеру, Arial и Times New Roman. Когда программа не находит в префиксе нужный шрифт и при этом не умеет использовать имеющиеся, то в ней попросту не будет отображаться текст. К примеру, это актуально для Epic Games Launcher.

Чаще всего требуется пакет шрифтов corefonts, в том числе для упомянутого Epic Games Launcher. В этот пакет как раз входят шрифты Arial, Courier и Times. Через терминал установка выглядит так:

WINEPREFIX="/home/$USER/.wine/" winetricks corefonts

В префиксе шрифты хранятся по следующему пути:

/home/$USER/.wine/drive_c/windows/Fonts/

В этот каталог можно вручную помещать шрифты в формате .ttf.

Куда winetricks скачивает пакеты перед их установкой?

Все скачанные с помощью winetricks пакеты складируются здесь:

~/.cache/winetricks/

Можно вывести весь список пакетов, которые находятся в кэше:

winetricks list-cached

Winetricks. Настройка префикса.

Вывести список настроек префикса:
winetricks settings listТоже самое в графическом режиме:

Из приведённого списка очевидно, что winecfg, который был рассмотрен ранее, предоставляет существенно более скромные возможности конфигурирования. Впрочем, многое из доступных опций не стоит трогать. Ниже рассмотрены часто применяемые и просто полезные.

Так как с графическим режимом всё понятно, далее речь пойдёт о настройке опций через терминал.

Переключить версию Windows:
WINEPREFIX="/home/$USER/.wine" winetricks win7
По аналогии: winxp, win8, win10

Через winetricks намного удобнее и проще осуществить «изоляцию» префикса, которая рассмотрена в первой половине статьи. Основной её целью является убрать прямой доступ из префикса к домашнему каталогу Linux-пользователя и к корню системы (диск Z:). Это осуществляется следующей командой:
WINEPREFIX="/home/$USER/.wine" winetricks sandbox

Это уберёт ассоциацию каталогов Windows-пользователя с домашними каталогами Linux-пользователя, а также удалит диск Z: (путь до корня Linux из префикса). Тем самым использование программ из такого «изолированного» префикса будет несколько более безопасным. При этом рабочие файлы Windows-программ будут сохраняться внутри префикса в соответствующих каталогах Windows-пользователя.

Углубление в функционал Wine.

wineserver.

Это специальный демон (служба, сервис), который выполняет роль ядра ОС Windows. Для каждого префикса запускается свой демон, что позволяет одновременно выполнять несколько программ из разных префиксов.

Справка:

man wineserver

Порой программа может зависнуть намертво, здесь поможет жёсткий перезапуск wineserver. Эффект схож с нажатием кнопки Reset. В этом случае произойдёт жёсткая перезагрузка префикса (Windows), но не основной системы (Linux). Команда выглядит так:

WINEPREFIX="/home/$USER/.wine" wineserver -k

wineboot.

Это программа, которая выполняет инициализацию, запуск и перезагрузку префикса. Так же она выполняет симуляцию завершения работы и перезапуска для программ, запущенных в префиксе.

Справка:

man wineboot

Мягкая перезагрузка префикса. Это полезно для программ, которые требуют перезагрузки ОС Windows после своей установки:
WINEPREFIX="/home/$USER/.wine" wineboot -r

Создание префикса через wineboot:

WINEPREFIX="/home/$USER/.wine-new-prefix" wineboot -i

-i — инициализировать префикс.

Альтернативный вариант:

WINEPREFIX="/home/$USER/.wine-new-prefix" wineboot -u

-u — обновить конфигурацию префикс.

taskmgr — «Диспетчер задач».

Программа «Диспетчер задач» является аналогом системного монитора (gnome system monitor и подобных):
WINEPREFIX="/home/$USER/.wine" wine taskmgr

Реестр Windows и его редактирование в Wine.

Файлы реестра system.reg, user.reg и userdef.reg создаются после конфигурирования префикса. Пример пути расположения:

/home/$USER/.wine/

Их можно редактировать любым текстовым редактором.

  • system.reg содержит ветвь HKEY_LOCAL_MACHINE.
  • user.reg — HKEY_CURRENT_USER.
  • userdef.reg — HKEY_HKEY_USERS\.Default (содержит настройки Windows-пользователя по умолчанию).

Для более удобной работы с реестром в Wine реализован аналог редактора реестра Windows — regedit. Для его запуска нужно выполнить:
WINEPREFIX="/home/$USER/.wine" regedit
Альтернативный вариант:
WINEPREFIX="/home/$USER/.wine" wine /home/$USER/.wine/drive_c/windows/regedit.exe

Примечание: Импорт рееста (куста) непосредственно из ОС Windows сломает префикс Wine.

Настройки, которыми можно управлять через winecfg и winetricks, сохраняются в реестр, а именно в HKEY_CURRENT_USER\Software\Wine:

Подробно об этом рассказывается здесь: https://wiki.winehq.org/Useful_Registry_Keys

Виртуальный рабочий стол в Wine.

Имитирует рабочий стол Windows. Обычно используется для программ, которые плохо сворачиваются (Alt + Tab) или сбивают разрешение экрана для Linux. Причём сбивают так, что приходится выполнять команду xrandr -s 0 для восстановления исходного разрешения экрана. При использовании виртуального рабочего стола Wine после завершения программы разрешение экрана восстанавливается автоматически.

Рабочий стол можно включить через winecfg:

На иллюстрации выше в отмеченном поле можно настроить разрешение вирутального рабочего стола. Можно установить такое же разрешение, как в Linux или такое, какое максимально поддерживает запускаемая программа. К примеру, игра Diablo 2 поддерживает разрешение максимум 800×600, поэтому для виртуального рабочего стола такое разрешение будет оптимальным.

Виртуальный рабочий стол запустится после повторного запуска winecfg или любой другой программы в префиксе. При этом запущенная программа будет размещена в рамках виртуального рабочего стола:

Как можно было заметить на иллюстрации, виртуальный рабочий стол поддерживает ярлыки для программ, установленных в префикс.

Виртуальный рабочий стол можно запустить принудительно для программы в конкретном префиксе без настраивания через winecfg:

WINEPREFIX="/home/$USER/.wine" explorer /desktop="name_desktop",1920x1080 regedit

Разбор команды:

explorer — Wine-реализация проводника (файлового менеджера) Windows.

/desktop=»name_desktop»,1920×1080 regedit — создать рабочий стол с именем name_desktop и разрешением 1920×1080; запустить программу regedit — Wine-реализация программы редактирования реестра Windows.

Примечание: Можно запускать несколько виртуальных рабочих столов одновременно, но нужно дать им разные имена.

Так же вирутальным рабочим столом можно управлять через winetricks без использования winecfg.

Включение использования виртуального рабочего стола:
winetricks vd=1920x1080
Отключение:
winetricks vd=off

Если разрешение экрана всё-таки не восстановилось после завершения работы Windows-программы, то это исправит следующая команда:
xrandr -s 0

wineconsole.

Программа для работы с командной строкой в рамках префикса. Полезна для запуска программ и bat-скриптов так, как это было бы через интерпретатор командной строки Windows (cmd.exe), а так же для отладки.

Справка:

man wineconsole

Запуск командной строки Windows (cmd.exe) через wineconsole:

WINEPREFIX="/home/$USER/.wine" wineconsole cmd

Отладка.

Официальная документация:

https://wiki.winehq.org/Wine-Staging_Debug

https://wiki.winehq.org/Debug_Channels

Отключить показ диалога падения программы в Wine:
WINEPREFIX="/home/$USER/.wine" winetricks nocrashdialog

Ниже приведённые команды полезны для локализации проблем в работе программы. К примеру, по характерному выводу можно определить какой Windows-библиотеки не хватает для успешного запуска программы. Так же команды отладки необходимы для составления отчётов об ошибках, чтобы разработчики Wine знали о проблемах с той или иной программой.

Вывести ход выполнения программы game.exe в файл wine-log.txt, который будет сохранён в ~/:
WINEPREFIX="/home/$USER/.wine" wine "C:/games/my_game/game.exe" &> wine-log.txt

Вывести в файл wine-log.txt только ошибки и предупреждения в ходе выполнения программы:

WINEDEBUG=-all,+err,+warn WINEPREFIX="/home/$USER/.wine" wine "C:/games/my_game/game.exe" &> wine-log.txt

Вывести в файл wine-setup-log.txt ход установки программы из установочного файла setup.exe:
WINEDEBUG=+text,+file,+reg,+relay WINEPREFIX="/home/$USER/.wine" wine "C:/setup.exe" &> wine-setup-log.txt

Вывести в файл wine-dll-log.txt список Windows-библиотек (dll), используемых в процессе запуска программы:

WINEDEBUG=+loaddll WINEPREFIX="/home/$USER/.wine" wine notepad &> wine-dll-log.txt

builtin — встроенная библиотека Wine, то есть созданная разработчиками Wine.

native — «родная» библиотека Windows.

Практика.

Нюансы запуска S.T.A.L.K.E.R. на Linux — пример варианта указания рабочего каталога вручную.

Запуск CRYENGINE 5 на Linux.

Решение проблемы «Bad serial given in setup» в Arma через редактирование реестра в префиксе.

Монтирование виртуального CD-ROM для Wine.

Использование Wine и Proton для запуска игры и сервера Conan Exiles.

Запуск Epic Games Launcher посредством Wine.

Установка русификатора для игры из Steam.

В виду того, что Proton (Steam Play) представляет собой модифицированный Wine, они хорошо совместимы между собой. Поэтому для Proton-префикса можно использовать стандартные инструменты Wine. В примере будет рассмотрена установка русификатора для Borderlands GOTY Enhanced. С нюансами подготовки игры к запуску можно ознакомиться здесь: https://www.protondb.com/app/729040

Игра по умолчанию будет установлена сюда:

/home/$USER/.local/share/Steam/steamapps/common/BorderlandsGOTYEnhanced/

Чтобы префикс игры создался, её необходимо запустить и выключить. По умолчанию префикс будет располагаться здесь:

/home/$USER/.local/share/Steam/steamapps/compatdata/729040/pfx/

То есть игра находится вне префикса. В этом особенность Proton.

Для начала установки, необходимо запустить установочный файл русификатора — Borderlands_TTL.exe.

WINEPREFIX="/home/$USER/.local/share/Steam/steamapps/compatdata/729040/pfx" wine "/home/$USER/Downloads/Borderlands_TTL.exe"

Wine может предложить установить Mono и Gecko — отказываемся, для префикса игры это ни к чему.

Должно появиться окно мастера установки:

Мастер сообщит, что не может найти игру:

Это не удивительно, так как игра находится вне префикса. Здесь есть два варианта решения:

  1. Создать в префиксе символическую ссылку на каталог игры, тогда мастер сможет обнаружить игру и продожить установку. То есть создать символическую ссылку с именем BorderlandsGOTYEnhanced по пути /home/$USER/.local/share/Steam/steamapps/compatdata/729040/pfx/drive_c/Program Files/, которая будет ссылаться на каталог с установленной игрой /home/$USER/.local/share/Steam/steamapps/common/BorderlandsGOTYEnhanced/.
  2. Указать русификатору абсолютный путь до каталога игры. На иллюстрации виден тот самый «диск Z:», который является символической ссылкой на корневой каталог Linux. Через него можно указать желаемый катлог Linux-пользователя.

После завершения установки игра будет русифицирована.

Чуть-чуть хитростей.

Каждый раз прописывать путь до префикса и программы может быть довольно утомительно. Есть несколько способов это упростить.

  • Для упрощения запуска программы из префикса рекомендую использовать shell-скрипт (sh) с командой на запуск. Cкрипт оптимально разместить в ~/.local/bin/, что позволит осуществлять запуск через терминал по имени скрипта без указания абсолютного пути до него.
    • На скрипт можно создать кнопку для меню запуска и разместить её на рабочей панели.
  • Ещё одним вариантом является использование символических ссылок. Если префикс находится на другом разделе, то для него можно создать символическую ссылку и разместить её в домашнем каталоге пользователя, что позволит сократить путь в команде. К примеру, префикс находится в /mnt/my_second_hdd/games/wine-prefix, можно создать символическую ссылку и разместить её в /home/$USER/. Пример команды работы с префиксом через символическую ссылку: WINEPREFIX="/home/$USER/wine-prefix" winecfg

Почта для предложений и замечаний: feedback@noostyche.ru

Понравилась статья? Поделить с друзьями:
  • Abb acs850 руководство
  • Швейная машинка зингер 5805 с инструкция на русском
  • Как себя сдержать при руководстве
  • Монтелукаст инструкция по применению цена 5мг аналоги
  • Амоксициллин 500 мг инструкция по применению цена антибиотик или нет