Как запустить EXE в Linux: пошаговая инструкция

Шаг 1: Установка Wine

Запуск EXE-файлов в Linux несложно, но найти инструменты для управления ими немного сложно. Wine — программа популярная, аналогов практически нет, а существующие практически никому не известны. Поэтому в сегодняшней статье мы поговорим об этом решении. Начать стоит с добавления его в свой дистрибутив, поскольку Wine недоступен по умолчанию ни в одной сборке ОС на базе Linux.

Метод 1: диспетчер приложений

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

  1. Откройте главное меню, нажав на соответствующую кнопку, и запустите оттуда «Диспетчер приложений».
  2. Найдите кнопку поиска, чтобы открыть строку для ввода названия программы.
  3. Введите Wine и прокрутите список, чтобы найти тот, который работает.
  4. На странице программного обеспечения вас интересует кнопка «Установить».
  5. Чтобы начать этот процесс, вам нужно будет проверить подлинность учетной записи, введя пароль.
  6. Дождитесь завершения установки. Это займет несколько минут, так как Wine — большое приложение.
  7. Затем нажмите кнопку «Выполнить», чтобы выполнить предварительную настройку.

Теперь приступим к рассмотрению альтернативного варианта установки, если он вас не устраивает, а о предварительной настройке установленного инструмента мы поговорим в отдельном шаге этого материала.

Способ 2: официальные репозитории

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

  1. Запустите «Терминал» удобным для вас способом, например через меню приложения или горячую клавишу Ctrl + Alt + T.
  2. В появившейся строке введите sudo apt install wine-stable. Если вы используете дистрибутив, основанный, например, на RedHat, вам следует заменить менеджер пакетов APT на тот, который установлен в текущей сборке. Например, это может быть YUM или Pacman.
  3. Подтвердите действие, введя пароль суперпользователя. Обратите внимание, что введенные таким образом символы никогда не отображаются в консоли, но есть исключения. В некоторых дистрибутивах звездочки появляются при указании символов в строке.
  4. Вы будете уведомлены об увеличении объема используемого пространства. Подтвердите это сообщение, выбрав опцию D.
  5. Дождитесь завершения установки. При этом не закрывайте «Терминал», иначе весь процесс сбросится.

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

Шаг 2: Первый запуск и настройка Wine

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

  1. Запустите программу, например, через «Диспетчер приложений» или введя ее название в консоли.
  2. Дождитесь завершения обновления конфигурации. При этом на экране будут появляться сообщения о необходимости установки надстроек, в том числе .NET Framework и Gecko.
  3. Отобразится графическое меню с индивидуальной конфигурацией. К каждому пункту есть подробное описание на русском языке, поэтому мы предлагаем вам разобраться самостоятельно. Это связано с тем, что все параметры устанавливаются по запросу пользователей.

Это успешно завершает процедуру установки, что означает, что вы можете перейти непосредственно к запуску существующих EXE-файлов.

Способы запуска программ Windows в Linux

Запуск приложений Windows в Linux — это не ракетостроение. Вот различные способы запуска EXE-файлов в Linux:

Использование уровня совместимости

Уровни совместимости Windows могут помочь пользователям Linux запускать EXE-файлы в своей системе. Wine, сокращение от Wine Is Not an Emulator, является популярным уровнем совместимости с Windows, который оправдывает свое название.

В отличие от эмуляторов и виртуальных машин, Wine не запускает программы в Windows-подобной среде, созданной в системе Linux. Вместо этого он просто преобразует системные вызовы Windows в их эквивалентные команды POSIX.

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

Установить и использовать Wine для запуска программ Windows в Linux очень просто. После установки вы можете запустить следующую команду, чтобы запустить EXE с помощью Wine:

винная программа.exe

Пользователи Linux, которые хотят играть в игры только для Windows, могут выбирать между PlayOnLinux, внешней оболочкой для Wine или PortProton. PortProton — помогает запускать все современные игры для Windows в Linux.

Запуск Windows внутри виртуальной машины

Другое решение — запустить EXE-файлы Windows с помощью виртуальных машин. Гипервизор виртуальной машины, такой как VirtualBox, позволяет пользователям устанавливать дополнительную операционную систему, которая работает в их основной операционной системе.

Для этого установите VirtualBox, KVM или VMWare, создайте новую виртуальную машину и установите на нее Windows. Затем вы можете просто загрузить виртуальную машину и запустить Windows в своей операционной системе на базе Linux. Таким образом, вы сможете запускать EXE-файлы и другие программы, как обычно на компьютере под управлением Windows.

Использование эмулятора Виндовс для Линукс

Как скрыть диск в Windows 10 — описание возможных способов

необходимо проанализировать вопрос, как установить EXE на Linux и использовать их без ограничений. Для этого будет использоваться программа Wine, которая по умолчанию включена в некоторые дистрибутивы. Далее мы расскажем, как установить, запустить и настроить Wine (эмулятор Linux Windows).

Установка Wine

Самый популярный способ установить Wine — не использовать диспетчер приложений. Он доступен в некоторых дистрибутивах на основе Debian или RedHat. Это требует:

  1. Перейдите в главное меню операционной системы, нажав соответствующую кнопку.
  2. Запустите оттуда программу под названием «Диспетчер приложений».
  3. Введите «Вино» в строку поиска и нажмите клавишу Enter.
  4. Просмотрите результаты ниже, найдите то, что вам нужно, и нажмите кнопку «Установить» рядом с программой.
  5. Подтвердите учетную запись и введите ее пароль.
  6. Подождите, пока установка завершится, что может занять пару минут.

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

Запуск и настройка Wine

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

Большинство настроек уже сделано за вас, и вам не нужно разбираться в них подробно. Тем не менее, перед запуском первого EXE необходимо выполнить ряд действий.

Затем Vine запускается через диспетчер приложений или командную строку. После завершения обновления параметров появится сообщение о том, что необходимо установить некоторые компоненты и фреймворки. Придется согласиться и немного подождать. Через некоторое время появится графическое меню с индивидуальной конфигурацией. Все параметры должны быть проверены и установлены по желанию. Далее следует перейти к первому запуску EXE в режиме эмуляции.

Обзор инструментов Wine, Winetricks и PlayOnLinux

Итак, если у вас все еще есть срочная задача по запуску Windows-программы в Linux, то есть специальная программа под названием Wine.

Wine — это альтернативная реализация Windows API.

Другими словами, Wine создает условия для запуска программ Windows в Linux. При этом Wine не является эмулятором, т.е это не виртуальная машина, он не эмулирует оборудование, он не эмулирует операционную систему, как я уже отмечал, это альтернативная реализация Windows API, которая позволяет запускать программы Windows на Linux.

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

Чтобы упростить установку и запуск программ Windows в Linux, разработчики также создали специальные инструменты поддержки, которые упрощают всю эту работу.

Эти инструменты включают сценарий Winetricks.

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

Winetricks — это скрипт, упрощающий работу с Wine.

Еще одним инструментом для упрощения установки приложений Windows в Wine является программа PlayOnLinux. Он предназначен для автоматизации установки программ и игр, созданных для Windows, на Linux, т.е может автоматически загружать и устанавливать некоторые программы (игры). Также PlayOnLinux при необходимости может загрузить специальную версию Wine вместе с настройками для конкретной программы и даже внести в программу некоторые исправления для более стабильной работы.

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

По сути, PlayOnLinux — это что-то вроде менеджера программ с графическим интерфейсом, в который можно устанавливать программы, например. Просто выберите программу и начните установку. И так, собственно, если программа есть в списке PlayOnLinux, вы можете установить и запустить ее в Linux, для этого достаточно выполнить несколько простых шагов мастера.

Однако работа с PlayOnLinux и, в частности, с Wine непредсказуема, другими словами, нет стандартного скрипта для установки программ; во время установки любой программы могут (и наверняка появятся) различные ошибки, например, отсутствие пакета или еще чего-то.

Поэтому установка приложений Windows в Linux — дело индивидуальное, и вам не нужно полагаться на стандартный метод установки. И лучше использовать приложения на той платформе, для которой они были разработаны, например. Приложения Windows в Windows и программы Linux в Linux.

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

Упрощённая установка exe в Linux

Рассмотренный нами выше вариант слишком сложен и не очень подходит для новичков. Специально для таких ситуаций были придуманы различные программные решения, такие как PlayOnLinux или CrossOver. Это оболочки над вином, которые уже знают, какие библиотеки установить для той или иной программы. Просто выберите программу, выберите установщик, и тогда программа все сделает за вас.

Утилита Crossover поддерживает множество программ и работают они достаточно хорошо, но единственный недостаток этой программы — она ​​платная. PlayOnLinux бесплатен, но поддерживает гораздо меньше программ.

Как запустить exe на Linux

Рано или поздно вам может потребоваться запускать программы Windows в Linux. Для операционной системы Linux написано огромное количество программ для решения конкретной задачи, возможно, даже несколько десятков программ. Но эта тенденция наблюдается только для распространенных задач, например, для специализированных программ и игр, поэтому ситуация совершенно иная.

Программ для решения узкоспециализированных задач, например, в той же области, что и SEO для Linux, просто нет, а игры только начали появляться в последние несколько лет. Раньше были простые игры с открытым исходным кодом, но популярные игры AAA начали появляться только тогда, когда Valve заинтересовалась этой платформой. Но пока ситуация с играми не такая, как хотелось бы. Следовательно, возникает необходимость устанавливать программы Windows в Linux.

Немного теории

Программы Windows нельзя запустить, просто дважды щелкнув исполняемый файл. Формат исполняемого файла Linux сильно отличается от формата Windows. Поэтому для их запуска нужно использовать специальное программное обеспечение — вино. Название Wine образовано с помощью популярного в мире бесплатного программного обеспечения метода — рекурсивной аббревиатуры и расшифровывается как Wine is not emultor. И правда, вино не эмулятор.

это программа оболочки, которая переводит системные вызовы программ Windows в вызовы функций операционной системы Linux. Таким образом, Wine является промежуточным звеном между программой Windows и операционной системой Linux, а также ее ядром и библиотеками.

Чтобы понять, как работает Wine, сначала нужно сказать несколько слов о ядре Windows. У Windows, как и у Linux, есть ядро. Как известно, ядро ​​Linux состоит из файла и находится в загрузочной папке. Ядро Windows совершенно другое, по сути это набор библиотек dll, которые находятся в папке C: windows system32.

Итак, чтобы программы Windows работали в Linux, достаточно реализовать библиотеки dll, которые нужны программе, чтобы они вызывали нужные нам функции из системы Linux, что и делает Wine.

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

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

Основы использования Wine

Все файлы программы Wine, установленные программы, библиотеки, файлы журналов, файлы конфигурации находятся в домашнем каталоге, точнее в ~ / .wine.

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

Папка ~ / .wine является префиксом, но мы можем создать префикс для каждой новой программы, и она будет работать только с ней. Чтобы установить префикс, с которым должно работать вино, используйте переменную среды WINEPREFIX, например:

экспорт WINEPREFIX = ~ / программа

Разным программам может потребоваться разная архитектура системы, вино может запускать 64-битные программы, но многим для правильного функционирования требуется архитектура x86.

Используйте переменную WINEARCH, чтобы указать архитектуру. Например, для x86:

экспорт WINEARCH = win32

Кроме того, не создавайте папку для нового префикса с помощью mkdir или файлового менеджера, просто позвольте программе создать эту папку самостоятельно при первом запуске.

Уровень совместимости Wine не поддерживает все программы, чтобы проверить, поддерживается ли программа Wine, вы можете использовать сайт appdb.winehq.org, там есть поиск и перечислены все поддерживаемые и неподдерживаемые программы для Linux.

Запуск exe программ в Linux с помощью wine

В первую очередь нужно посмотреть страницу программы на appdb.winehq.com. Здесь есть поиск, так что вы можете попробовать найти нужную программу. Например, я хочу установить довольно популярную программу Notepad ++. Сначала вам нужно посмотреть, поддерживается ли это Wine. Для этого на сайте есть поиск:

На странице программы указана версия Wine, с которой она тестировалась, версия тестируемой программы и оценка. Оценка может быть платиновой, золотой, серебряной или ниже, в зависимости от прогресса программы:

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

Если вам нужно запустить программу с полной поддержкой Wine, такую ​​как проводник или блокнот, просто запустите:

$ wine /address/file/programma.exe

Например, для программы Notepad ++ нужно сделать:

вино ~ / Скачать / npp / notepad ++ exe

Здесь я использую портативную версию, ее нужно сначала скачать и разархивировать. Как видите, программа полностью работоспособна:

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

Конечно, есть Wine-обертки, автоматизирующие этот процесс, такие как Crossover, PlayOnLinux, Lutris и другие. Но мы рассмотрим ручной вариант.

Для установки компонентов Windows в wine есть специальный инструмент — winetricks. Лучше всего установить его с сайта программы, поэтому версия будет более новой:

wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
chmod + x winetricks

Чтобы установить необходимый компонент, просто передайте имя этого компонента:

$ winetricks имя_компонента

с установкой компонентов все более-менее понятно, но как узнать, какие компоненты нужны? Скорее всего, вашу программу уже пытались установить и другие пользователи нашли решение проблемы. Поэтому воспользуйтесь поиском Google, чтобы найти способы установки программы. Сайт appdb.winehq.org также очень полезен.

Возьмем пример. Найдите на appdb.winehq.com Internet Explorer 8, последнюю версию программы, которую вы можете установить в Linux. Как видите, вот бронза, что означает, что программа поддерживается:

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

urlmon msxml6 winetricks

После установки этих пакетов программе необходимо добавить ключ в реестр, что описано на странице winehq. После этого запустится установщик и установит программу.

вино ~ / Скачать / iexplorer.exe

После установки его можно запустить:

Выглядит не очень хорошо, но работает. Необязательно искать инструкции только на winehq, это могут быть различные форумы, блоги и так далее.

Остается вопрос, что делать, если инструкции нет, информации минимум, но программа должна работать. Мы можем проанализировать вывод Wine при запуске программы. Также нас будут интересовать не все сообщения из журнала программы, а только самые свежие, что именно вызвало ошибку. Например, если программа выдает:

fixme: richedit: ITextRange_fnEndOf (0xa04410) -> (6 0 (nil)): stubfixme: richedit: ITextRange_fnEndOf (0xa04410) -> (6 0 (nil)): заглушка

fixme: richedit: ITextRange_fnEndOf (0xa04410) -> (6 0 (nil)): заглушка

Осталось понять, что такое richedit, и Microsoft TechNet любезно сообщает нам, что это их API и он состоит из Riched32.dll, это последняя версия, но до того, как это был riched20.dll, вы уже понимали, какие библиотеки нужны?

Их можно установить с помощью winetricks, но это необязательно, вы также можете сделать это вручную. Скачайте библиотеки, найти их с помощью Google не составит труда. Просто поищите версию для Windows XP.

Скопируйте библиотеку в нашем префиксе, в папку system32:

cp ~ / Скачать / riched32.dll ~ / program / drive_c / windows / system32/

cp ~ / Скачать / riched20.dll ~ / program / drive_c / windows / system32/

Для 64-битных библиотек используется папка syswow64, и, как мы указали 32-битную архитектуру, также должны использоваться соответствующие библиотеки. Затем запустите winecfg e на вкладке библиотеки в новой замене для типа библиотеки * riched32, затем добавьте e * riched20 и снова добавьте:

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

Таким образом вы можете заменить многие библиотеки Wine. Вы можете запустить практически любую программу, написанную несколько лет назад и не требующую супер новых технологий. Вам просто нужно заменить необходимые библиотеки. Вы можете не только использовать winetricks или копировать библиотеки из Интернета, но и получать их прямо из Windows. Определенно не стоит заменять gdi32.dll, kernel32.dll и user32.dll — эти библиотеки реализуют функции ядра Windows на самом низком уровне и нарушат работу Wine, только если вы их замените. Вероятно, есть другие библиотеки, которые нельзя заменить, но это рассчитывается только экспериментально.

Упрощённая установка exe в Linux

Рассмотренный нами выше вариант слишком сложен и не очень подходит для новичков. Специально для таких ситуаций были придуманы различные программные решения, такие как PlayOnLinux или CrossOver. Это оболочки над вином, которые уже знают, какие библиотеки установить для той или иной программы. Просто выберите программу, выберите установщик, и тогда программа все сделает за вас.

Утилита Crossover поддерживает множество программ и работают они достаточно хорошо, но единственный недостаток этой программы — она ​​платная. PlayOnLinux бесплатен, но поддерживает гораздо меньше программ.

Основы использования Wine

Все файлы программы Wine, установленные программы, библиотеки, файлы журналов, файлы конфигурации находятся в домашнем каталоге, точнее в ~ / .wine.

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

Папка ~ / .wine является префиксом, но мы можем создать префикс для каждой новой программы, и она будет работать только с ней. Чтобы установить префикс, с которым должно работать вино, используйте переменную среды WINEPREFIX, например:

экспорт WINEPREFIX = ~ / программа

Разным программам может потребоваться разная архитектура системы, вино может запускать 64-битные программы, но многим для правильного функционирования требуется архитектура x86.

Используйте переменную WINEARCH, чтобы указать архитектуру. Например, для x86:

экспорт WINEARCH = win32

Кроме того, не создавайте папку для нового префикса с помощью mkdir или файлового менеджера, просто позвольте программе создать эту папку самостоятельно при первом запуске.

Уровень совместимости Wine не поддерживает все программы, чтобы проверить, поддерживается ли программа Wine, вы можете использовать сайт appdb.winehq.org, там есть поиск и перечислены все поддерживаемые и неподдерживаемые программы для Linux.

как запускать .exe файлы в LINUX как запускать .exe файлы в LINUX.

Учим Linux запускать exe-файлы.
Как вы знаете, Linux по умолчанию использует формат файлов в формате исполняемых и связываемых файлов (ELF.
Однако нетрудно обучить ядро ​​Linux запускать любой другой исполняемый файл (файл Windows .exe, сценарий оболочки, python, байт-код java и т.д.) без явного указания эмулятора. То есть можно просто написать. / notepad в командной строке .exe или ./my_script.py.
Для этого необходимо предоставить ядру необходимую информацию о формате исполняемого файла и о том, как и какими средствами он может быть интерпретирован.

Что для этого нужно?

1. Для этого нужно включить поддержку других исполняемых форматов в ядре:

В разделе Форматы исполняемых файлов / Эмуляция–>
Поддержка ядра для двоичной опции MISC

Вы можете встроить эту функциональность в ядро ​​или организовать ее как отдельный модуль. Модуль будет называться binfmt_misc.

2. Смонтируйте файловую систему binfmt_misc в каталог / proc:
смонтировать binfmt_misc -t binfmt_misc / proc / sys / fs / binfmt_misc

3. Перейдите в каталог / proc / sys / fs / binfmt_misc. Здесь у вас должно быть два файла: журнал и статус

4. Опишите формат и интерпретатор для этого формата:

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

«имя» — это строковый идентификатор. Новый файл с именем name будет создан в каталоге / proc / sys / fs / binfmt_misc
«тип» — это метод распознавания. Может быть, «M» означает магию, а «E» — расширение.
‘offset’ — смещение маски в файле в байтах. Значение этого параметра по умолчанию — 0, если вы не укажете его (например: ‘: name: type :: magic. ‘)
‘magic’ — это последовательность байтов, для которой определен binfmt_misc. Строка магического поля может содержать шестнадцатеричные символы, такие как x0a или xA4.
маска ‘маска’ (необязательно, по умолчанию 0xff). Добавляя строку такой же длины, как в магическом поле, вы можете замаскировать соответствие некоторых битов файла.
‘интерпретатор’ — программа, которая должна запускаться вместе с исполняемым файлом в качестве первого аргумента (необходимо указать полный путь)
‘flags’ — необязательное поле, которое контролирует некоторые аспекты вызова интерпретатора
Например, чтобы запускать приложения Windows с использованием вина в качестве интерпретатора, добавьте следующую строку для регистрации:

echo ‘: DOSWin: M :: MZ :: / usr / bin / wine:’> зарегистрироваться

Теперь в каталоге / proc / sys / fs / binfmt_misc у нас есть файл DOSWin со следующим содержимым:

$ bash: кот DOSWin
квалифицированный
интерпретатор / usr / bin / wine
флаги:
смещение 0
магия 4d5a

После всего этого в командной строке вы можете написать ./notepad.exe и вы запустите блокнот с wine’a.

5. Чтобы избежать необходимости монтировать binfmt_misc каждый раз вручную, вы можете добавить следующую строку в / etc / fstab:
нет / proc / sys / fs / binfmt_misc binfmt_misc по умолчанию 0 0

6. Чтобы отключить интерпретацию формата, необходимо в появившемся файле записать 0:
эхо 0> DOSWin

для включения необходимо написать 1 :

7. Чтобы удалить формат, напишите -1 в имени файла этого формата:
эхо -1> DOSWin

Ярлык на рабочий стол linux

Как добавить ярлыки приложений на рабочий стол …

Запуск exe программ в Linux с помощью wine

В первую очередь нужно посмотреть страницу программы на appdb.winehq.com. Здесь есть поиск, так что вы можете попробовать найти нужную программу. Например, я хочу установить довольно популярную программу Notepad ++. Сначала вам нужно посмотреть, поддерживается ли это Wine. Для этого на сайте есть поиск:

На странице программы указана версия Wine, с которой она тестировалась, версия тестируемой программы и оценка. Оценка может быть платиновой, золотой, серебряной или ниже, в зависимости от прогресса программы:

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

Если вам нужно запустить программу с полной поддержкой Wine, такую ​​как проводник или блокнот, просто запустите:

$ вино / URL / файл / программа.exe

Например, для программы Notepad ++ нужно сделать:

вино ~ / Скачать / npp / notepad ++ exe

Здесь я использую портативную версию, ее нужно сначала скачать и разархивировать. Как видите, программа полностью работоспособна:

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

Конечно, есть Wine-обертки, автоматизирующие этот процесс, такие как Crossover, PlayOnLinux, Lutris и другие. Но мы рассмотрим ручной вариант.

Для установки компонентов Windows в wine есть специальный инструмент — winetricks. Лучше всего установить его с сайта программы, поэтому версия будет более новой:

wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
chmod + x winetricks

Чтобы установить необходимый компонент, просто передайте имя этого компонента:

$ winetrickscomponent_name

с установкой компонентов все более-менее понятно, но как узнать, какие компоненты нужны? Скорее всего, вашу программу уже пытались установить и другие пользователи нашли решение проблемы. Поэтому воспользуйтесь поиском Google, чтобы найти способы установки программы. Сайт appdb.winehq.org также очень полезен.

Возьмем пример. Найдите на appdb.winehq.com Internet Explorer 8, последнюю версию программы, которую вы можете установить в Linux. Как видите, вот бронза, что означает, что программа поддерживается:

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

urlmon msxml6 winetricks

После установки этих пакетов программе необходимо добавить ключ в реестр, что описано на странице winehq. После этого запустится установщик и установит программу.

вино ~ / Скачать / iexplorer.exe

После установки его можно запустить:

Выглядит не очень хорошо, но работает. Необязательно искать инструкции только на winehq, это могут быть различные форумы, блоги и так далее.

Остается вопрос, что делать, если инструкции нет, информации минимум, но программа должна работать. Мы можем проанализировать вывод Wine при запуске программы. Также нас будут интересовать не все сообщения из журнала программы, а только самые свежие, что именно вызвало ошибку. Например, если программа выдает:

fixme: richedit: ITextRange_fnEndOf (0xa04410) -> (6 0 (nil)): заглушка
fixme: richedit: ITextRange_fnEndOf (0xa04410) -> (6 0 (nil)): заглушка
fixme: richedit: ITextRange_fnEndOf (0xa04410) -> (6 0 (nil)): заглушка

Осталось понять, что такое richedit, и Microsoft TechNet любезно сообщает нам, что это их API и он состоит из Riched32.dll, это последняя версия, но до того, как это был riched20.dll, вы уже понимали, какие библиотеки нужны?

Их можно установить с помощью winetricks, но это необязательно, вы также можете сделать это вручную. Скачайте библиотеки, найти их с помощью Google не составит труда. Просто поищите версию для Windows XP.

Скопируйте библиотеку в нашем префиксе, в папку system32:

cp ~ / Скачать / riched32.dll ~ / program / drive_c / windows / system32/

cp ~ / Скачать / riched20.dll ~ / program / drive_c / windows / system32/

Для 64-битных библиотек используется папка syswow64, и, как мы указали 32-битную архитектуру, также должны использоваться соответствующие библиотеки. Затем запустите winecfg e на вкладке библиотеки в новой замене для типа библиотеки * riched32, затем добавьте e * riched20 и снова добавьте:

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

Таким образом вы можете заменить многие библиотеки Wine. Вы можете запустить практически любую программу, написанную несколько лет назад и не требующую супер новых технологий. Вам просто нужно заменить необходимые библиотеки. Вы можете не только использовать winetricks или копировать библиотеки из Интернета, но и получать их прямо из Windows. Определенно не стоит заменять gdi32.dll, kernel32.dll и user32.dll — эти библиотеки реализуют функции ядра Windows на самом низком уровне и нарушат работу Wine, только если вы их замените. Вероятно, есть другие библиотеки, которые нельзя заменить, но это рассчитывается только экспериментально.

Источники

  • https://lumpics.ru/how-to-run-exe-in-linux/
  • https://linuxcool.net/obzory/mozhet-li-linux-zapuskat-exe-fajly-windows/
  • https://mirinfo.ru/pk-i-noutbuki/kak-zapustit-exe-na-linux.html
  • https://info-comp.ru/how-to-run-windows-app-on-linux
  • https://losst.ru/kak-zapustit-programmy-windows-na-linux
  • https://odinmol.ru/kak-otkryt-exe-fayl-na-linux/
  • https://a174.ru/kak-zapuskat-exe-na-linux/

Оцените статью
Блог о хакинге