запуск приложений под wine

Wine (Русский)

Wine — слой совместимости, позволяющий запускать приложения Microsoft Windows в Unix-подобных операционных системах. Программы, запущенные в Wine, работают так же, как и «родные» — без потерь производительности и увеличения потребления памяти, характерных для эмуляторов.

Contents

Установка

Чтобы установить Wine, подключите репозиторий multilib и установите пакет wine (development-версия) или wine-staging (testing). Wine Staging — пропатченная версия Wine с исправлениями багов и некоторыми возможностями, которые ещё не были добавлены в stable- и development-версии. См. также #Графические драйвера и #Звук.

Сторонние приложения

Перечисленные ниже приложения являются отдельными проектами, с собственными сообществами и веб-сайтами, и не поддерживаются основным сообществом Wine. Подробности можно найти в Wine Wiki.

Настройка

Настройка Wine обычно выполняется следующими инструментами:

WINEPREFIX

По умолчанию Wine хранит файлы настроек и установленные программы Windows в каталоге

С помощью переменной окружения WINEPREFIX можно задать произвольный каталог для префикса. Это удобно, если вы хотите использовать разные настройки для разных Windows-программ. Когда программа впервые запускается с новым префиксом, Wine автоматически создает каталог с чистым диском C и реестром.

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

WINEARCH

Также WINEARCH можно совместить с другими программами Wine вроде winetricks (Steam взят для примера):

Узнать архитектуру существующего префикса можно в файле реестра. Следующая команда считывает системный реестр префикса

/.wine и возвращает строку #arch=win32 или #arch=win64 в зависимости от типа архитектуры:

Графические драйвера

Вам придётся установить 32-битную версию вашего графического драйвера. Выберите нужный пакет из столбца OpenGL (multilib) в таблице Xorg#Установка драйвера.

Верным признаком того, что ваш драйвер не подходит или неправильно настроен, будет следующее сообщение Wine в окне терминала:

При запуске приложений в Wine могут возникнуть некоторые проблемы со звуком. Убедитесь, что в winecfg выбрано только одно звуковое устройство.

Установите необходимые вашему аудиодрайверу пакеты:

Если 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-разъём.

Прочие зависимости

Некоторым приложениям могут потребоваться дополнительные пакеты для различных целей:

Шрифты

Если в приложении Wine шрифты отображаются неразборчиво, проблема может быть в том, что они просто не установлены. Вы можете настроить Wine, чтобы он использовал системные шрифты:

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

Если шрифты выглядат немного смазанными, импортируйте следующий текстовый файл в реестр Wine с помощью regedit:

Для мониторов с высоким разрешением значения dpi можно задать в winecfg.

Сглаживаение шрифтов

Хороший способ улучшить рендеринг шрифтов в Wine — включить сглаживание ClearType. Следующий скрипт включит режим «Subpixel smoothing (ClearType) RGB»:

Иконки рабочего стола

Пункты меню для утилит Wine

По умолчанию, при установке Wine пункты меню и иконки для относящихся к Wine программ (например, winecfg, winebrowser и т.д.) не создаются. Чтобы это исправить, установите мета-пакет wine-installer AUR или wine-installer-git AUR (у последнего есть дополнительные зависимости) или следуйте инструкциям ниже.

Во-первых, установите любую программу Windows, чтобы Wine создал меню. Затем создайте файлы со следующим содержанием в каталоге

После этого создайте следующий файл в каталоге

Если с этими настройками иконки выглядят уродливо (или не появились вовсе), то их нет среди доступных. Необходимо заменить настройки явным указанием расположения желаемых иконок. Того же можно добиться правым кликом по иконке и изменением настроек. Большой набор иконок для ярлыков можно найти в GNOME-colors.

Удаление пунктов меню

Созданные Wine пункты меню хранятся в каталоге

Кроме того, чтобы удалить нежелательные расширения Wine, выполните следующие команды (источник — сайт Wine):

Внешний вид

Оформление в стиле XP можно загрузить отсюда. Руководство по установке можно найти здесь. После установки выберите тему оформления в winecfg.

Пользователи Wine Staging могут вместо этого включить опцию Enable GTK3 Theming в разделе Staging winecfg. Будет выбрана текущая GTK-тема.

Печать

Wine также могут потребоваться специальные разрешения (capability) на доступ к сети по протоколу ICMP (пинги) (см. WineHQ FAQ):

Если после этого возникают проблемы (например, при обработке исключений или привилегированных команд), для удаления capability выполните:

Использование

Общую информацию об использовании Wine можно найти на странице Wine User’s Guide.

Запуск конкретных приложений Windows в Wine описан на странице Wine Application Database (AppDB).

Wayland

В настоящее время Wine не поддерживает Wayland напрямую, но вы можете использовать XWayland.

Некоторые попытки реализовать поддержку Wayland:

Советы и рекомендации

Wineconsole

Часто появляется необходимость запустить .exe-файл, чтобы пропатчить файлы игры, например, добавить поддержку широкоформатного экрана в старую игру. Запуск .exe-файла в Wine обычным способом ни к чему не приведёт. В этом случае откройте терминал и выполните:

Затем перейдите в каталог с .exe-файлом и запустите его.

Winetricks

Winetricks — скрипт, помогающий установить базовые зависимости, необходимые программам Windows. Устанавливаются DirectX 9.x, MSXML (для Microsoft Office 2007 и Internet Explorer), библиотеки Visual Runtime и многое другое.

Производительность

Имейте в виду, что для некоторых приложений CSMT может привести к обратному эффекту — к снижению производительности. В этом случае отключите его вручную, создав/изменив значение в реестре на 0x00 (отключено).

Режим OpenGL в играх

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

DXVK — новая многообещающая реализация DirectX версий 9, 10 и 11 поверх Vulkan. Значительно повышает производительность и в некоторых случаях обеспечивает даже лучшую совместимость. Battlefield 1, например, работает только под DXVK. С другой стороны, на данный момент DXVK поддерживает не все игры Wine.

Gallium Nine

Для открытых драйверов на основе Gallium (в основном карты AMD) существует проект трекера состояний Gallium Direct3D, который ставит целью добиться производительноси, сравнимой с нативными показателями DirectX 9. В большинстве случаев выдаёт вдвое большую производительность, чем стандартный Wine, и меньшее количество визуальных помех. Потреблене времени центрального процессора значительно ниже по сравнению с CSMT.

Удаление ненужных файловых ассоциаций

Ассоциации Wine хранятся в каталоге

После этого очистите кэш:

В качестве альтернативы можно удалить все файлы, относящиеся к Wine:

После этого тоже обновите кэш, как показано выше.

Имейте в виду, что Wine может создать новые ассоциации и даже пересоздать удалённые, если того потребует какое-нибудь приложение.

Запрет на создание файловых ассоциаций

Если вы хотите запретить Wine создавать файловые ассоциации, запустите winecfg и уберите галочку «Manage File Associations» на вкладке Desktop Integration. Подробнее см. Wine FAQ.

Чтобы сделать то же самое, но с помощью реестра, добавьте строку Enable со значением N в

Предотвратить перезапись изменённых файлов при обновлении пакета можно создав хук pacman, который будет вносить изменения автоматически:

Неявный запуск бинарников Windows

Два монитора с разными разрешениями

Кроме того, установка пакета lib32-libxinerama поможет решить некоторые другие проблемы работы с двумя мониторами в Wine: ненажимаемые иконки и пункты меню, плохая отрисовка интерфейса приложения, зависание курсора мыши и т.п.

Прожиг оптического носителя

Монтирование образов оптических дисков

Приложения могут проверять наличие оптического диска в дисководе. Иногда это просто проверка присутствия данных, и в этом случае будет достаточно с помощью winecfg настроить определённый путь в файловой системе выступать в качестве привода CD-ROM. Другие приложения могут проверять название носителя и/или серийный номер, и в этом случае потребуется смонтировать соответствующий образ.

Некоторые утилиты для работы с виртуальными дисками, в том числе основанные на fuse, не умеют работать с такими метаданными — например, Acetoneiso. CDEmu, наоборот, работает вполне корректно.

Показ FPS в играх

Отдельная учётная запись для запуска Wine

Поскольку приложения Windows имеют доступ к вашей домашней директории, имеет смысл создать отдельную учётную запись для работы только с Wine.

Первым делом создайте саму учётную запись:

Затем переключитесь в другую виртуальную консоль и запустите оконный менеджер или окружение рабочего стола (или прото читайте дальше).

Чтобы теперь запускать Wine от новой учётной записи, необходимо добавить её в список разрешений X server:

Наконец, можно запускать Wine, передав ему с помощью env необходимые переменные окружения:

Процесс запуска приложений Windows в Wine можно автоматизировать с помощью скрипта:

Теперь приложение Wine запустится следующей командой:

Рекомендуется также запустить winecfg от пользователя Wine, и в окне настроек (раздел «Desktop Integration») убрать привязки ко всем каталогам за пределами домашнего. Так Wine будет иметь доступ только к нему и ни к чему более.

Правда, нужно иметь в виду, что при таком способе работы в приложениях, использующих PulseAudio, может перестать работать звук. В статье PulseAudio/Примеры#Одновременное использование PulseAudio несколькими пользователями описано, как дать пользователю Wine доступ к демону PulseAudio основного аккаунта.

Каталог Temp в tmpfs

По умолчанию Wine записывает временные файлы на физический носитель, но можно использовать для этого файловую систему tmpfs. Удалите текущий каталог для временных файлов и создайте символическую ссылку на новый:

Запрет на установку Mono/Gecko

Vulkan

В Wine 3.3 была добавлена поддержка Vulkan. Базовый ICD-загрузчик Vulkan в большинстве приложений работает вполне нормально, но в нём отсутствуют некоторые продвинутые возможности вроде Vulkan layers. Чтобы получить к ним доступ, установите официальный Vulkan SDK (см. шаг 2-4 на GitHub-странице автора патча).

Удаление файловых привязок

По соображениям безопасности полезно удалить предустановленные привязки Wine, чтобы приложения Windows не могли быть запущены напрямую из файлового менеджера или браузера (Firefox предлагает открыть EXE-файлы сразу в Wine!).

Чтобы это сделать, добавьте следующие строки в раздел [options] файла /etc/pacman.conf :

Решение проблем

Общие советы по решению возможных проблем можно найти на страницах Wine User’s Guide и Wine FAQ (прежде всего в разделе Решение проблем).

Советы для конкретных приложений можно найти в Wine AppDB.

Проблемы с XWayland

Если вы используете Wine в XWayland, опция «Эмуляция виртуального рабочего стола» на вкладке Graphics в winecfg позволяет решить следующие проблемы:

Источник

Основы работы с Wine для начинающих

Введение

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

Wine — это отдельная реализация Windows API, а не эмулятор, как большинство
думают. Не единожды повторялось, но и здесь будет уместно. Это и делает проект
уникальным и интересным для пользователей различных систем, открывает различные
пути для реализации своих идей. Уникальность заключается в том, что с помощью
этой программы можно запускать Windows приложения в Ubuntu и в других
Linux системах, а также во FreeBSD и в Mac OS X. Правда и тут есть
свои «подводные камни». Некоторые думают что будет легко перейти с одной
системы на другую, в данном случае мы рассматриваем Windows и Linux.

Заблуждение заключается в том что люди думают что у них получиться запустить из
под Wine различный софт, к которому они привыкли и им удобно в нем работать.
Как не крути просто так ничего не бывает. Чтобы заработал наш любимый софт под
Wine нужно попотеть, перечитать кучу руководств и взвесить этот объём
информация. Конечно не совсем софтом придется «пыжиться», но готовым надо быть ко всему. Проект Wine развивается очень быстро, но до стабильной работы ему
очень далеко. Но думаю что в скором будущем весь основной софт, а также игры
будут работать на нем стабильно.

Установка Wine

Первый вопрос человека который только что перешёл на Linux (в нашем случае
Ubuntu): «Как я буду запускать программы из Windows?». Он начинает поиск на эту
тему и естественно натыкается на Wine.
Второй вопрос: «Как его поставить?». Есть два способа: Поставить из
официальных репозиториев или скомпилировать самому из исходников. Мы рассмотрим
оба варианта.

Вариант 1: Установка из репозитория.

Тут все очень просто. Идем в Приложения // Стандартные // Терминал:

sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get update
sudo apt-get install wine1.3

Ждем завершения установки…
Всё! Wine установлен и можно пробовать устанавливать игры и программы.

Вариант 2: Компилирование из исходников.

1.Скачиваем исходники с официального сайта, там они присутствуют. В моё случае
это Wine 1.3.11 (http://sourceforge.net/projects/wine/files/Source/wine-1.3.11.tar.bz2/download).

2. Распаковываем исходники.
Дальше вводим в терминале следующие команды:

переходим в директорию, в которую был распакован архив с исходными текстами:

Перед компиляцией надо включить поддержку OpenGL. Если мы этого не сделаем
приложения которым нужен OpenGL работать не будут. В терминале:

Находим строку, начинающуюся с CONFARGS=, и после вписываем в нее нужные
параметры сборки. В нашем случае строка будет выглядеть так:

Устанавливаем через создание пакета, вместо make install

Всё. Ждем окончания установки.

Есть ещё промежуточный вариант, для джедаев на debian-based дистрибутивов. Кратко:

apt-get source wine1.3
sudo apt-get build-dep

Теперь самое интересное: скачиваем нужную версию wine с официального сайта, распаковываем, и копируем туда директорию debian из директории с исходниками оригинального пакета wine1.3. Делаем

и у нас появляется *.deb пакет для убунты/дебиана со всеми нужными патчами для дистрибутива, почти как из официального репозитория, но только новая версия. К тому же её ещё потом можно спокойно удалить так же через apt-get.
Рассмотрим плюсы и минусы каждого из вариантов.

Вариант 1.
Плюсы:
1. За нас уже все собрано и пыжиться не надо, все уже готово к употреблению.

Минусы:
1. Мы не сможем применить патч, например для улучшения работы какой нибудь игрушки.
2. Не стабильная работа на некоторых видеокартах.

Вариант 2.
Плюсы:
1. Возможность применить патчи для улучшения работы
2. Стабильная работа с не стабильными драйверами видеокарт.

Минусы:
1. Нет меню в Приложениях, что не удобно. Приходиться все делать из консоли,
выходить в настройки Wine например.
2. Процесс установки слишком долгий, зависит от мощности вашего компьютера.
1. Нет меню в Приложениях, что не удобно. Приходиться все делать из консоли, выходить в настройки Wine например.»

Можно самому добавить через Система — Параметры — Главное меню

Я отдаю предпочтение второму варианту. Wine установленный таким образом работает
лучше, чем установленный из репозиториев. Но это лишь мое маленькое ИМХО.

Установка программ и игр

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

Если программа работает без проблем, значит с чистой душой её устанавливаем
простым кликом. Если это какая нибудь серьёзная игра или программа и без
шаманства с бубном не обойтись — значит надо создавать отдельный префикс* для
наших танцев. * Все файлы вайна хранятся в префиксе, или ещё называемом бутылкой (по анологии с вином/wine). Там внутри этой бутылки имеются все файлы диска C, реестр, индивидуальные настройки и так далее.

Таких бутылок может быть сколько угодно.

Просто может быть какой-то софт, который ведёт себя очень капризно под вайном и для него нужны какие-то костыли, которые будут мешать нормальной работе других приложений вайна. Тогда просто этот софт ставим в отдельную бутылку (префикс) и любые настройки не будут влиять на другие программы.

Когда вайн запускается в первый раз без указанного префикса, используется

Всё. Отдельный префикс создан. Там хранятся различные конфигурации реестра и сами программы.
Установку программы также производим через консоль.

WINEPREFIX=»/home/username/.wine2/» wine /media/DVD/setup.exe

Идет процесс установки и самое главное в отдельный префикс.
Потом мы запускаем уже установленную программу, также из консоли и смотрим вывод.

В выводе могут быть ошибки, о том что нет нужных компонентов и библиотек. В
установке недостающих компонентов нам поможет winetricks (см. ниже)

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

Winetricks

В правильной настройке префикса нам поможет winetricks.
Winetricks — это скрипт, который устанавливает различные компоненты, которые
требуются для работы приложения, например DirectX, Vcredist и многое другое.
Как это скрипт работает? Он скачивает библиотеки и компоненты с
Microsoft-овских ресурсов. Именно так, и не как по другому. Зачем этот скрипт
нужен? Это очень упрощает работу с Wine-ом. Без скрипта мы бы сами лазили и
искали нужные компоненты, а тут уже все сделано, надо только поставить галочку
и нажать «Установить» Также этот скрипт помогает редактировать реестр,
вписывать туда различные ключи. И помимо этого в winetricks есть много настроек
и функций.

Для ознакомления с ним просто введите в терминале winetricks

Редактирование реестра

В терминале вводим:

Мы в реестре. Редактировать нам ничего не надо, мы будет только добавлять.

Идем в HKEY_CURRENT_USER/Software/Wine/Direct3D.

Если каталога Direct3D нет, то не отчаиваемся. Я это пишу чтобы читатель понял
где-то надо редактировать или добавлять.

winetricks ddr=opengl orm=fbo glsl=disabled videomemorysize=1024
(1024 меняете на свое)

Все эти параметры появиться в реестре. Это можно посмотреть в папке указанной выше.

Что это дает? Это улучшает производительность в играх, скорость и вообще игры
работают от этого лучше, но это только для игр.

PlayOnLinux

Также существует PlayOnLinux. Это отдельная программа, которая использует Wine,
но там более все автоматизированно и настроено. Программа сама скачает нужный
Wine, установит компоненты и создаст отдельный префикс. Но это не значит что
все будет идеально работать. Может вообще не работать. Так что я отдаю свое
предпочтение обычному Wine, ручной настройке и работе собственного мозга, а не
автоматизированной программе.

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

Минусы:
Все что делает программа, устанавливает и скачивает предугадать невозможно.
Все что делает программа можно сделать самому, ручками, это + к знаниям человека.
Программа «Робот» никогда не сравнится с человеческим мозгом.

Монтирование образов CD/DVD-дисков

В Windows есть для этого утилита под названием Daemon-Tools. Это очень удобная
и не заменимая утилита. У человека возникает вопрос: Есть ли аналог этой
чудо-утилиты? Ответ: Есть и на много лучше Windows утилиты. Называется она
Cdemu. Для её установки нам требуется ввести всего лишь три команды:

sudo add-apt-repository ppa:cdemu/ppa
sudo apt-get update
sudo apt-get install cdemu-daemon cdemu-client gcdemu

Добавляем аплет на панель, указываем путь к образу и радуемся жизни. Не каких
проблем не будет и Wine будет отлично определять образ. Если аплета не находим не торопитесь перезагружаться.
В терминале вводим команды:

sudo service cdemu-daemon start

Если сервис не стартует при старте системы («The daemon is configured not to start at system startup»), можно исправить так:

sudo update-rc.d cdemu-daemon enable

Запуск игр в отдельном Х-сервере

Этому можно посветить целую книгу, но я остановился на одном способе, которым всегда пользуюсь:

Переходим в виртуальный терминал:

Ctrl + Alt + F1
login: ******
password: ******

Запускаем вручную новую копию X-сервера:

Прирост от этого не большой, но лично мне этого хватает. Ещё раз повторю:
способов запуска в отдельном х-сервере много и каждый человек волен сам выбирать.

Заключение

Все эти советы, азы, которые должен знать каждый человек который хочет
использовать 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:

Позволяет программе Windows взаимодействовать с:

Как вы можете увидеть, список впечатляющий и позволяет, к примеру, запускать игры для которых требуется 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 для вашего дистрибутива через менеджер пакетов.

Но имеется несколько очень важных замечаний:

Главное, что из этого следует — даже при установке 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, то сделайте так:

запуск приложений под wine

запуск приложений под wine

Обратите внимание, насколько экономно используется оперативная память — для работы Router Scan by Stas’M в Kali Linux нужен всего 1 мегабайт оперативной памяти. Если бы для запуска этой программы мы устанавливали Windows в виртуальную машину, то потребовалось бы несколько гигабайт для работы ОС. К тому же, при использовании Wine необязательно, чтобы процессор поддерживал виртуализацию — в отличие от VirtualBox и других аналогичных способов запуска виртуальных компьютеров.

запуск приложений под wine

Запуск в командной строке

Использование wine start

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

Вы можете указать Wine путь в стиле DOS или Windows в одинарных кавычках, например:

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

Если вы предпочитаете использовать путь в стиле Unix, используйте параметр /unix для запуска, например:

Передача аргументов командной строки Windows

Если вы используете программу с аргументами в Windows, например:

То вы можете сделать то же самое в Wine, запустив:

То есть командная строка идентична, за исключением wine перед ней. Обратите внимание, однако, что вам может потребоваться экранировать некоторые специальные символы обратной косой чертой из-за того, как они обрабатываются в оболочке Linux. Например:

Файлы MSI нельзя запускать напрямую; вам нужно использовать либо программу Wine msiexec, либо запуск Wine с терминала:

Графическая среда Wine в стиле Explorer

Если вы предпочитаете использовать графический интерфейс для управления файлами, возможно, вам стоит рассмотреть возможность использования winefile. Это приложение Winelib поставляется с Wine и может быть найдено с другими программами Wine. Это полезный способ просмотреть конфигурацию вашего диска и найти файлы, а также вы можете запускать программы прямо из Winefile. Обратите внимание, что многие функции ещё не реализованы.

Чтобы его открыть выполните:

Вы можете запустить файл .bat разными способами:

1. Выполните команду

2. Выполните команду

И найдите в окне Проводника нужный вам файл.

чтобы сразу попасть в нужную папку.

Если вы используете путь до файла в файловой системе Linux, то обязательно нужно указать опцию /unix.

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

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

Если программа распространяется в виде установщика (инсталлятора), то просто запустите этот установщик с помощью Wine. В большинстве случаев всё пройдёт как в Windows, будет выполнена обычная установка и на рабочем столе вашей Linux и в меню появится ярлык для запуска программы.

запуск приложений под wine

Для портативной программой вы также можете сделать ярлык. Для этого кликните правой кнопкой мыши по рабочему столу и выберите пункт «Создать кнопку запуска здесь» (в Cinnamon), «Создать значок запуска» (в XFCE) или аналогичный пункт.

Обычно есть возможность установить иконку, в том числе присутствуют иконки программ, когда-либо запускаемых в Wine.

Даже если «мастер значка запуска» позволяет указать рабочий каталог, то лучше не полагаться на него. В качестве команды запуска укажите команду вида:

То есть команда для выполнения включает в себя две подкоманды — переход в нужный каталог и запуска исполнимого файла.

К примеру, исполнимый файл находится в папке /home/mial/.wine/drive_c/Program Files (x86)/foobar2000/ и называется foobar2000.exe, тогда команда запуска следующая:

запуск приложений под wine

Обратите внимание, что:

Другой пример, когда файл находится не на диске Wine: нужно создать ярлык для запуска файла /mnt/disk_d/Share/Conses/ConsFed/cons.exe, тогда команда запуска следующая:

запуск приложений под wine

Если для работы программы необходима специальная версия Wine или дополнительные компоненты, то можно найти скрипты, которые упрощают их установку, о них будет позже в разделах, посвящённых PlayOnLinux и winetricks.

Встроенные в Wine программы

В Wine имеется несколько встроенных «стандартных программ Windows».

Блокнот

Редактор реестра

Более подробно о реестре и редакторе реестра будет ниже.

Проводник

Чтобы открыть проводник, выполните команду:

Диспетчер задач

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

Игра «Сапёр»

Браузер Internet Explorer

На самом деле, это не настоящий IE — это браузер на основе Firefox.

При желании, можно установить старые версии Internet Explorer, но даже Windows в последних версиях отказалась от использования IE и перешла на веб-браузер на основе Chrome.

Командная строка Windows

Для запуска выполните:

Встроенные команды CMD:

для дополнительной информации по перечисленным командам

Установщик MSI файлов

Панель управления

Для запуска выполните:

Как удалить программу из Wine

Чтобы удалить программу из Wine, перейдите в настройки «Установка/удаление программ», для этого выполните:

запуск приложений под wine

Далее выберите программу для удаления и нажмите кнопку «Изменит/удалить». Ярлыки, созданные во время установки, будут удалены автоматически.

Файловая система Wine

По умолчанию физически файлы размещены в папке

/.wine. То есть если вы хотите «переустановить Windows», то есть полностью удалить все настройки и установленные программы, то можете удалить эту папку. Но помните, что сделанные в меню и на рабочем столе ярлыки останутся, поскольку расположены в других местах.

При использовании WINEPREFIX (об этом позже), будет использоваться другая папка для хранения файлов.

Вы можете изменить это, для этого откройте «Настройки Wine» и перейдите на вкладку «Диски»:

запуск приложений под 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, то именно эта версия и будет использоваться.

Особенность этой программы в том, что в скриптах PlayOnLinux явно указывается версия Wine. Это касается даже беспроблемных программ, которые нормально работают на любых версиях Wine. Но поскольку версию Wine необходимо указать явно, то указывается последняя версия на момент написания скрипта. В результате при установке разных программ, PlayOnLinux загрузит разные версии Wine. Каждая версия Wine плюс префикс занимают достаточно много места.

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

Установка PlayOnLinux в Debian, Kali Linux, Linux Mint Ubuntu и их производные:

Установка PlayOnLinux в Arch Linux, BlackArch и их производные:

Чтобы установить программу в PlayOnLinux, нажмите кнопку «Установка».

запуск приложений под wine

Выберите категорию и программу или игру в ней, которую вы хотите установить и опять нажмите кнопку «Установка» (внизу окна).

запуск приложений под wine

Далее будет показано окно с важными рекомендациями:

запуск приложений под wine

Информация о выбранной программе для установки.

запуск приложений под wine

И вот здесь то, о чём говорилось выше — установочный файл 7-Zip размером меньше 2 мегабайт и сама программа после установки занимает примерно столько же. Но для неё качается указанная в скрипте версия Wine, которая занимает почти 300 мегабайт, плюс в развёрнутом виде префикс также будет занимать место.

запуск приложений под wine

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

запуск приложений под wine

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

Запускается обычный установщик выбранной программы.

запуск приложений под wine

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

запуск приложений под wine

Для каждой установленной программы вы можете сделать тонкую настройку. Например, выбрать другую версию Wine.

запуск приложений под wine

Вы можете выполнить стандартные действия для данного префикса в графическом интерфейсе PlayOnLinux.

запуск приложений под wine

При необходимости, вы можете установить дополнительные компоненты — всякие среды выполнения, недостающие DLL, программы Windows и очень многое другое.

запуск приложений под wine

Вы можете изменить настройки экрана — насколько я понимаю, в Wine напрямую это можно сделать только редактированием реестра Windows.

запуск приложений под wine

запуск приложений под wine

Winetricks

Winetricks — это простой способ решения различных задач в Wine связанных с установкой программ и игр и настройкой Wine.

Winetricks — это вспомогательный скрипт для загрузки и установки различных распространяемых библиотек времени выполнения, необходимых для запуска некоторых программ в Wine. Они могут включать замену компонентов Wine с использованием библиотек с закрытым исходным кодом.

У Winetricks есть графическое меню поддерживаемых игр/приложений, для которых он может выполнять последовательные действия. Он также позволяет устанавливать недостающие библиотеки DLL и настраивать различные параметры Wine. Вы можете выбрать префикс, в который вы хотите установить приложение или изменить настройку.

Установка Winetricks в Debian, Kali Linux, Linux Mint Ubuntu и их производные:

Установка Winetricks в Arch Linux, BlackArch и их производные:

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

У программы графический интерфейс. В открывшемся окне вы можете сразу выполнить действия в префиксе по умолчанию или создать новый префикс:

запуск приложений под wine

Пример действий после выбора префикса:

запуск приложений под wine

Создание нового префикса — достаточно выбрать его битность и название.

запуск приложений под wine

Новый префикс добавлен в список и теперь вы можете выбрать его для установки программ и выполнения других действий:

запуск приложений под wine

Пример настроек, которые вы можете поменять для выбранного префикса:

запуск приложений под wine

Пример программ для установки:

запуск приложений под wine

В 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 не полностью осведомлены о том, как устроен реестр с его различными «кустами» и многочисленными связями между ними; полное описание выходит за рамки этого документа. Но вот основные ключи реестра, о которых вам, возможно, нужно знать сейчас:

Этот основной корневой ключ (в win9x он хранится в скрытой файловой системе system.dat) содержит всё, что относится к текущей установке Windows. Часто это сокращённо называют HKLM.

Этот основной корневой ключ (в Win9x он хранится в скрытом файле user.dat) содержит данные конфигурации для каждого пользователя установки.

Это ссылка на HKEY_LOCAL_MACHINE\Software\Classes. Он содержит данные, описывающие такие вещи, как ассоциации файлов, обработчики документов OLE и классы COM.

Это ссылка на 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.

запуск приложений под wine

Подобно программе Windows, которую он заменяет, regedit служит для обеспечения представления системного уровня реестра, содержащего все ключи. Когда вы запустите её, вы сразу заметите, что загадочные ключи, отображаемые в текстовом файле, организованы в виде иерархии.

Чтобы перемещаться по реестру, нажимайте пункты слева, чтобы перейти к подпунктам. Чтобы удалить ключ, щёлкните его и выберите «Удалить» в меню «Правка». Чтобы добавить ключ или значение, найдите, куда вы хотите поместить его, и выберите «Создать» в меню «Правка». Точно так же вы изменяете существующий ключ, выделяя его на правой панели окна и выбирая «Изменить» в меню «Правка». Другой способ выполнить те же действия — щёлкнуть правой кнопкой мыши ключ или значение.

Особый интерес для пользователей Wine представляют настройки, хранящиеся в HKEY_CURRENT_USER\Software\Wine. Большинство настроек, которые вы изменяете в winecfg, записываются в эту область реестра.

Полный список ключей реестра

В вики вы найдёте актуальный список полезных ключей и значений реестра.

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *