Wine - эмулятор Windows под Linux - Установка и настройка. Как мы сделали Linux из Windows: новые способы запуска никсовых приложений под виндой

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

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

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

export WINEPREFIX=~/program

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

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

export WINEARCH=win32

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

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

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

wine адрес/файла/программы.exe

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

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

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

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

winetricks vcrun2008

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

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

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

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

winetriks riched30

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

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

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

export WINEPREFIX=~/advego

Архитектуру нам менять не нужно, но если хотите, можете явно указать, что нужно использовать 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:

cp ~/Загрузки/riched32.dll ~/advego/drive_c/windows/syswow64/

cp ~/Загрузки/riched20.dll ~/advego/drive_c/windows/syswow64/

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

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

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

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

В конце прошлого месяца, к всеобщему удивлению, Microsoft объявила, что в Windows 10 добавлена поддержка Bash, утилита командной строки Linux. Это дает возможность пользователям запускать свои любимые приложения Linux поверх Windows 10 ... в режиме командной строки. В этой статье хотим поделится с вами как запустить GUI (более известные как современные) приложения в Linux на Windows 10, если вы о этом мечтали то ваша мечта сбылась.

Для запуска программ или игр Linux помимо установленого Bash вам требуется Xming X Server и сборка Windows 10 не ниже- 14316.

Шаг 2 : Загрузите и установите приложение в вашей системе.

Шаг 3 : Запустите Утилиту Bash и Xming X Server (от имени Администратора).

Теперь необходимо обновить список доступных пакетов Linux, вы должны использовать команду sudo apt-get update.

Шаг 4 : В командной строке Bashвведите: sudo apt-get update

На запрос Do you want to continue? отвечаем Y

После обновления доступных пакетов можно попробовать запустить первое приложение Linux в Windows 10

Установка и запуск графического редактора Gimp в Windows 10

GIMP («Гимп») - свободно распространяемыйрастровый графический редактор, программа для создания и обработки растровой графики и частичной поддержкой работы с векторной графикой.

Шаг 5 : В командной строке Bash введите sudo apt-get install gimp - это установит программу GIMP.

Шаг 6 : для запуска установленного текстового редактора введите команду DISPLAY=:0 gimp

Вот и все мы запустили приложение Linux GUI на Bash .

Ниже представлен небольшой список приложений и команд для Bash для установки и запуска программ linux в Windows 10.


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

Установка: sudo apt-get install gedit

Запуск: DISPLAY=:0 gedit

Матрица - cmatrix


Установка: sudo apt-get install cmatrix

Запуск: cmatrix

Игра - lmemory


Установка: sudo apt-get install lmemory

Для Запуска две команды :

  1. PATH=$PATH:/usr/games
  2. DISPLAY=:0 lmemory


Установка: sudo apt-get install firefox

Запуск: DISPLAY=:0 firefox

Какие приложения или игры Linux запустили вы в операционной системе Windows 10, поделитесь пожалуйста в комментариях ниже.

В материале данной статьи я расскажу о том программном обеспечении, которое позволяет запустить приложения Microsoft Windows на Ubuntu 13.10 .

Wine

загрузчик программ Windows

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

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

Установка Wine из стандартных репозиториях Ubuntu (стабильная версия, но устаревшая версия):

$ sudo apt-get install wine

Установка последней версии Wine из сторонних репозитории:

$ sudo add-apt-repository ppa:ubuntu-wine/ ppa

$ sudo apt-get update

$ sudo apt-get install wine

Перед использованием Wine для запуска приложений нужно запустить программу настройки, которая создаст в вашей домашней директории каталог ~/.wine с необходимыми для работы файлами. Для этого либо выберите пункт главного меню Приложения→Wine→Configure Wine , либо выполните в терминале команду:

$ winecfg

Предположим, что у вас есть приложение, которое запускается и работает хорошо только в Windows. Такая программа не имеет эквивалента в Linux, и не работает в или другом эмуляторе Windows API — CrossOver для Linux.

Возможно, ли запустить эту программу не выходя из Linux? Да, возможно: Используя гипервизор для запуска Windows, виртуальную машину (VM).

VM позволяет запускать гостевую операционную систему поверх другой операционной системы. С точки зрения гостя, кажется, что система работает на своем собственном ПК, но на самом деле она работает в ограниченной виртуальной подсистеме ПК, в виртуальной машине. А виртуальная машина, в свою очередь, управляется программой под названием гипервизор. Таким образом, мы получаем идеальный эмулятор Windows в Linux .
Есть много прекрасных настольных гипервизоров для Linux, таких как VMware Player, Kernel Virtual Machine (KVM), и мой любимый, свободный VirtualBox от Oracle. Я предпочитаю VirtualBox, потому-что это самый простой по настройке и запуску виртуальных машин гипервизор.

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

Эмулятор Windows в Linux? Что VirtualBox может сделать для Вас?

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

Windows в VirtualBox можно ограничить. Например, отключить сеть, что может сделать её немного безопаснее. Я обычно в Windows на виртуальной машине выполняю те же самые стандартные меры безопасности, что и выполняют все люди на реальном компьютере, устанавливаю антивирус для того, чтобы мои файлы, которые я буду предоставлять людям, не имели вирусов. К тому же я обычно для Windows открываю одну общую папку из Linux, для простоты обмена файлами.

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

По моему опыту, вы сможете запустить Windows поверх Linux с помощью VirtualBox на системе с 1 Гб оперативной памяти, но это будет не очень комфортно. По крайней мере, нужно иметь 2Gb оперативной памяти и 1-ГГц (гигарцовый) AMD или Intel процессор.

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

Вы можете настроить VirtualBox так, чтобы ваша система Linux и ваши Windows гостевые операционные системы, как я уже говорил выше, могли обмениваться файлами. Использовать каталоги (папки): копировать, вставить и редактировать файлы из одной операционной системы в другую. И даже иметь общий буфер обмена. Как только вы освоитесь в управлении двух операционных систем одновременно, поймете, что это может быть очень удобно.

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

Стоит ли игра свеч? Конечно, да! Пользуясь Windows-ом на виртуальной машине, вместо того, чтобы запускать его на реальном ПК для выполнения определенных задач, вы будете иметь отличную эмуляцию WIndows в Linux, экономить время, а также сможете быть не зависимыми от имения на своем жестком диске Windows, как полноценной системы. Со временем, изо дня в день вы будете приобретать все больше и больше опыта работы в Linux, и, в конце концов, вы сможете полностью отказаться от Windows, раз и навсегда.

Статьи по теме: