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 совершенствуется буквально на глазах.
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 также можно запускать установщики Windows приложений и устанавливать их прямо в Linux.
Список программ и игр, работающих через 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 .
Сначала создадим новый префикс. Выполняем команду:
Теперь выполняем саму программу и указываем для нее новый префикс:
Установка недостающих библиотек (утилита Winetricks)
Очень часто для работы программ требуются дополнительные компоненты (библиотеки, шрифты), которых нет в Wine. Их можно установить самостоятельно, но это может стать очень трудоемким процессом, так как придётся искать и устанавливать каждый компонент вручную.
Для автоматического поиска и установки библиотек была создана специальная вспомогательная утилита Winetricks.
Winetricks — это графическая утилита, которая умеет автоматически скачивать и устанавливать необходимые компоненты. Также, Winetricks поддерживает автоматическую загрузку и установку некоторых игр и программ (для некоторых требуется наличие оригинального диска).
Winetricks поддерживает установку более сотни различных компонентов. Среди них — .Net Framework, Mono, DirectX, DivX и XviD кодеки, шрифты Windows и многие другие.
Нужно понимать, что Winetricks не является таблеткой от всех проблем и всегда могут потребоваться компоненты, которые Winetricks не поддерживает.
При первом запуске Winetricks предложит установить некоторые из часто используемых компонентов.
Установка Wine в Ubuntu Linux и Linux Mint
Wine есть в штатных репозиториях Ubuntu, но там может содержаться не самая свежая версия, поэтому рекомендуется устанавливать программу из PPA-репозитория, предлагаемого разработчиками.
Во время установки Wine дополнительно устанавливается довольно много других зависимостей (это может быть более 100 дополнительных компонентов).
Установка Wine из штатных репозиториев Ubuntu (не самая свежая версия)
Для установки Wine из штатных репозиториев Ubuntu, выполните команду:
Для установки Winetricks выполните команду:
Установка Wine из PPA репозитория (рекомендуется)
Процесс установки Wine в Ubuntu Linux описан в официальном руководстве. Рассмотрим, как установить Wine в Ubuntu Linux, используя PPA репозиторий.
Если у вас 64-х битная версия системы, то нужно разрешить использование 32-х битной архитектуры. Выполняем команду:
Устанавливаем ключ для репозитория — выполняем команды:
wget -nc https://dl.winehq.org/wine-builds/winehq.key
sudo apt-key add winehq.key
Добавляем сам репозиторий. Выберите команду для вашего дистрибутива:
Далее обновляем информацию о пакетах:
Устанавливаем Wine. Для установки стабильной версии выполняем команду:
Для установки самой свежей, но возможно не очень стабильной версии используется команда:
Также можно установить Winetricks:
Заключение
На нашем сайте вы также можете ознакомиться со следующими материалами:
Wine, для тех кто не знает, это оболочка с помощью которой, можно выполнять программы от операционной системы Windows в Linux. На данный момент Wine поддерживает огромное количество программ, конечно, не все, и тем более не новые игры вроде GTA 5, но тем не менее при правильной настройке можно запустить практически любую программу, вышедшую несколько лет назад.
Но работать с Wine не совсем удобно. Чтобы установить ту или иную программу придется облазить кучу форумов и блогов, чтобы понять какие пакеты нужно установить и какие библиотеки добавить. Затем следует длинный процесс решения проблем, установки пакетов через winetricks и ручной настройки реестра и так далее. Это все очень сложно даже для опытных пользователей, не говоря уже про новичков.
Но есть решение, даже несколько. Существует несколько оболочек для Wine, которые пытаются автоматизировать процесс установки программ — вы выбираете программу из списка поддерживаемых, инсталлятор и утилита сама подгружает все нужные библиотеки и пакеты. Существуют такие оболочки для wine, как PlayOnLinux, Crossover и менее известные Qt4Wine и т д. Но мы сегодня их трогать не будем, о них уже достаточно написано на просторах интернета. Мы рассмотрим кое-что новое — WineWizard.
Официальный сайт программы — wwizard.net. WineWizard — это новая оболочка для Wine с открытым исходным кодом. С новой идеей подхода к делу, причем намного лучше, чем у всех предыдущих. Главная особенность WineWizard — это решения для установки программ. Для того чтобы установить программу Windows, вам достаточно запустить winewizard, выбрать инсталлятор программы, а затем выбрать программу из списка поддерживаемых.
Вот здесь и начинаются отличия от привычных нам PlayOnLinux и Crossover. Поддерживаемые программы — это решения, и создавать их может каждый пользователь. Все решения синхронизируются на сервер программы и доступны всем желающим. Создать решение очень просто не нужно ничего вводить в консоли или писать скрипты, достаточно просто выбрать из списка те пакеты, которые нужны для работы программы. Затем программа сама скачает и установит необходимые пакеты.
Но самое интересное здесь, что те решения, которые вы создали, будут доступны всем пользователям, а их решения станут доступны вам. Таким образом, больше не нужно будет очень долго искать по форумах как запустить ту или иную программу, достаточно кому-то одному все сделать и все смогут пользоваться этим решением уже не вдаваясь в детали. Для каждой программы создается новый префикс и можно выбрать версию wine. Также очень приятно то, что можно выбрать архитектуру.
Из преимуществ программы можно назвать поддержку зеркал для загрузки пакетов, сейчас многие пакеты берутся из playonlinux, поддержку выбора архитектуры префикса, советы после установки программы, которые в случае неудачного исхода могут помочь решить проблему. Установка программ через Wine выполняется очень быстро и просто если уже есть решения.
UPD: Программа заброшена автором и больше не поддерживается. Для установки программ Windows была необходима серверная часть, которую автор удалил поэтому программа больше не работает.
Установка WineWizard
Программа совсем новая, поэтому пакеты для нее еще не собраны и ее нет в официальных репозиториях. Если быть точнее, то на данный момент есть PPA для Ubuntu и пакет в AUR для ArchLinux, но версии в этих репозиториях уже устарели.
Я думаю, что это очень скоро исправят, поэтому все-таки расскажу как установить программу из PPA, но лучше все же воспользоваться другим способом и устанавливать из исходников.
Для добавления PPA в систему используйте команду:
sudo add-apt-repository ppa:nightuser/winewizard
sudo apt update
Теперь можно устанавливать:
sudo apt install winewizard
Программа готова к работе. Ну а теперь рассмотрим сборку из исходников. Для сборки программы необходимы библиотеки и средства сборки qt5 установленные в системе. Также нужны стандартные утилиты для архивирования — unzip, cabextract, bzip2, tar, это уже для работы программы.
Установим средства разработки Qt5 в системе:
sudo apt install qt5-default
Установим необходимые утилиты:
sudo apt install unzip cabextract bzip2 tar
Сначала скачаем сами исходники:
git clone https://github.com/LLIAKAJL/WineWizard
Создадим нужные директории:
cd WineWizard-номер_версии
$ mkdir build && cd build
Последний этап — установка. Можно использовать команду:
sudo make install
Или же воспользоваться утилитой checkinstall в Ubuntu:
checkinstall
$ dpkg -i WineWizard*
Вот и все, программа установлена и готова к использованию, теперь будет рассмотрена установка программ через wine с помощью winewizard.
Установка программ в Wine с помощью WineWizard
В этой статье мы рассмотрим работу с WineWizard на примере установки популярной программы для проверки уникальности текстов — Advego Plagiatus.
Сначала запустите программу из главного меню системы, или выполнив в терминале команду:
Вы увидите вот такое минималистичное главное окно в виде меню:
Вся суть в том, что программа может висеть в трее и оттуда будет очень удобно запускать установленные приложения, будет похоже на меню системы.
Чтобы установить программу нажмите кнопку Install Application.
В следующем окне мастера нужно выбрать заранее скачанный из официального сайта установщик:
Далее самое интересное, то о чем мы говорили, решения. Необходимо выбрать решение для нашей программы. Для этого введите название программы в строке поиска. В нашем случае будет выполняться установка Advego Plagiatus linux:
Мы видим в списке готовое решение, я уже создал но, скорее всего, для программы которую вы захотите установить решения не будет. Для создания нового решения нажмите кнопку Add:
Решение будет создано, но теперь осталось его отредактировать, чтобы указать какие пакеты нужно устанавливать вместе с программой, можно редактировать как 64 битную версию, так и 32 бит, отдельно. Нажмите кнопку Edit для нужной версии. Следующее окно разбито на три части, левая колонка — пакеты, которые будут запущены без установщика, средняя доступные пакеты, и правая, пакеты будут установлены перед запуском программы. Просто перетащите нужные пакеты в подходящую колонку, надежнее будет левую. В этом же окне вы можете выбрать версию Wine:
После применения изменений осталось нажать ОК, затем еще раз ОК. Потом выбираем архитектуру префикса:
После этого пойдет загрузка выбранной версии Wine, необходимых пакетов, подготовка префикса и установка приложений wine.
Затем запуститься установка Advego Plagiatus Linux, я не буду описывать установщик, там все элементарно:
В конце мы можем запустить программу, установка программ в wine завершена:
И видим что все отлично работает:
После завершения работы WineWizard спросит работает ли программа правильно:
Если ответить да, программа закроется, в случае ответа нет, вы сможете посмотреть лог работы программы и сообщения об ошибках. Также в нижней части окна вы видите совет, что можно сделать, чтобы установка программ через wine завершилась успешно и все работало.
Напоминаю, что именно для этой программы вам не нужно создавать решения, решение уже готово и вполне рабочее. Но если вам нужна другая программа вы уже знаете что делать.
Выводы
Как видите, установка приложений в wine, это не так уж страшно, особенно если использовать современные инструменты для упрощения и автоматизации многих действий как оболочка для wine — winewizard. Напоследок хотелось бы сказать огромное спасибо автору этой программы за разработку такого отличного инструмента. Работы, над программой еще много, но это отличное решение и уже много чего сделано, и сделано правильно.