Wine — запуск приложений Windows в Linux

Wine — специальное ПО, которое позволяет запускать приложения, созданные для Windows, в UNIX-подобных системах, в том числе Linux. Слышали про Wine, думаю, если не все, то многие. Хочу и я пографоманствовать на эту тему. Множество статей о Wine гласят, что надо жать на пимпу, дергать загогулину, и тогда программа (вписать название) заработает. Я бы хотел оставить это в стороне, и рассказать о Wine в целом, о том, какие существуют тонкости, и как вообще его использовать. По крайней мере, именно этого мне не хватало по началу.

Wine logo

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

Как узнать, какая версия Wine установлена?

Открываем консоль, выполняем команду:

winecfg

В открывшемся окне выбираем вкладку «О программе», где и находится искомое.

Wine

Где взять Wine и какую выбрать версию?

Тоже немаловажный вопрос. Выбору версии Wine у меня посвящена отдельная статья. Говоря же коротко — в каждый момент доступно три версии Wine: Stable — стабильная, проверенная версия. Beta — бета-версия, тестовая. Development release — релиз для разработчиков. В большинстве дистрибутивов предустановлена версия Stable, сейчас это Wine 1.6.2. Бета-версия, на момент написания статьи — 1.7.55, и это две большие разницы. Wine сейчас развивается очень быстро, недавно была большая оптимизация кода всего проекта. Поэтому, вообще в целом, и особенно в том случае, если Вы собираетесь устанавливать игры, я рекомендую пойти сюда: https://www.winehq.org/download/ и разжиться бета версией.

Что работает под Wine?

Прежде чем пробовать запустить что-то, целесообразно отправиться на сайт Wine, в раздел AppDB (https://appdb.winehq.org/) и поискать в базе интересующую программу. Здесь вы сразу узнаете, работает ли интересующая программа под Wine, если работает — то как, и если нужны пляски с бубном — то какие. Если же говорить и ситуации в целом, то под Wine работают очень многие программы (причем без «плясок»), однако встречаются такие, которые работают, но не очень хорошо (я, например, писал про Microsoft Office под Wine) или не работают вовсе.

Как работают игры?

Ситуация с играми, в целом, схожая — то есть, что-то работает, что-то нет. Подробную информацию можно найти все в том же AppDB .

Здесь, правда, есть еще два важных момента.

Начнем с того, что в очень многих играх вы сможете использовать только DirectX 9. Работа над поддержкой 10-й и 11-й версий идет полным ходом, но работают они пока не во всех играх, местами некорректно, местами — медленнее, чем DX9. Однако, тот факт, что на момент написания статьи, в декабре 2015-го года, под DX10 и 11 не работало вообще ничего, а на момент внесения этой правки в марте 2018-го работает уже многое — внушает оптимизм.

Вторым краеугольным камнем является производительность.

Можете ознакомиться, с проведенными мной тестами:

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

Wine 3.0 — производительность в DirectX

Они показали, что игры, использующие OpenGL, в производительности практически не теряют (если сравнивать с Windows), а вот с DirectX все не так радужно, и по сравнению с окошками производительность падает — на примере использованного мной в тестах бенчмарка Unigine Valley 2013 — более чем на 10% в DirectX 9.

Как установить программу под Wine и куда она установится?

Устанавливаются программы, зачастую, точно также, как и под Windows — запускаем установщик, жмем «далее, далее…», никаких хитростей. Ну а если есть какие-то тонкости? Как установить именно вот эту, конкретную программу? Помните рекомендацию посетить AppDB, на несколько абзацев выше? Правильно, если есть какие-то нюансы, там они, скорее всего, описаны.

Возвращаемся к установке программ. Если у Вас почему-то Wine не интегрировался в контекстное меню и не ассоциировался с exe’шниками, открываем терминал в папке с нужным файлом и выполняем:

wine filename.exe

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

wine msiexec /i filename.msi

Устанавливаются программы в ваш домашний каталог, в папку .wine (папка скрытая).

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

wine /путь/к-файлу/program.exe

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

WINEPREFIX=~/.wine_example/ winecfg

Где example, например, название программы, которая в этом префиксе будет «жить».

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

Все дальнейшие команды выполняем добавляя:

 WINEPREFIX=~/.wine_example/

Например, запуская установщик нужной программы, вводим:

WINEPREFIX=~/.wine_example/ wine filename.exe

Соответственно, и установлена программа будет в папку .wine_example, а не в просто .wine. И удалить вы ее «со всеми потрохами» тоже сможете гораздо проще, просто «прибив» папку .wine_example.

Запускать программу, которая установлена таким образом, надо, соответственно, командой:

WINEPREFIX=~/.wine_example/ wine /путь/к-файлу/program.exe

Про дополнительные компоненты

Не редко для нормальной работы программе требуются какие-либо компоненты (например .net или msxml), DLL-ки и т. п.

DLL-ки переносим из Windows или, если нет под рукой «окошек», ищем в сети. Потом кладем в папку .wine/drive_c/windows/system32/. Затем выбираем эту DLL-ку в панели управления Wine (winecfg, вкладка «Библиотеки»).

Вариант третий — обращаемся за помощью к Winetricks. Это специальный набор скриптов, который поможет Вам быстро установить различные библиотеки, компоненты и шрифты (не забудьте в начале выбрать нужный префикс, если успели создать их несколько).

Разжиться этим счастьем и почитать инструкцию можно вот тут: http://wiki.winehq.org/winetricks_ru

Winetricks

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

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

winetricks --gui

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

WINEPREFIX=~/.wine_example/ winericks --gui

А есть какая-нибудь программа, которая вообще все вышеописанное сделает за меня?

Есть, причем целых две. Начнем с PlayOnLinux — https://www.playonlinux.com/ru/. Эта программа содержит большое количество сценариев для установки тех или иных приложений под Wine. Иногда нужен дистрибутив, в некоторых случаях PlayOnLinux скачает его сам, а также создаст отдельный префикс с нужными настройками Wine, скачает и установит все необходимые компоненты и т. п. В списке программ, в «общеобразовательных целях» имеются и те, которые не работают. Они подсвечены красным. Интерфейс у PlayOnLinux простой да еще и на русском языке.

PlayOnLinux

Второй вариант — платное и достаточно известное решение CrossoOver (https://www.codeweavers.com/). Позиционируется как коммерческая версия Wine. Продукт, с одной стороны, нацелен на запуск офисных приложений. С другой — так же, как и в PlayOnLinux имеются сценарии для установки большого количества других приложений, в том числе игры. Лично я как-то не очень просек «фишку» этой программы. Стоит она не дешево, к тому же речь идет не о покупке «однажды и навсегда», а о подписке: 12 месяцев — 40 долларов. При этом, воспользовавшись тестовой версией (при желании сделать это можете и Вы), я увидел, что интересующие меня программы (в частности Microsoft Office, а также еще кое-что по-мелочи) работают ничуть не лучше, чем под «простым»Wine, и покупать CrossOver не стал. Не могу не заметить, что на подходе новая, 15-я, версия CrossOver, в которой нам обещают много нового — например, работающий Office 2013. Как он будет работать — конечно, большой вопрос. Но между тем.

Что в итоге?

А в итоге все просто:
— имейте свежую версию Wine;
— в случае возникновения сложностей с какой-то программой, не поленитесь посетить AppDB и просто почитать форумы. Например, на форумах многих MMO существуют специальные темы о запуске их под Wine;
— дополнительные компоненты, коль скоро такие нужны, устанавливайте при помощи Winetricks;
— особо «тяжелый» софт устанавливайте, используя специальный префикс.

Кстати, о дополнительных компонентах. Многие пытаются установить DirectX под Wine, в большинстве случаев это совершенно не обязательно. Если же игра жалуется на отсутствие какой-то конкретной библиотеки, просто установите ее через Winetricks.

А вообще — используйте Wine взвешенно. Нет никакого смысла переходить на Linux, лишь для того, чтобы пробовать запустить все свои привычные программы под Wine.

Во-первых в Linux много хорошего нативного софта, просто поищите получше, и обязательно найдете искомое. Я, например, уже описал несколько программ, которые подобрал взамен тем, которыми пользовался в «окошках».

Во-вторых, «Wine» тянет за собой не только приложения для Windows, но и различные проблемы, присущие этой платформе. Например вирусы. А учитывая тот факт, что приложения, запущенные под Wine, имеют доступ к Вашему домашнему каталогу… Некоторые, насколько я знаю, даже устанавливают под Wine антивирусы. Но это, как мне кажется, совсем перебор.

Достаточно просто соблюдать осторожность и не устанавливать все подряд. Я под Wine запускаю две игры, да еще, время от времени, архиватор 7-zip — никак не подберу полностью устраивающий меня аналог под Linux.

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

комментариев 10
  1. Spotter
    24.01.2018 в 01:51 Ответить

    доброго времен суток.
    пользуюсь Дебина9. я всё установил Wine, winetricks и playonlinux. но ярлык Wine у меня не отображается в пункте меню. winetricks и playonlinux есть их ярлыки спокойно могу перенести на рабочий стол, а вот Wine нет. я могу открыть настройки Wine только через Терминал winecfg. перенеся .ехе файл в Дебиан я не могу открыть правой клавой контекстного меню «открыть с помощью Wine», так как его нет. только могу открыть экзешник при помощи playonlinux и winetricks. что делать?​
    СПАСИБО.

    1. Александр Павлов
      24.01.2018 в 13:56 Ответить

      Здравствуйте!

      По-порядку. Wine не создает никаких ярлыков, так что это совершенно нормально, что их нет. Доступ в настройки Wine только через winecfg в консоли тоже вполне обычное дело.

      Отсутствие пункта «открыть с помощью Wine» — скорее всего вопрос к DE, в KDE он появляется автоматом (на примере того же Debian 9), за другие DE сказать не могу. Соответственно, тут надо «плясать» от того, какую среду вы используете и погуглить на эту тему.

      Делать в этой ситуации можно только одно — в консоли выполнять «wine /путь/к/нужному/файлу.exe», если есть программы, которыми пользуетесь постоянно — создать для их запуска sh скрипты или ярлычки.

      1. Spotter
        24.01.2018 в 20:22 Ответить

        у меня оболочка XFCE.
        и еще одно. насколько я понимаю что для программ для Вайн (например фоторедактор) не нужно создавать виртуальный диск, это только для игрушек??

        1. Александр Павлов
          24.01.2018 в 20:42 Ответить

          Нет, не обязательно. PlayOnLinux не создает виртуальных дисков, он помещает программы и игры в различные префиксы Wine, но это совершенно не обязательно.

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

          На мой вкус проще использовать чистый Wine вкупе с информацией с https://appdb.winehq.org/

          1. Spotter
            26.01.2018 в 00:02 Ответить

            уже сегодня разобравшись с ручной настройкой: созданием префиксов Вайна, созданием префикса 32/64 бт, инсталляцией ехе-шника в Вайне, у меня имеется еще один вопрос — как открыть нужный префикс в графическом winetricks?
            например, эта команда открывает данный префикс «WINEPREFIX=~/.wine_названиеНовогоПрефикса/ winecfg», а есть ли команда для открытия одного из префиксов в графическом winetricks чтобы туда скажем добавить нужные библиотеки или шрифты…?

            спасибо за ответы Александр!

            1. Александр Павлов
              26.01.2018 в 12:23 Ответить

              Здравствуйте! Принцип примерно такой же:

              Вот скажем, у меня есть префикс .eve, в котором установлена EVE Online. Чтобы запустить Winetricks для этого префикса, я в терминале введу команду:

              WINEPREFIX=~/.eve/ winetricks --gui

              После этого запустится Winetricks, нужно будет выбрать пункт «Выберите путь для wine по-умолчанию» или, если у вас англоязычная версия, «Select the default wineprefix».

              После этого все действия, которые будут производится в Winetricks, будут производится с этим префиксом. В подтверждение этого можно увидеть, что в заголовке окна появился путь к префиксу — в моем случае /home/alexander/.eve/ — вот для примера на скриншоте https://apavlov.ru/winetricks-exeample/

  2. Владимир
    14.08.2019 в 09:07 Ответить

    Добрый день, подскажите по ошибке. При попытки установки Zet 9, выдает ошибку runetime error 1111:276? как решить проблему?

    1. Александр Павлов
      15.08.2019 в 12:45 Ответить

      Владимир, здравствуйте!

      К сожалению, особо помочь не смогу — софт незнакомый, в AppDB про эту программу ничего нет, кроме того, что она вроде как работает — но данные очень старые. Попробуйте разные версии Wine, в том числе постарше.

      Или попробуйте пойти «от обратного» — если есть такая возможность, запустите программу в Windows, и с помощью какого-нибудь софта, типа Dependency Walker, посмотрите, чем она пользуется — возможно, докопаетесь, чего ей не хватает под Wine.

      Удачи Вам!

  3. Андрей
    02.05.2020 в 23:52 Ответить

    Скажите, а я смогу запустить программу от Windows на Debian 7 x64 (без графического ядра, консольная по ssh), под wine?

    1. Александр Павлов
      06.05.2020 в 13:43 Ответить

      Здравствуйте! Вы не первый интересуетесь — https://www.linux.org.ru/forum/desktop/8122458

      У самого, к сожалению, такого опыта нет.

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.