Wine — запуск приложений Windows в Linux
Wine — специальное ПО, которое позволяет запускать приложения, созданные для Windows, в UNIX-подобных системах, в том числе Linux. Слышали про Wine, думаю, если не все, то многие. Хочу и я пографоманствовать на эту тему. Множество статей о Wine гласят, что надо жать на пимпу, дергать загогулину, и тогда программа (вписать название) заработает. Я бы хотел оставить это в стороне, и рассказать о Wine в целом, о том, какие существуют тонкости, и как вообще его использовать. По крайней мере, именно этого мне не хватало по началу.
Во многих дистрибутивах Wine установлен «из коробки» — достаточно выполнить двойной щелчок на файле с расширением .exe, и, вполне вероятно, все заработает. Если же этого оказалось мало, то давайте погружаться в детали.
Как узнать, какая версия 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-го работает уже многое — внушает оптимизм.
Вторым краеугольным камнем является производительность. Проведенные мной тесты (этот, вот этот ну и вообще — следите за разделом про Wine) показали, что игры, использующие OpenGL, в производительности практически не теряют (если сравнивать с Windows), а вот с DirectX все не так радужно, и по сравнению с окошками она падает — на примере использованного мной в тестах бенчмарка Unigine Valley 2013 — более чем на 10% в DirectX 9.
Как установить программу под Wine и куда она установится?
Устанавливаются программы, зачастую, точно также, как и под Windows — запускаем установщик, жмем «далее, далее…», никаких хитростей. Ну а если есть какие-то тонкости? Как установить именно вот эту, конкретную программу? Помните рекомендацию посетить AppDB, на несколько абзацев выше? Правильно, если есть какие-то нюансы, там они, скорее всего, описаны.
Возвращаемся к установке программ. Если у Вас почему-то Wine не интегрировался в контекстное меню и не ассоциировался с exe’шниками, открываем терминал в папке с нужным файлом и выполняем:
Если надо просто запустить какой-то файл, действуем так же. Если установщик программы запускается файлом с расширением .msi, используем команду:
wine msiexec /i filename.msi
Устанавливаются программы в ваш домашний каталог, в папку .wine (папка скрытая).
После установки ярлыки программ, как правило, создаются автоматически. Если что, запускать программы можно уже известной командой:
Единственная тонкость в этом процессе, про которую я хотел бы рассказать, это префиксы Wine. Для разных программ могут потребоваться разные дополнительные компоненты, разные настройки Wine и т. п. Для этого и существуют префиксы Wine. Используя для каждой программы свой префикс, Вы сможете обеспечить им индивидуальное окружение. Для того, чтобы задействовать эту возможность, выполняем команду:
Где example, например, название программы, которая в этом префиксе будет «жить».
Будет создан новый префикс и откроется панель управления Wine. Здесь можно что-то настроить, можно ее просто закрыть.
Все дальнейшие команды выполняем добавляя:
Например, запуская установщик нужной программы, вводим:
/.wine_example/ wine filename.exe
Соответственно, и установлена программа будет в папку .wine_example, а не в просто .wine. И удалить вы ее «со всеми потрохами» тоже сможете гораздо проще, просто «прибив» папку .wine_example.
Запускать программу, которая установлена таким образом, надо, соответственно, командой:
/.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 для префикса по умолчанию, достаточно выполнить команду:
Если же вы успели создать различные префиксы, то используйте команду:
/.wine_example/ winericks —gui
А есть какая-нибудь программа, которая вообще все вышеописанное сделает за меня?
Есть, причем целых две. Начнем с PlayOnLinux — https://www.playonlinux.com/ru/. Эта программа содержит большое количество сценариев для установки тех или иных приложений под Wine. Иногда нужен дистрибутив, в некоторых случаях PlayOnLinux скачает его сам, а также создаст отдельный префикс с нужными настройками Wine, скачает и установит все необходимые компоненты и т. п. В списке программ, в «общеобразовательных целях» имеются и те, которые не работают. Они подсвечены красным. Интерфейс у 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 совершенствуется буквально на глазах.