Меню Рубрики

Linux mint запуск windows приложений

Как запустить программы Windows на Linux

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

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

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

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

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

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

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

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

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

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

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

Для разных программ может потребоваться различная архитектура системы, wine может запускать и 64 битные программы, но многим для правильной работы нужна архитектура х86.

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

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

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

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

Но как я уже говорил, нам придется запускать мало таких программ, большинство из них будут требовать функционала, который еще не реализован в wine. Тогда нам придется заменить библиотеки Wine, на оригинальные библиотеки Windows. Конечно, есть оболочки для Wine, которые автоматизируют этот процесс, например, Crossover, PlayOnLinux, WineWizard и тд. Но мы рассмотрим ручной вариант.

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

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

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

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

Давайте рассмотрим пример. Наберите в поиске по appdb Advego Plagiatus, напомню, что это программа для проверки уникальности текстов, часто используемая копирайтерами:

Она сразу же была найдена в базе данных:

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

После установки этого пакета программа запуститься и будет работать.

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

Рассмотрим на примере той же Advego Plagiatus. Сначала создадим новый префикс, чтобы не испортить то что уже было установлено:

Архитектуру нам менять не нужно, но если хотите, можете явно указать, что нужно использовать win64:

Далее запускаем программу и последнее что мы увидим в логе перед дампом переменных ядра это:

fixme:richedit:ITextRange_fnEndOf (0xa04410)->(6 0 (nil)): stub
fixme:richedit:ITextRange_fnEndOf (0xa04410)->(6 0 (nil)): stub
fixme:richedit:ITextRange_fnEndOf (0xa04410)->(6 0 (nil)): stub

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

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

Копируем библиотеку в наш префикс, в папку syswow64:

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

Все, теперь можете пробовать запускать программу:

/advego/drive_c/Program\ Files\ \(x86\)/Advego\ Plagiatus/plagiatus.exe

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

Источник

Linux Mint 19.3 Wine – запускаем приложения Windows

Продолжаем осваивать Linux Mint 19.3, а попутно и нести Linux в массы! Ведь вы уже задумываетесь о том, чтобы перейти на OpenSource? Если нет, то наверняка потому, что большинство привычных программок написано под Windows. Вот если бы можно было запускать виндовые приложения в уже полюбившемся Linux Mint…. Или можно?

Установка Wine

Wine – (винишко – вольный перевод) – программное обеспечение, эмулирующее окружение Windows. Позволяет инсталлировать и запускать различные программы, написанные под эту операционную систему. Сейчас покажу на практике

$ sudo apt-get install wine

Видим сообщение “Для пакета ”wine” не найден кандидат на установку”. Мда, в наше время проще было. Но менеджер пакетов заботливо предлагает нам два пакета, из которых нужно выбрать. Мне кажется, что нам нужен второй – winehq-stable. hq – видимо это HighQuality.

$ sudo apt-get install winehq-stable

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

Linux Mint 19.3 apt install –fix-broken

Чтож, попробуем последовать его совету, в конце концов терять нам уже нечего.

$ sudo apt install —fix-broken

Linux Mint 19.3 apt install –fix-broken

Кажется получилось. Теперь возвращаемся к установке Wine:

Linux Mint 19.3 apt-get install winehq-stable

Другое дело! Все зависимости удовлетворены. Пакеты успешно установлены. Самое время что-нибудь запустить, не так ли?

Инсталлируем Windows приложение в Linux

Следуя парадигме OpenSource поставлю в Linux Mint свой привычный текстовый редактор – Notepad++. Скачаем с оф.сайта на флешку, установим в Linux носитель и запустим инсталляху командой:

Linux Mint 19.3 установка Windows приложения

При первом запуске Wine захочет кое-что доустановить. Но мы сегодня очень добрые и соглашаемся на все его хотелки, нажимая “Установить”.

И вот мы видим привычное окно установщика.

Windows приложение в среде Linux Mint 19.3

Проходим все пути установщика в лучших традициях Windows (далее-далее-готово), и это на Linux-системе )).

Установленное приложение можно найти через главное меню в разделе Wine:

Установленное Windows приложение в Linux

Всё прекрасно работает, о чём свидетельствует вот это вот:

Работа Wine в Linux Mint 19

Кстати, если выбрать диалоговое окно открытия и сохранения, мы увидим всю привычную инфраструктуру и окружение Winows – логические разделы C:\ E:\ , каталоги с Windows и прочее добро, заботливо эмулируемое Wine.

Многие приложения и игры без проблем работают в такой среде, что не может не радовать. И да, перейти на Linux станет чуточку проще после этого, верно?

Если согласны – ставьте лайк! Спасибо, что дочитали до этого момента.

Источник

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

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

  • Mpv player для mac os
  • Mpeg streamclip для mac os
  • Mpc для mac os
  • Mp4 плеер для mac os
  • Mp4 в avi конвертер mac os