Contents
- Introduction
-
Installing Wine
- Ubuntu versions of Wine (Recommended)
- Newer versions of Wine (Not Recommended)
- Initial Setup
- Installing Windows Applications With Wine
- To start/run Windows programs using Wine
- Uninstalling Wine Applications
-
Configuring Wine
- Adding CD and DVD drives to Wine
- Adding applications to the menu
-
Changing application specific settings
- Using Windows Themes/Skins In Wine
- Color Scheme
- Using Theme/Skins
- Fullscreen issues with overlapping Panel
- Instructions for using wine over remote X11 sessions
- Instructions for specific Windows programs
- Creating file associations
-
Troubleshooting
- Error: Cannot change screen BPP from 32 to XX
- ‘dhtmled.ocx’ is missing or invalid
- Screen flickers to black when starting an application
- 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:
- Open a terminal and run these commands:
-
wget https://dl.winehq.org/wine-builds/winehq.key
-
sudo apt-key add winehq.key
-
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:
- Download the Windows application from any source (e.g. download.com). Download the .EXE (executable).
- Place it in a convenient directory (e.g. the desktop, or home folder).
-
Open the terminal, and cd into the directory where the .EXE is located.
-
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:
-
Run
winecfg
-
Navigate to the drives tab
-
Click on Add…
-
In the path bar, type
/media/cdrom
-
Click Show Advanced button below the Browse… button and set the Type to
CD-ROM
-
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:PATHTOPROGRAMProgram.exe"
For example the command would be wine «C:Program FilesWorld of WarcraftWoW.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
-
Type this command into your terminal.
winecfg
-
Click on Add Application…
- Navigate to where the .exe is and choose that program
- 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:
- Start Wine’s Registry Editor.
- Navigate to «HKEY_CURRENT_USERSoftwareWineX11 Driver». You may need to create X11 Driver.
- 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.
Примечание: Статья предназначена для новичков, но, как минимум, потребуются базовые знания о Linux (структура файловой системы, права пользователей, навыки работы с терминалом).
Содержание.
- О Wine.
- Установка Wine в дистрибутивы на базе Ubuntu, включая Linux Mint 19.
- Удаление Wine.
- Использование Wine. Немного теории о префиксах (prefix).
- Использование Wine. Создание префиксов (prefix).
- Общая информация и ограничения префиксов.
- Конфигурирование Wine через GUI.
- winefile. Файловый менеджер Wine.
- Wine. Установка и запуск программ.
- Wine. Удаление установленной Windows-программы.
- Winetricks. Основы.
- Winetricks. Настройка префикса.
- Углубление в функционал Wine.
- Отладка.
- Практика.
- Чуть-чуть хитростей.
Почта для предложений и замечаний: 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. Установка и запуск программ.
В обычном случае алгоритм установки программ следующий:
- Ищем запись о желаемой программе в базе Wine AppDB: https://appdb.winehq.org/
- Изучаем истории успешного запуска (или их отсутствие).
- Подготавливаем префикс по описанию. В зависимости от капризности программы, может потребоваться изменить версию Windows и установить те или иные пакеты расширений (С++ redistributable, .NET Framework, DirectX, Microsoft Media Foundation и прочие).
- Устанавливаем программу.
Примечание: Не рекомендуется запускать программы из разделов с файловой системой 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_USERSoftwareWine:
Подробно об этом рассказывается здесь: 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 — отказываемся, для префикса игры это ни к чему.
Должно появиться окно мастера установки:
Мастер сообщит, что не может найти игру:
Это не удивительно, так как игра находится вне префикса. Здесь есть два варианта решения:
- Создать в префиксе символическую ссылку на каталог игры, тогда мастер сможет обнаружить игру и продожить установку. То есть создать символическую ссылку с именем BorderlandsGOTYEnhanced по пути /home/$USER/.local/share/Steam/steamapps/compatdata/729040/pfx/drive_c/Program Files/, которая будет ссылаться на каталог с установленной игрой /home/$USER/.local/share/Steam/steamapps/common/BorderlandsGOTYEnhanced/.
- Указать русификатору абсолютный путь до каталога игры. На иллюстрации виден тот самый «диск 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
Состояние перевода: На этой странице представлен перевод статьи 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
- exe-thumbnailer — Генерирует эскизы для исполняемых файлов Windows (.exe, .lnk, .msi и .dll).
- https://github.com/exe-thumbnailer/exe-thumbnailer || exe-thumbnailerAUR[ссылка недействительна: package not found]
- 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_USERSoftwareWineX11 Driver] "ClientSideWithRender"="N"
Для мониторов с высоким разрешением значения dpi можно задать в winecfg.
См. также Настройка шрифтов#Приложения без поддержки fontconfig.
Сглаживаение шрифтов
Хороший способ улучшить рендеринг шрифтов в Wine — включить сглаживание ClearType. Следующий скрипт включит режим «Subpixel smoothing (ClearType) RGB»:
cat << EOF > /tmp/fontsmoothing REGEDIT4 [HKEY_CURRENT_USERControl PanelDesktop] "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_USERSoftwareWineFileOpenAssociations
Сначала необходимо создать ключ FileOpenAssociations
!
Если вы хотите, чтобы эти настройки автоматически применялись к новым префиксам, отредактируйте файл /usr/share/wine/wine.inf
, добавив следующую строку в раздел [Services]
:
HKCU,"SoftwareWineFileOpenAssociations","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
Wine — набор библиотек и утилит для запуска Windows программ и игр внутри Linux.
История Wine
Первая версия Wine появилась в 1993 году и изначально была разработана для запуска 16-битных приложений Windows 3.1 внутри Linux.
Основателем проекта является Боб Амштадт (Bob Amstadt). С 1994 г проект перешел под управление программиста Александра Джуллиарда (Alexandre Julliard).
Название
Название Wine (W.I.N.E) является рекурсивным акронимом фразы «Wine Is Not an Emulator» — «Вайн это не эмулятор.»
Слово wine в переводе с английского означает вино. По этой причине в терминологии программы используется понятие бутылок (см. ниже). Бутылка (или префикс) — это директория (среда) внутри которой выполняется Windows программа.
Wine это не эмулятор
Wine работает не как эмулятор и не как виртуальная машина, он не эмулирует систему Windows, не создает имитацию Windows и не пытается реализовать ее логику. Вместо этого он на лету выполняет преобразование API-вызовов Windows в POSIX-совместимые вызовы.
То есть это что-то вроде прослойки между приложениями для Windows и системой Linux, которая позволяет Windows программам выполняться так, как если бы они были изначально написаны для Linux.
Wine не создает эмуляцию Windows, вместо этого приложения Windows запускаются прямо внутри текущей операционной системы.
Wine работает не только под Linux, но и под другие POSIX-совместимые операционные системы — macOS и *BSD.
Wine также работает под Windows. В Windows его обычно используют для того, чтобы запускать старые программы в современных версиях Windows.
Среда Wine
Для текущего пользователя Wine создает в его домашней директории каталог .wine, в котором создается структура директорий аналогичная Windows.
Внутри каталога drive_c содержатся директории Program Files, ProgramData, windows, users. Там же хранится реестр.
Внутри директории windows размещаются DLL файлы (библиотеки). Это не библиотеки из Windows. Они были написаны с нуля на основе документации к Windows API и фактически реализуют функции оригинальных библиотек, но для Linux.
При работе Windows приложениям могут потребоваться дополнительные DLL библиотеки, которые не предоставлены Wine. В таком случае могут использоваться оригинальные Windows-версии таких библиотек.
Директория .wine называется «префиксом» или «бутылкой». Для некоторых программ может потребоваться создание отдельного префикса, то есть для ее работы нужны будут какие-то специфические настройки и она будет работать в среде другой директории отличной от ~/.wine. Можно создавать сколько угодно префиксов (бутылок).
Как запускать программы Windows через Wine
Чтобы запустить программу, написанную для Windows, в простейшем случае достаточно выполнить команду:
wine program.exe
Через Wine также можно запускать установщики Windows приложений и устанавливать их прямо в Linux.
wine setup.exe
Список программ и игр, работающих через Wine
На официальном сайте Wine ведется база данных программ и игр, которые можно запустить через Wine: Wine Application Database (AppDB) — https://appdb.winehq.org.
Для каждого приложения можно получить информацию об особенностях установки, запуска и настройки данного приложения через Wine, о проблемах и багах, с которыми можно столкнуться.
База данных постоянно пополняется. В ней насчитывается более 26000 приложений. Введутся списки самых популярных приложений, они делятся на Платиновые, Золотые и Серебряные. Вот некоторые из самых популярных программ и игр, работающих через Wine (конкретную версию уточняйте в базе данных AppDB):
- Adobe Animate
- Adobe Photoshop
- Microsoft Office
- Total Commander
- Lingvo
- 1C:Предприятие
- Гарант
- КонсультантПлюс
- Final Fantasy XI Online
- StarCraft
- Warcraft III
- World of Warcraft
- Counter-Strike: Source
- EVE Online
- Half-Life 2
- Magic: The Gathering Online
- The Sims 3
- И многие многие другие…
Использование отдельных префиксов (бутылок)
Как было сказано выше, некоторые программы должны запускаться внутри своей среды, то есть должны быть изолированы от других приложений. Для этого им нужен отдельный префикс (отдельная директория среды, в которой они будут работать).
Префикс задается переменной WINEPREFIX.
Сначала создадим новый префикс. Выполняем команду:
WINEPREFIX="/home/pingvinus/.wine2/" winecfg
Теперь выполняем саму программу и указываем для нее новый префикс:
WINEPREFIX="/home/pingvinus/.wine2/" wine /путь/до/файла/setup.exe
Установка недостающих библиотек (утилита Winetricks)
Очень часто для работы программ требуются дополнительные компоненты (библиотеки, шрифты), которых нет в Wine. Их можно установить самостоятельно, но это может стать очень трудоемким процессом, так как придётся искать и устанавливать каждый компонент вручную.
Для автоматического поиска и установки библиотек была создана специальная вспомогательная утилита Winetricks.
Winetricks — это графическая утилита, которая умеет автоматически скачивать и устанавливать необходимые компоненты. Также, Winetricks поддерживает автоматическую загрузку и установку некоторых игр и программ (для некоторых требуется наличие оригинального диска).
Winetricks поддерживает установку более сотни различных компонентов. Среди них — .Net Framework, Mono, DirectX, DivX и XviD кодеки, шрифты Windows и многие другие.
Нужно понимать, что Winetricks не является таблеткой от всех проблем и всегда могут потребоваться компоненты, которые Winetricks не поддерживает.
При первом запуске Winetricks предложит установить некоторые из часто используемых компонентов.
Заключение
На нашем сайте вы также можете ознакомиться со следующими материалами:
- Аналоги программ Windows в Linux
- Игровые клиенты и сервисы (эмуляторы) для Linux
- Виртуальные машины и эмуляторы для Linux
Установка
Установка Wine в Ubuntu Linux и Linux Mint через PPA репозиторий
Wine есть в штатных репозиториях Ubuntu, но там может содержаться не самая свежая версия, поэтому рекомендуется устанавливать программу из PPA-репозитория, предлагаемого разработчиками.
Во время установки Wine дополнительно устанавливается довольно много других зависимостей (это может быть более 100 дополнительных компонентов).
Установка Wine из штатных репозиториев Ubuntu (не самая свежая версия)
Для установки Wine из штатных репозиториев Ubuntu, выполните команду:
sudo apt install wine-stable
Для установки Winetricks выполните команду:
sudo apt install winetricks
Установка Wine из PPA репозитория (рекомендуется)
Процесс установки Wine в Ubuntu Linux описан в официальном руководстве. Рассмотрим, как установить Wine в Ubuntu Linux, используя PPA репозиторий.
Если у вас 64-х битная версия системы, то нужно разрешить использование 32-х битной архитектуры. Выполняем команду:
sudo dpkg --add-architecture i386
Устанавливаем ключ для репозитория — выполняем команды:
wget -nc https://dl.winehq.org/wine-builds/winehq.key
sudo apt-key add winehq.key
Добавляем сам репозиторий. Выберите команду для вашего дистрибутива:
# Ubuntu 21.04
sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ hirsute main'
# Ubuntu 20.10
sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ groovy main'
# Ubuntu 20.04 Linux Mint 20.x
sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ focal main'
# Ubuntu 18.10:
sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ cosmic main'
# Ubuntu 18.04 и Linux Mint 19.x:
sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ bionic main'
Далее обновляем информацию о пакетах:
sudo apt update
Устанавливаем Wine. Для установки стабильной версии выполняем команду:
sudo apt install --install-recommends winehq-stable
Для установки самой свежей, но возможно не очень стабильной версии используется команда:
sudo apt install --install-recommends winehq-devel
Также можно установить Winetricks:
sudo apt install winetricks
Установка в Ubuntu (LinuxMint)
sudo apt install wine-stable
Установка в ArchLinux (Manjaro)
sudo pacman -S wine
Установка в Fedora
sudo dnf install wine
Установка в openSuse
sudo zypper install wine
Установка в Gentoo
sudo emerge -a virtual/wine
Разработка
Исходный код: |
|
Языки программирования: |
|
Программа кроссплатформенная
Работает в:
- BSD
- Linux
- MacOS
- Windows
Download Article
Download Article
This wikiHow teaches you how to install and run Wine on a Linux computer. Wine is a program that allows you to run Windows applications on a non-Windows computer.
Things You Should Know
- Wine lets you use Windows applications on a non-Windows computer.
- When installing Wine, you’ll need to use the Terminal application.
- Wine set-up involves creating a Windows home directory.
-
1
Open the Terminal. Select the Terminal application from your computer’s Menu or Applications list to do so.
- On most Linux versions, you can also open the Terminal by pressing Ctrl+Alt+T.
- Some Linux versions also have a command line textbox at the top of the screen.
- Some Linux installations go directly into command line. If that’s the case, skip this step.
-
2
Enable 32-bit architecture. If your computer uses a 64-bit processor, you’ll need to enable 32-bit mode for your computer. To do so:
- Type
sudo dpkg --add-architecture i386
into Terminal and press ↵ Enter. - Type in your root password when prompted and press ↵ Enter.
Advertisement
- Type
-
3
Point your computer’s downloader to the Wine website. This will allow your computer to find the proper download files. To do so:
- Type in
wget -nc https://dl.winehq.org/wine-builds/Release.key
and press ↵ Enter. - Type in
sudo apt-key add Release.key
and press ↵ Enter. - Enter your root password if prompted.
- Type in
-
4
-
5
Update the downloaded packages. Type in
sudo apt-get update
and press ↵ Enter. -
6
Select a download. As of March 2018, the stable release for Wine can be downloaded by typing in
sudo apt-get install --install-recommends wine-stable
and pressing ↵ Enter.[1]
- There may be future Wine versions that support multiple different types of stable download.
-
7
Confirm the download. Type in y and press ↵ Enter, then type back in your root password if prompted. Wine will begin downloading and installing onto your computer.
-
8
Wait for the download to finish. Wine will take upward of 10 minutes to finish installing on your computer. When it finishes downloading, you can proceed.
Advertisement
-
1
Create a Windows home directory. Type in
winecfg
and press ↵ Enter, then look for a confirmation message that says something like «created the configuration directory ‘home/name/.wine'».- If prompted to install any missing packages here, click Install in the prompt window and wait for the packages to install.
-
2
Select a Windows version. Click the «Windows Version» drop-down box at the bottom of the «Wine configuration» window, then click the version of Windows (e.g., Windows 7) that you want to use.
- If you don’t see this option, first click the Applications tab at the top of the window.
-
3
Click Apply. It’s at the bottom of the window. Doing so will save your settings.
-
4
Click OK. This button is at the bottom of the window. Clicking it closes the Window.
-
5
Download a Windows program in EXE format. Find an EXE version of the program that you want to use on Linux (e.g., 7-zip) and download it. Once you’ve done this, you can move on to installing it.
- You can see a comprehensive list of Wine-compatible programs on Wine’s website.
Advertisement
-
1
Open your Downloads folder. You’ll find this in your Home folder, though you may also be able to open the Downloads folder from within the Applications menu.
-
2
Find the downloaded EXE file. Scroll through the Downloads folder until you find the EXE file for the program that you want to install.
-
3
Right-click the file. Doing so will prompt a drop-down menu.
-
4
Click Open With Wine Windows Program Loader. It’s at the top of the drop-down menu. This will open an installation window.
-
5
Click Install. It’s at the bottom of the installation window. The program will begin installing onto your computer.
- Some programs may require additional input before they can be installed.
- You can also change the location in which your program is installed by clicking ⋯ on the right side of the window and then selecting a different folder on your computer.
-
6
Click Close when prompted. This option will become available when the program is finished installing.
-
7
Run your program. You can run your newly installed program from within the Applications section, which is usually inside of the Menu.
Advertisement
Add New Question
-
Question
What is Wine? Why do you use Wine? Where do I use Wine?
77Ecrivan
Community Answer
Wine is a compatibility layer that allows you to run Windows software on systems such as Linux, MacOS/OSX and BSD. In the case of GNU/Linux, it’s obvious Linux distributions are not as widely supported as Windows. For this reason, it is incredibly convenient to be able to run Windows software in the way that Wine lets you.
-
Question
How can I run .jar files in Linux Mint?
First, fire up Terminal and type in «sudo apt install default-jre.» Once downloaded, navigate to the folder that your .jar file is in by executing «cd.» Once there, type in «java -jar JavaFileNameHere.jar» and you’re done!
-
Question
Can I run any Windows based program through Wine on Linux?
No, not every Windows based application can run through Wine. You can go to Wine AppDB to see the list of Windows application that can run well with Wine.
See more answers
Ask a Question
200 characters left
Include your email address to get a message when this question is answered.
Submit
Advertisement
-
You can install a Wine user interface called PlayOnLinux which allows you to install, remove, and access Wine programs. To do this, simply open Terminal after installing Wine, type in
sudo apt install playonlinux
, enter your password, and confirm the download by typing in y. -
Be sure to check the Wine website for updates often.
Thanks for submitting a tip for review!
Advertisement
-
Wine is a fairly comprehensive compatibility program, but it will still have trouble running high-end PC games and programs at a normal frame rate.
Advertisement
About This Article
Thanks to all authors for creating a page that has been read 630,639 times.
Is this article up to date?
Download Article
Download Article
This wikiHow teaches you how to install and run Wine on a Linux computer. Wine is a program that allows you to run Windows applications on a non-Windows computer.
Things You Should Know
- Wine lets you use Windows applications on a non-Windows computer.
- When installing Wine, you’ll need to use the Terminal application.
- Wine set-up involves creating a Windows home directory.
-
1
Open the Terminal. Select the Terminal application from your computer’s Menu or Applications list to do so.
- On most Linux versions, you can also open the Terminal by pressing Ctrl+Alt+T.
- Some Linux versions also have a command line textbox at the top of the screen.
- Some Linux installations go directly into command line. If that’s the case, skip this step.
-
2
Enable 32-bit architecture. If your computer uses a 64-bit processor, you’ll need to enable 32-bit mode for your computer. To do so:
- Type
sudo dpkg --add-architecture i386
into Terminal and press ↵ Enter. - Type in your root password when prompted and press ↵ Enter.
Advertisement
- Type
-
3
Point your computer’s downloader to the Wine website. This will allow your computer to find the proper download files. To do so:
- Type in
wget -nc https://dl.winehq.org/wine-builds/Release.key
and press ↵ Enter. - Type in
sudo apt-key add Release.key
and press ↵ Enter. - Enter your root password if prompted.
- Type in
-
4
-
5
Update the downloaded packages. Type in
sudo apt-get update
and press ↵ Enter. -
6
Select a download. As of March 2018, the stable release for Wine can be downloaded by typing in
sudo apt-get install --install-recommends wine-stable
and pressing ↵ Enter.[1]
- There may be future Wine versions that support multiple different types of stable download.
-
7
Confirm the download. Type in y and press ↵ Enter, then type back in your root password if prompted. Wine will begin downloading and installing onto your computer.
-
8
Wait for the download to finish. Wine will take upward of 10 minutes to finish installing on your computer. When it finishes downloading, you can proceed.
Advertisement
-
1
Create a Windows home directory. Type in
winecfg
and press ↵ Enter, then look for a confirmation message that says something like «created the configuration directory ‘home/name/.wine'».- If prompted to install any missing packages here, click Install in the prompt window and wait for the packages to install.
-
2
Select a Windows version. Click the «Windows Version» drop-down box at the bottom of the «Wine configuration» window, then click the version of Windows (e.g., Windows 7) that you want to use.
- If you don’t see this option, first click the Applications tab at the top of the window.
-
3
Click Apply. It’s at the bottom of the window. Doing so will save your settings.
-
4
Click OK. This button is at the bottom of the window. Clicking it closes the Window.
-
5
Download a Windows program in EXE format. Find an EXE version of the program that you want to use on Linux (e.g., 7-zip) and download it. Once you’ve done this, you can move on to installing it.
- You can see a comprehensive list of Wine-compatible programs on Wine’s website.
Advertisement
-
1
Open your Downloads folder. You’ll find this in your Home folder, though you may also be able to open the Downloads folder from within the Applications menu.
-
2
Find the downloaded EXE file. Scroll through the Downloads folder until you find the EXE file for the program that you want to install.
-
3
Right-click the file. Doing so will prompt a drop-down menu.
-
4
Click Open With Wine Windows Program Loader. It’s at the top of the drop-down menu. This will open an installation window.
-
5
Click Install. It’s at the bottom of the installation window. The program will begin installing onto your computer.
- Some programs may require additional input before they can be installed.
- You can also change the location in which your program is installed by clicking ⋯ on the right side of the window and then selecting a different folder on your computer.
-
6
Click Close when prompted. This option will become available when the program is finished installing.
-
7
Run your program. You can run your newly installed program from within the Applications section, which is usually inside of the Menu.
Advertisement
Add New Question
-
Question
What is Wine? Why do you use Wine? Where do I use Wine?
77Ecrivan
Community Answer
Wine is a compatibility layer that allows you to run Windows software on systems such as Linux, MacOS/OSX and BSD. In the case of GNU/Linux, it’s obvious Linux distributions are not as widely supported as Windows. For this reason, it is incredibly convenient to be able to run Windows software in the way that Wine lets you.
-
Question
How can I run .jar files in Linux Mint?
First, fire up Terminal and type in «sudo apt install default-jre.» Once downloaded, navigate to the folder that your .jar file is in by executing «cd.» Once there, type in «java -jar JavaFileNameHere.jar» and you’re done!
-
Question
Can I run any Windows based program through Wine on Linux?
No, not every Windows based application can run through Wine. You can go to Wine AppDB to see the list of Windows application that can run well with Wine.
See more answers
Ask a Question
200 characters left
Include your email address to get a message when this question is answered.
Submit
Advertisement
-
You can install a Wine user interface called PlayOnLinux which allows you to install, remove, and access Wine programs. To do this, simply open Terminal after installing Wine, type in
sudo apt install playonlinux
, enter your password, and confirm the download by typing in y. -
Be sure to check the Wine website for updates often.
Thanks for submitting a tip for review!
Advertisement
-
Wine is a fairly comprehensive compatibility program, but it will still have trouble running high-end PC games and programs at a normal frame rate.
Advertisement
About This Article
Thanks to all authors for creating a page that has been read 630,639 times.
Is this article up to date?
Short answer
.exe files are not binary-compatible with Ubuntu. There are, however, compatibility layers for Linux, such as Wine
, that are capable of running .exe.
Detailed answer and solutions
The underlying problem:
Ubuntu is a completely different system than MS Windows. Not only it looks differently, but it also uses different mechanisms for its core functions.
The problem with .exe files is that they are specific to Windows. No other system is capable of running them, because their contents are designed to work on a Microsoft’s system. Linux uses different standards, different concepts, and therefore Ubuntu applications need to be adapted to them to work correctly.
If you have just migrated from Windows and are doing your baby steps with Ubuntu, you may be indeed surprised that .exe files fail to run. There may be different symptoms, either an error message may appear, or there may be no effect at all when double-clicking an .exe. This all happens, because Ubuntu has no idea what should it do to run that file. Ubuntu is not knowledgeable about how MS Windows works «behind the curtain», and therefore it can’t execute the code that’s within them. In technical jargon, one says that Windows and Linux executables are not binary-compatible.
Looking for alternatives
The first thing you should do is to realise that most likely you do not want to run that .exe file. Most Windows applications you are used to have their Ubuntu alternatives in Ubuntu Software Center.
Therefore the very first step when you try to run an .exe file is to check whether there is a Ubuntu version of the same application (like Firefox — it has both a Windows and Ubuntu edition), or a close alternative, which is not the same app, but does 99% the same stuff. For example, if you want to compose a document, instead of MS Office you will want to use LibreOffice.
How can I find an alternative?
Here are some tips.
- Search Ubuntu Software Center.
- Launch the Ubuntu Software Center, type in the search box what kind of application you are looking for. For example, typing in «photoshop» finds The GIMP, which is a great advanced image editing tool, and is a great substitute for Adobe Photoshop.
- Many Windows applications are also available for Ubuntu, and have their identical version in Ubuntu Software Center, which is the preferred way of installing software in Ubuntu.
- Search Ask Ubuntu (this very site).
- There are many questions here that explain what applications can be used as substitutes. Also, do not forget to ask a question if you need software-recommendation.
- This Ubuntu Help page contains great tips when seeking for alternatives.
- http://ubuntuguide.org/wiki/Alternatives
- http://alternativeto.net/
Okay, but not all applications have alternatives. There are a number of cases where you will want to run the .exe program anyway. Examples include:
- You are trying to run an application of which alternative makes no sense. In case of most video games you will want to run them and not an alternative.
- You may want to run the original application instead of an alternative, because the alternative is not good enough. For example, many people consider Photoshop to be a much better editor than The GIMP.
- This is a very Windows-specific program, that makes little sense on Linux.
Luckily, you can get .exe files to run on Ubuntu.
Running .exe files on Ubuntu with WINE
What is Wine? Well, technically it’s a compatibility layer. What it means is that it provides an environment similar to Windows to any .exe application you try to run. Therefore, with WINE .exe files will run on Ubuntu.
WINE is not installed by default. You can get it either by:
- Searching for «wine» in Ubuntu Software Center.
- Running the command:
sudo apt-get install wine
.
Details on installing WINE can be found in this question.
Okay, so I installed WINE. Now what?
Proceed to launching your .exe file! Double-click it, and with a bit of luck everything will seem like on Windows. Voilà!
WARNING: Not all applications will behave correctly when run with WINE. WINE is by no means perfect, and because it pretends to be a Windows environment instead of actually being a real one, some applications may malfunction. Common problems may include incorrectly displayed fields, fullscreen issues with video games, copy-protection problems. Some of them can be solved with litte hassle, make sure to check the WINE application database and use google to find hints in case your .exe does not work correctly.
Running Windows applications on Ubuntu with PlayOnLinux
There is another tool you may like which aids you in running Windows applications.
It’s called PlayOnLinux (website) and it supports quite a wide range of software (browse).
What it does is it runs a specific version of Wine which is known to work best with the application you are willing to run. It also installs additional paths to provide maximum compatibility with Ubuntu. But you don’t need to know about that; everything is done automatically.
Because of that, PlayOnLinux tends to provide the best results in case of running a widely known piece of software, including many video games.
Installing PlayOnLinux:
- Find it in Ubuntu Software Center, or
- Run
sudo apt-get install playonlinux
Using PlayOnLinux:
Instead of double-clicking the .exe (which launches it with WINE), run PlayOnLinux application. Select «Install» button on the toolbar, and choose what application you wish to install. PlayOnLinux will guide you through the installation process (of course you will need installation media).
Once it’s done, your installed application will be displayed in PlayOnLinux main window. Double click to launch it!
Commercial solutions
If you are not satisfied with WINE, there are some commercial softwares that runs Windows applications on Linux. One of the most well-known is CrossOver. In some cases it has significantly better results, yet it is not available for free.
Загрузить PDF
Загрузить PDF
Из этой статьи вы узнаете, как установить и запустить Wine на компьютере с Linux. Wine — это программа, которая позволяет запускать программы для Windows на компьютере под управлением другой (не Windows) операционной системы.
-
1
Откройте терминал. Выберите «Терминал» в системном меню или в списке установленных программ.
- В большинстве дистрибутивов Linux можно нажать Ctrl+Alt+T, чтобы открыть терминал.
- В некоторых дистрибутивах Linux строка терминала находится в верхней части экрана.
-
2
Активируйте 32-разрядную архитектуру. Если на компьютере установлен 64-разрядный процессор, активируйте 32-разрядный режим. Для этого:
- введите
sudo dpkg --add-architecture i386
в терминале и нажмите ↵ Enter; - введите пароль администратора и нажмите ↵ Enter.
- введите
-
3
Свяжите загрузчик компьютера с веб-сайтом Wine. Это позволит компьютеру найти правильные файлы для загрузки. Для этого:
- введите
wget -nc https://dl.winehq.org/wine-builds/Release.key
и нажмите ↵ Enter; - введите
sudo apt-key add Release.key
и нажмите ↵ Enter; - введите пароль администратора.
- введите
-
4
-
5
Обновите загруженные пакеты. Введите
sudo apt-get update
и нажмите ↵ Enter. -
6
Выберите загрузку. По состоянию на март 2018 года стабильную версию Wine можно загрузить, если ввести
sudo apt-get install --install-recommends winehq-stable
и нажать ↵ Enter.[1]
- Возможно, будущие версии Wine будут поддерживать несколько разных типов стабильной загрузки.
-
7
Подтвердите загрузку. Введите y и нажмите ↵ Enter, а затем введите пароль администратора (если будет предложено). Начнется загрузка и установка Wine на компьютере.
-
8
Подождите, пока Wine загрузится и установится. На это уйдет 10 минут.
Реклама
-
1
Создайте домашний каталог Windows. Введите
winecfg
, нажмите ↵ Enter, а затем найдите подтверждающее сообщение «created the configuration directory ‘home/name/.wine» (создан каталог конфигурации home/name/.wine).- Если вам предлагается установить какие-либо недостающие пакеты, нажмите «Установить» и дождитесь, когда пакеты установятся.
-
2
Выберите версию Windows. Откройте меню «Версия Windows» внизу окна «Конфигурация Wine», а затем выберите версию Windows (например, «Windows 7»), которую вы хотите использовать.
- Если данная опция неактивна, сначала нажмите на вкладку «Приложения» в верхней части окна.
-
3
Нажмите Применить. Эта кнопка находится в нижней части окна. Настройки будут сохранены.
-
4
Щелкните по OK. Эта кнопка находится в нижней части окна. Окно закроется.
-
5
Загрузите программу для Windows в формате EXE. Найдите EXE-файл нужной программы (например, 7-zip) и скачайте его. Теперь можно установить программу.
- На веб-сайте Wine можно просмотреть полный список программ, совместимых с Wine.
Реклама
-
1
Откройте папку «Downloads». Вы найдете ее в папке «Home». Также папку «Downloads» можно открыть из меню «Приложения».
-
2
Найдите загруженный EXE-файл. Для этого прокрутите содержимое папки «Downloads».
-
3
Щелкните по файлу правой кнопкой мыши. Откроется выпадающее меню.
-
4
Нажмите Открыть с помощью Wine. Эта опция находится в верхней части меню. Откроется окно установки.
-
5
Щелкните по Установить. Эта опция находится внизу окна установки. Запустится установка программы на компьютер.
- Чтобы установить некоторые программы, нужно ввести дополнительные данные.
- Чтобы изменить папку, в которую будет установлена программа, нажмите «⋯» в правой части окна, а затем выберите другую папку на компьютере.
-
6
Щелкните по Закрыть, когда появится запрос. Эта опция станет доступной, когда программа устновится.
-
7
Запустите программу. Сделайте это в разделе «Приложения» системного меню.
Реклама
Советы
- Также можно установить пользовательский интерфейс Wine под названием PlayOnLinux, который позволяет устанавливать, удалять и получать доступ к программам Wine. Для этого откройте терминал, когда установите Wine, введите
sudo apt install playonlinux
, введите пароль и подтвердите загрузку, введя y. - Регулярно проверяйте сайт Wine на наличие обновлений.
Реклама
Предупреждения
- Wine является довольно совершенной программой, но в ней, как правило, нельзя запустить игры и мощные программы с нормальной частотой кадров.
Реклама
Об этой статье
Эту страницу просматривали 68 216 раз.