- Wine — запуск приложений Windows в Linux
- Как узнать, какая версия Wine установлена?
- Где взять Wine и какую выбрать версию?
- Что работает под Wine?
- Как работают игры?
- Как установить программу под Wine и куда она установится?
- Про дополнительные компоненты
- А есть какая-нибудь программа, которая вообще все вышеописанное сделает за меня?
- Что в итоге?
- HackWare.ru
- Этичный хакинг и тестирование на проникновение, информационная безопасность
- Полное руководство по Wine: от установки до примеров использования
- Оглавление
- Для чего Wine
- Возможности и ограничения Wine
- 64-битный или 32-битный Wine?
- Как установить Wine
- Установка Wine в Debian, Kali Linux, Linux Mint, Ubuntu и их производные
- Установка Wine в Arch Linux
- Как запустить программу в Wine
- Запуск двойным кликом по исполнимому файлу
- Запуск в командной строке
- Использование wine start
- Передача аргументов командной строки Windows
- Запуск файлов .msi
- Графическая среда Wine в стиле Explorer
- Как в Wine запустить файл .bat
- Как установить программу в Wine и создать ярлык
- Встроенные в Wine программы
- Блокнот
- Редактор реестра
- Проводник
- Диспетчер задач
- Игра «Сапёр»
- Браузер Internet Explorer
- Командная строка Windows
- Установщик MSI файлов
- Панель управления
- Как удалить программу из Wine
- Файловая система Wine
- WINEPREFIX (префиксы)
- Как создать 32-битный винный префикс в 64-битной системе?
- Как запустить две программы, как если бы они были на разных компьютерах?
- Как заставить Wine запускать приложение на виртуальном рабочем столе
- Помощники в установке программ и библиотек в Wine
- PlayOnLinux
- Winetricks
- Что лучше, PlayOnLinux или Winetricks?
- Использование реестра и Regedit
- Структура реестра
- Файлы реестра
- Использование Regedit
- Полный список ключей реестра
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-го работает уже многое — внушает оптимизм.
Вторым краеугольным камнем является производительность.
Можете ознакомиться, с проведенными мной тестами:
Они показали, что игры, использующие 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 совершенствуется буквально на глазах.
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Полное руководство по Wine: от установки до примеров использования
Оглавление
Для чего Wine
Эта инструкция расскажет об использовании Wine. Данные советы по использованию применимы как к Kali Linux, так и к любому другому дистрибутиву Linux.
С помощью Wine можно запускать программы Windows прямо на Linux без использования виртуальных компьютеров. Если говорить о Kali Linux, то одним из интересных примеров является программа Router Scan by Stas’M, которая прекрасно работает через Wine (находит и взламывает роутеры, но не работают функции, связанные с использованием Wi-Fi адаптера).
Итак, Wine — это набор программ и библиотек, которые позволяют запускать Windows приложения в Linux без использования виртуализации. Конечно, Windows программы можно запустить в Linux с использованием VirtualBox, но такой вариант потребует запуска полноценной операционной системы с соответствующими затратами ресурсов, особенно оперативной памяти — для работы Windows необходимо несколько гигабайт памяти, а также место на диске для установки — несколько десятков гигабайт. При этом важным требованием для работы VirtualBox и аналогичных виртуальных компьютеров является то, чтобы ваш центральный процессор поддерживал виртуализацию.
Wine позволяет обойти все эти ограничения — для запуска программ Windows не нужно устанавливать эту операционную систему и приложениям для работы требуется всего несколько десятков мегабайт оперативной памяти.
Но у Wine есть и недостатки — не все приложения работают хорошо или вообще работают. Тем не менее огромное количество Windows программ прекрасно запускаются и работают в Linux благодаря Wine.
Возможности и ограничения Wine
Программа способна запускать 64-битные, 32-битные, 16-битные программы и библиотеки Windows 9x/NT/2000/XP/Vista/7/8/10 и Windows 3.x
Поддержка Win32 API:
- Поддержка игр и приложений на основе DirectX (поддержка Direct3D до DirectX 12)
- Поддержка игр и приложений на основе OpenGL и Vulkan
- Поддержка DirectShow с использованием GStreamer для кодеков
- Direct2D, поддержка DirectWrite
- Поддерживаются MMDevice API, XAudio, WinMM, DirectSound audio API.
- Печать через драйвер PostScript в главную систему печати (обычно CUPS)
- Драйвер расширенного метафайла (EMF) и метафайла Windows (WMF)
- Desktop-in-a-box или смешанные окна
Позволяет программе Windows взаимодействовать с:
- Графикой на основе X11, которая позволяет удалённо отображать на любом X-терминале
- Графикой на базе macOS и Android
- Шрифты X11, TrueType (.ttf/.ttc) и Windows Bitmap (.fon)
- Звуковыми устройствами через ALSA, OSS, PulseAudio, Core Audio и т. д.
- Многоязычной клавиатурой и поддержка метода ввода CJK через XIM
- Модемами, последовательными устройствами
- Сетями (TCP/IP и IPX)
- Сканерами ASPI
- Планшетами Windows через XInput (например, Wacom)
- Устройствами видеозахвата через v4l2
- Устройствами HID через IOHid (MacOS), evdev (Linux), hidraw (Linux), SDL2
Как вы можете увидеть, список впечатляющий и позволяет, к примеру, запускать игры для которых требуется DirectX и при этом выводить звук. Приложения из Wine могут работать с сетью и даже имеют доступ к некоторым аппаратным возможностям (принтеры, сканеры).
Если для работы приложения необходимы дополнительные библиотеки, например, Visual C++ Redistributable for Visual Studio, то их возможно установить в Wine и запускать приложение в среде с установленной этой библиотекой.
При этом нужно помнить о таком ограничении, как невозможность работать с устройствами напрямую, например, если для устройства требуется драйвер, то бессмысленно устанавливать Windows драйвер в Wine — вам нужно найти версию драйвер для Linux и установить её.
64-битный или 32-битный Wine?
В этой инструкции для установки Wine мы включим поддержку репозиториев для 32-битных платформ (i386) для того, чтобы скачать необходимые библиотеки. Может возникнуть вопрос, существует ли 64-битный Wine и если да, зачем нам подключать репозитории для i386 и скачивать 32-битную версию?
Да. 64-битный Wine доступен в Linux начиная с версии 1.2. Бинарные пакеты WineHQ доступны для 64-битных версий, и большинство основных дистрибутивов упаковывают их для пользователей. Обычно установка должна быть такой же простой, как установка пакета Wine для вашего дистрибутива через менеджер пакетов.
Но имеется несколько очень важных замечаний:
- 32-битный Wine работает как в 32-битных, так и в 64-битных версиях Linux/Unix. На нём будут работать 16-битные и 32-битные приложения Windows.
- 64-битный Wine работает только на 64-битных установках и пока что был тщательно протестирован только в Linux. Для запуска 32-битных приложений Windows требуется установка 32-битных библиотек. И 32-битные, и 64-битные приложения Windows (должны) работать с ним; однако есть ещё много ошибок.
- Текущий Wine включает поддержку 64-битного Wine в Mac OS X; однако это не было тщательно проверено, и некоторые приложения могут никогда не работать из-за несовместимости ABI между Win64 и OS X.
Главное, что из этого следует — даже при установке 64-битного Wine необходимо активировать 32-битные репозитории, поскольку многие приложения Windows по-прежнему являются 32-битными и в любом случае необходимо установить 32-битные библиотеки, иначе многие программы просто не будут работать.
При установке можно явно выбрать пакет wine64, но даже если вы установите wine, то им будет 64-битная версия, если у вас 64-битный Linux.
Как установить Wine
Установка Wine в Debian, Kali Linux, Linux Mint, Ubuntu и их производные
Выполните следующие команды:
После установки запустите Wine — возможно, он предложит скачать необходимые шрифты и другие компоненты:
Чтобы проверить версию Wine выполните команду:
Установка Wine в Arch Linux
Откройте текстовый файл /etc/pacman.conf:
В нём найдите и раскомментируйте строки (убедитесь, что раскомментировали обе строки, иначе изменения не вступят в силу):
Обновите информацию о пакетах:
Как запустить программу в Wine
Запуск двойным кликом по исполнимому файлу
Для запуска Windows приложений в Linux обычно достаточно дважды кликнуть по ним. Но может быть так, что .exe файл будет открываться менеджером архивов или другим приложением (обычно менеджером архивов).
В этом случае кликните по файлу правой кнопкой мыши, выберите пункт «Открыть с помощью» и выберите Wine.
Если у вас в контекстном меню не появился Wine, то сделайте так:
- нажмите правой кнопкой на приложение, которое хотите запустить
- выберите «Открыть с помощью», а затем «Другое»
- поставьте галочку «Пользовательская команда» и там, где строка для ввода, введите wine. Поставьте галочку «Сохранить ассоциацию» и «Установить как приложение по умолчанию», нажмите ОК. Теперь все .exe файлы будут открываться двойным кликом.
Обратите внимание, насколько экономно используется оперативная память — для работы Router Scan by Stas’M в Kali Linux нужен всего 1 мегабайт оперативной памяти. Если бы для запуска этой программы мы устанавливали Windows в виртуальную машину, то потребовалось бы несколько гигабайт для работы ОС. К тому же, при использовании Wine необязательно, чтобы процессор поддерживал виртуализацию — в отличие от VirtualBox и других аналогичных способов запуска виртуальных компьютеров.
Запуск в командной строке
Поскольку программы Windows часто ищут файлы относительного того места, откуда они были запущены, при использовании командной строки вы должны запускать их очень специфическим способом: «сменить каталог» на папку, в которой расположена программа, и запустить файл .exe, используя только его имя файла. Например:
Использование wine start
В некоторых случаях может потребоваться указать полный путь к исполняемому файлу. Например, если вам нужно установить программу с нескольких компакт-дисков, ввод каталога в терминале не позволит вам извлечь компакт-диск.
Вам нужно использовать wine start, если вы укажете полный путь к .exe, потому что это позволяет Wine установить рабочий каталог для программы, если он ей нужен.
Вы можете указать Wine путь в стиле DOS или Windows в одинарных кавычках, например:
Вы также можете использовать двойные кавычки, но вам нужны две обратные косые черты вместо одной:
Если вы предпочитаете использовать путь в стиле Unix, используйте параметр /unix для запуска, например:
Передача аргументов командной строки Windows
Если вы используете программу с аргументами в Windows, например:
То вы можете сделать то же самое в Wine, запустив:
То есть командная строка идентична, за исключением wine перед ней. Обратите внимание, однако, что вам может потребоваться экранировать некоторые специальные символы обратной косой чертой из-за того, как они обрабатываются в оболочке Linux. Например:
Запуск файлов .msi
Файлы MSI нельзя запускать напрямую; вам нужно использовать либо программу Wine msiexec, либо запуск Wine с терминала:
Графическая среда Wine в стиле Explorer
Если вы предпочитаете использовать графический интерфейс для управления файлами, возможно, вам стоит рассмотреть возможность использования winefile. Это приложение Winelib поставляется с Wine и может быть найдено с другими программами Wine. Это полезный способ просмотреть конфигурацию вашего диска и найти файлы, а также вы можете запускать программы прямо из Winefile. Обратите внимание, что многие функции ещё не реализованы.
Чтобы его открыть выполните:
Как в Wine запустить файл .bat
Вы можете запустить файл .bat разными способами:
1. Выполните команду
Найдите файл .bat и запустите его двойным кликом.
2. Выполните команду
И найдите в окне Проводника нужный вам файл.
чтобы сразу попасть в нужную папку.
Когда найдёте файл .bat, то дважды кликните на него.
3. Вы можете запустить файл .bat в командной строке, используя конструкцию вида:
Если вы используете путь до файла в файловой системе Linux, то обязательно нужно указать опцию /unix.
Как установить программу в Wine и создать ярлык
Если программа является портативной, то вы можете поместить её в любое место на диске — необязательно в папку Wine. Кстати, по умолчанию диском C: в Wine является папка
Как уже сказано, вам необязательно помещать файлы с программой именно туда. Вы можете запускать портативные программы показанными выше способами.
Если программа распространяется в виде установщика (инсталлятора), то просто запустите этот установщик с помощью Wine. В большинстве случаев всё пройдёт как в Windows, будет выполнена обычная установка и на рабочем столе вашей Linux и в меню появится ярлык для запуска программы.
Для портативной программой вы также можете сделать ярлык. Для этого кликните правой кнопкой мыши по рабочему столу и выберите пункт «Создать кнопку запуска здесь» (в Cinnamon), «Создать значок запуска» (в XFCE) или аналогичный пункт.
Обычно есть возможность установить иконку, в том числе присутствуют иконки программ, когда-либо запускаемых в Wine.
Даже если «мастер значка запуска» позволяет указать рабочий каталог, то лучше не полагаться на его. В качестве команды запуска укажите команду вида:
То есть команда для выполнения включает в себя две подкоманды — переход в нужный каталог и запуска исполнимого файла.
К примеру, исполнимый файл находится в папке /home/mial/.wine/drive_c/Program Files (x86)/foobar2000/ и называется foobar2000.exe, тогда команда запуска следующая:
Обратите внимание, что:
- указан абсолютный, а не относительный путь до папки
- если в пути содержатся пробелы или другие специальные для оболочки символы (например, скобки), то они должны быть обязательно экранированы или путь должен быть помещён в кавычки.
Другой пример, когда файл находится не на диске Wine: нужно создать ярлык для запуска файла /mnt/disk_d/Share/Conses/ConsFed/cons.exe, тогда команда запуска следующая:
Если для работы программы необходима специальная версия Wine или дополнительные компоненты, то можно найти скрипты, которые упрощают их установку, о них будет позже в разделах, посвящённых PlayOnLinux и winetricks.
Встроенные в Wine программы
В Wine имеется несколько встроенных «стандартных программ Windows».
Блокнот
Редактор реестра
Более подробно о реестре и редакторе реестра будет ниже.
Проводник
Чтобы открыть проводник, выполните команду:
В проводнике вы можете открыть «Мой компьютер» — там будут ссылки на все диски в Linux. Диск «C:» это то, что размещено в папке
/.wine/drive_c/. Диск «Z:» — это корневой диск файловой системы Linux. Другие диски — это подключённые к Linux флешки и диски.
В проводнике вы можете запускать файлы .bat двойным кликом, а также управлять файлами (перемещать, создавать, удалять их) в графическом интерфейсе.
Диспетчер задач
Чтобы открыть Диспетчер задач, выполните команду:
Игра «Сапёр»
Браузер Internet Explorer
На самом деле, это не настоящий IE — это браузер на основе Firefox.
При желании, можно установить старые версии Internet Explorer, но даже Windows в последних версиях отказалась от использования IE и перешла на веб-браузер на основе Chrome.
Командная строка Windows
Для запуска выполните:
Встроенные команды CMD:
для дополнительной информации по перечисленным командам
Установщик MSI файлов
Эта программа упомянута выше, в разделе «5.5 Запуск файлов .msi».
Панель управления
Для запуска выполните:
Как удалить программу из Wine
Чтобы удалить программу из Wine, перейдите в настройки «Установка/удаление программ», для этого выполните:
Далее выберите программу для удаления и нажмите кнопку «Изменит/удалить». Ярлыки, созданные во время установки, будут удалены автоматически.
Файловая система Wine
По умолчанию физически файлы размещены в папке
/.wine. То есть если вы хотите «переустановить Windows», то есть полностью удалить все настройки и установленные программы, то можете удалить эту папку. Но помните, что сделанные в меню и на рабочем столе ярлыки останутся, поскольку расположены в других местах.
При использовании WINEPREFIX (об этом позже), будет использоваться другая папка для хранения файлов.
вы можете открыть «Мой компьютер» — там будут ссылки на все диски в Linux. Диск «C:» это то, что размещено в папке
/.wine/drive_c/. Диск «Z:» — это корневой диск файловой системы Linux. Другие диски — это подключённые к Linux флешки и диски.
Вы можете изменить это, для этого откройте «Настройки Wine» и перейдите на вкладку «Диски»:
WINEPREFIX (префиксы)
По умолчанию, Wine хранит файлы настроек и установленные приложения Windows в каталоге
/.wine. Этот каталог называется префиксом Wine (Wine prefix). Он создаётся и обновляется автоматически по необходимости при запуске программ Windows и программ настройки Wine, например winecfg. Каталог префикса также содержит стандартную структуру корневого раздела каталогов Windows, которая представляется программам Windows как диск C:.
Вы можете изменить место расположения префикса, создав переменную окружения WINEPREFIX с указанием нового пути. Это полезно, когда вам необходимо использовать различное окружение для разных приложений Windows. При запуске приложения Windows новый префикс будет автоматически создан на указанном в WINEPREFIX месте, если его до этого не существовало.
Для примера, если вы запускаете одно приложение с
у каждой программы будет свой раздел C:, соответственно, своя копия всех настроек и реестра. Таким образом, обе программы будут запущены в полностью изолированных друг от друга средах.
Примечание: Тем не менее, префиксы Wine не являются песочницами. Программы, запущенные в Wine могут также получать доступ к оставшейся части системы (например, раздел Z: обычно соответствует корню файловой системы /).
Для создания префикса без запуска каких-либо средств настройки Wine или приложений Windows вы можете использовать команду:
Вы можете изменить префикс, который использует Wine, изменив переменную среды WINEPREFIX (за пределами Wine). Для этого запустите в терминале что-то вроде следующего:
Чтобы использовать префикс по умолчанию, используйте команду
Или просто установите значение WINEPREFIX на
В качестве альтернативы вы можете указать префикс wine в каждой команде, например
Вы можете переименовывать, перемещать, копировать и удалять префиксы, не затрагивая другие, и каждый префикс имеет свой собственный экземпляр wineserver.
Как создать 32-битный винный префикс в 64-битной системе?
В настоящее время существует ряд серьёзных ошибок, которые не позволяют многим 32-битным приложениям работать с 64-битным префиксом Wine. Чтобы обойти это, вы можете создать новый 32-битный винный префикс, используя переменную среды WINEARCH. В терминале введите:
(используйте фактический путь к wineprefix) Не используйте существующий каталог для нового wineprefix: Wine должен его создать сам.
После создания 32-битного wineprefix вам больше не нужно указывать WINEARCH в командной строке, чтобы использовать его, так как архитектура существующего wineprefix не может быть изменена. Обратите внимание, что если вы хотите использовать wineprefix не тот, который установлен по умолчанию (
/.wine), то вам нужно указать переменную WINEPREFIX при установке чего-либо (включая winetricks):
Как запустить две программы, как если бы они были на разных компьютерах?
Пример: у вас есть серверная и клиентская программы. И одна не будет работать в присутствии другой.
Здесь вам поможет использование разных wineprefix, поскольку они по сути имитируют два компьютера с Windows.
Запустите первую программу как обычно:
Вторую нужно запускать с другим префиксом, поэтому нам нужно изменить переменную среды WINEPREFIX:
First-program.exe и second-program.exe могут быть двумя копиями одной и той же программы.
Как заставить Wine запускать приложение на виртуальном рабочем столе
Вы можете сделать это с помощью winecfg. Добавьте приложение на вкладке «Приложения», а затем на вкладке «Графика» включите «Эмулировать виртуальный рабочий стол».
Вы также можете использовать следующую команду:
Замените program.exe именем вашей программы и измените разрешение на размер виртуального рабочего стола, который вам нужен. Изменение name позволяет одновременно открывать несколько рабочих столов.
Помощники в установке программ и библиотек в Wine
PlayOnLinux
PlayOnLinux — это программа с графическим интерфейсом, которая содержит базу качественных и актуальных скриптов, которые помогают устанавливать Windows программы буквально в несколько кликов. По своей сути PlayOnLinux является обёрткой для Wine, облегчающей и автоматизирующей действия по установке программ, особенно требующих зависимости.
Скрипты PlayOnLinux активно используют WINEPREFIX и устанавливают каждое приложение свой собственный WINEPREFIX. Это означает, что работа разных программ не влияет друг на друга, и вы легко можете удалить любую из них никак не затронув другие.
PlayOnLinux имеет набор собственных функций, которые можно вызывать из скриптов. Эти функции позволяют устанавливать необходимые библиотеки, dll файлы, среды выполнения и прочее.
В своей работе программа создаёт WINEPREFIX из разных версий Wine. То есть если для работы программы рекомендована определённая версия Wine, то именно эта версия и будет использоваться.
- очень удобный графический интерфейс, для установки программ не нужно вводить команды, достаточно кликать мышкой
- простата в использовании — выберите мышкой нужную игру или программу и установите её
- качественная и обширная база игр и программ для установки
- хорошая актуальность скриптов установки, активно поддерживаемая сообществом
- доступ к настройкам Wine, отсутствующим в его графическом интерфейсе
- возможность поменять версию Wine для уже установленных программ
- возможность установить программы и игры из локального установщика, диска или скачать установщик
- автоматическое скачивание установщиков бесплатных программ
Особенность этой программы в том, что в скриптах PlayOnLinux явно указывается версия Wine. Это касается даже беспроблемных программ, которые нормально работают на любых версиях Wine. Но поскольку версию Wine необходимо указать явно, то указывается последняя версия на момент написания скрипта. В результате при установке разных программ, PlayOnLinux загрузит разные версии Wine. Каждая версия Wine плюс префикс занимают достаточно много места.
Это означает, что если вы хотите установить какое-нибудь простое приложение, не требующее установку дополнительных программ, установите его с помощью Wine, не используя PlayOnLinux — это поможет сэкономить вам несколько сотен мегабайт места на диске.
Установка PlayOnLinux в Debian, Kali Linux, Linux Mint Ubuntu и их производные:
Установка PlayOnLinux в Arch Linux, BlackArch и их производные:
Чтобы установить программу в PlayOnLinux, нажмите кнопку «Установка».
Выберите категорию и программу или игру в ней, которую вы хотите установить и опять нажмите кнопку «Установка» (внизу окна).
Далее будет показано окно с важными рекомендациями:
- если программа даёт возможность выбрать место установки, всегда устанавливайте на диск C: и вообще не меняйте место установки по умолчанию
- если установщик спрашивает «Запустить программу сейчас?», то всегда выбирайте «Нет»
- если программа спрашивает «Перезагрузить компьютер сейчас?» вы можете выбрать «Да», но это не означает, что вам нужно перезагружать хостовую систему (если проще — можете ответить как угодно и ничего не делайте)
Информация о выбранной программе для установки.
И вот здесь то, о чём говорилось выше — установочный файл 7-Zip размером меньше 2 мегабайт и сама программа после установки занимает примерно столько же. Но для неё качается указанная в скрипте версия Wine, которая занимает почти 300 мегабайт, плюс в развёрнутом виде префикс также будет занимать место.
Если программа бесплатная, то вы можете выбрать загрузку из сети или указать установщик на вашем компьютере, если вы скачали программу заранее.
Для некоторых программ предлагается установить с диска или из Steam’а.
Запускается обычный установщик выбранной программы.
После установки, ярлык выбранной программы добавляется в меню, на рабочий стол, а также в PlayOnLinux.
Для каждой установленной программы вы можете сделать тонкую настройку. Например, выбрать другую версию Wine.
Вы можете выполнить стандартные действия для данного префикса в графическом интерфейсе PlayOnLinux.
При необходимости, вы можете установить дополнительные компоненты — всякие среды выполнения, недостающие DLL, программы Windows и очень многое другое.
Вы можете изменить настройки экрана — насколько я понимаю, в Wine напрямую это можно сделать только редактированием реестра Windows.
На последней вкладке настроек вы можете выбрать произвольный .exe файл для выполнения на данном виртуальном диске (префиксе).
Winetricks
Winetricks — это простой способ решения различных задач в Wine связанных с установкой программ и игр и настройкой Wine.
Winetricks — это вспомогательный скрипт для загрузки и установки различных распространяемых библиотек времени выполнения, необходимых для запуска некоторых программ в Wine. Они могут включать замену компонентов Wine с использованием библиотек с закрытым исходным кодом.
У Winetricks есть графическое меню поддерживаемых игр/приложений, для которых он может выполнять последовательные действия. Он также позволяет устанавливать недостающие библиотеки DLL и настраивать различные параметры Wine. Вы можете выбрать префикс, в который вы хотите установить приложение или изменить настройку.
Установка Winetricks в Debian, Kali Linux, Linux Mint Ubuntu и их производные:
Установка Winetricks в Arch Linux, BlackArch и их производные:
Если в репозитории вашего дистрибутива отсутствует Winetricks, либо вы хотите самую последнюю версию, то для установки и запуска достаточно выполнить команды:
У программы графический интерфейс. В открывшемся окне вы можете сразу выполнить действия в префиксе по умолчанию или создать новый префикс:
Пример действий после выбора префикса:
Создание нового префикса — достаточно выбрать его битность и название.
Новый префикс добавлен в список и теперь вы можете выбрать его для установки программ и выполнения других действий:
Пример настроек, которые вы можете поменять для выбранного префикса:
Пример программ для установки:
В Winetricks выполняемые по установке действия называются verbs, то есть буквально «глаголы». Каждый глагол устанавливает приложение или изменяет настройки. В дальнейшем в качестве verb будут использоваться слова «действие» и «глагол».
При запуске без параметров winetricks отображает графический интерфейс со списком доступных пакетов. Если вам известны имена пакетов, которые вы хотите установить, вы можете добавить их в команду winetricks, и процесс установки сразу же начнётся. Например, команда
установит пакеты corefonts и vcrun6.
Как и все команды Wine, winetricks знает о переменной среды WINEPREFIX. Это полезно для использования winetricks с разными расположениями префиксов Wine. Например,
устанавливает пакет mfc40 в папку
Пользователи с более чем одной версией Wine в своей системе (например, установленный пакет и неустановленный Wine, созданный из git) могут указать, какую версию Winetricks следует использовать. Например,
устанавливает пакет mfc40 с помощью Wine в каталог
Что лучше, PlayOnLinux или Winetricks?
Некоторые действия у PlayOnLinux или Winetricks пересекаются, то есть одну и ту же программу можно установить как через PlayOnLinux, так и через Winetricks, что выбрать?
Во-первых, если это простая для установки в Linux программа, не требующая зависимостей, например, foobar2000 или 7-Zip, то не используйте ни одну из этих программ — установите её напрямую, поскольку PlayOnLinux создаст новый виртуальный диск и загрузит новую версию Wine (много места), а Winetricks почти наверняка скачает старую версию (хотя скрипт обновляется почти каждый день, многие ссылки в нём успевают устаревать).
Во-вторых, если вам нужно установить зависимость или программу для которой требуются дополнительные компоненты, то я бы рекомендовал PlayOnLinux просто как более простой вариант. Но если вы хотите установить компонент не в новый префикс, а в уже имеющийся префикс, то удобнее воспользоваться Winetricks, так как в нём нет обязательной стадии создания нового виртуального диска.
Использование реестра и Regedit
Все настройки, которые вы изменяете в winecfg, за исключением настроек диска, в конечном итоге сохраняются в реестре. В Windows это центральный репозиторий для конфигурации приложений и операционной системы. Точно так же Wine реализует реестр, и некоторые настройки, которых нет в Winecfg, могут быть изменены в нём.
Структура реестра
Реестр Windows представляет собой сложную древовидную структуру, и даже большинство программистов Windows не полностью осведомлены о том, как устроен реестр с его различными «кустами» и многочисленными связями между ними; полное описание выходит за рамки этого документа. Но вот основные ключи реестра, о которых вам, возможно, нужно знать сейчас:
- HKEY_LOCAL_MACHINE
Этот основной корневой ключ (в win9x он хранится в скрытой файловой системе system.dat) содержит всё, что относится к текущей установке Windows. Часто это сокращённо называют HKLM.
Этот основной корневой ключ (в Win9x он хранится в скрытом файле user.dat) содержит данные конфигурации для каждого пользователя установки.
- HKEY_CLASSES_ROOT
Это ссылка на HKEY_LOCAL_MACHINE\Software\Classes. Он содержит данные, описывающие такие вещи, как ассоциации файлов, обработчики документов OLE и классы COM.
- HKEY_CURRENT_USER
Это ссылка на HKEY_USERS\ваше_имя, то есть вашу личную конфигурацию.
Файлы реестра
Теперь вы, вероятно, задаётесь вопросом, как это переводится в структуру Wine. Описанный выше макет реестра на самом деле находится в трёх разных файлах в каталоге
/.wine каждого пользователя:
Этот файл содержит HKEY_LOCAL_MACHINE.
Этот файл содержит HKEY_CURRENT_USER.
Этот файл содержит HKEY_USERS\.Default (т.е. пользовательские настройки по умолчанию).
Эти файлы автоматически создаются при первом использовании Wine. Набор глобальных настроек хранится в файле wine.inf и обрабатывается программой rundll32.exe. При первом запуске Wine файл wine.inf обрабатывается для заполнения исходного реестра. Реестр также обновляется автоматически при изменении wine.inf, например, при обновлении до более новой версии Wine.
Не рекомендуется редактировать эти файлы для изменения реестра, поскольку они управляются внутри Wine. Используйте regedit.exe, reg.exe или любую программу, которая использует стандартные функции реестра.
Использование Regedit
Лёгкий способ получить доступ к реестру и изменить его с помощью инструмента regedit.
Подобно программе Windows, которую он заменяет, regedit служит для обеспечения представления системного уровня реестра, содержащего все ключи. Когда вы запустите её, вы сразу заметите, что загадочные ключи, отображаемые в текстовом файле, организованы в виде иерархии.
Чтобы перемещаться по реестру, нажимайте пункты слева, чтобы перейти к подпунктам. Чтобы удалить ключ, щёлкните его и выберите «Удалить» в меню «Правка». Чтобы добавить ключ или значение, найдите, куда вы хотите поместить его, и выберите «Создать» в меню «Правка». Точно так же вы изменяете существующий ключ, выделяя его на правой панели окна и выбирая «Изменить» в меню «Правка». Другой способ выполнить те же действия — щёлкнуть правой кнопкой мыши ключ или значение.
Особый интерес для пользователей Wine представляют настройки, хранящиеся в HKEY_CURRENT_USER\Software\Wine. Большинство настроек, которые вы изменяете в winecfg, записываются в эту область реестра.
Полный список ключей реестра
В вики вы найдёте актуальный список полезных ключей и значений реестра.