Здравствуйте. В этой статье я хотел бы осветить особенности запуска win32 приложений под средой *nix.
Чтоже есть Wine — обратимся к WIKI.
Wine (/wa?n/ — между «уа?йн» и «вайн») — это свободное программное обеспечение,
позволяющее пользователям UNIX-подобных систем архитектуры x86 (и других архитектур,
при наличии совместимости,
например, AMD64) исполнять 16 и 32-битные приложения Microsoft Windows
(64-битные приложения находятся в стадии ранней реализации). Wine также
предоставляет программистам библиотеку программ Winelib, при помощи
которой они могут компилировать Windows-приложения для портирования их
в UNIX-подобные системы. Название Wine является рекурсивным акронимом и
расшифровывается «Wine Is Not an Emulator» — «Wine — не эмулятор»
(имеется в виду, что Wine не является эмулятором компьютера, как, например,
qemu или VirtualBox —Wine это альтернативная реализация Windows API).
После пятнадцати лет разработки, 17 июня 2008 года была выпущена
версия Wine 1.0.
Wine распространяется на условиях лицензии GNU LGPL.
Вайн — не является эмулятором. Как видно из определения — Wine это альтернативная реализация Windows API, причем некоторые вещи реализованы значительно лучше (в плане быстродействия и стабильности) нежели в самой Windows.
Скачать установочный дистрибутив под свою систему можно тут: http://www.winehq.org/download/.
Для ASP Linux, Mandriva, RedHat — можно установить:
$yum install wine
Для Debian-дистрибутивов:
$aptitude install wine
По материалам Википедии технические особенности Wine:
Проект сталкивается с большими трудностями вследствие неполноты или
отсутствия документации по многим элементам Win32 API. В то время, как
функции Win32 в основном документированы, существует масса областей
(таких как файловые форматы или протоколы Майкрософта),
спецификации на которые никогда не публиковались.
Таким образом, команде разработчиков Wine приходится заниматься обратной
разработкой этих компонентов.
Wine воспринимает системные вызовы Windows-приложений к
библиотекам операционной системы и подменяет их своими.
Таким образом, эмуляции процессора, аналогично другим
эмуляторам типа VMware и QEMU,
не происходит, и приложения выполняются в Wine почти так же быстро, как
и в «родной» операционной системе (а иногда даже быстрее[6]).
Для своей работы Wine не требует наличия установленной
ОС Windows, хотя и может использовать её библиотеки.
Также Wine предоставляет инструментарий разработки программ
Winelib для переноса унаследованных исходных кодов
из среды Windows в среду UNIX путём простой перекомпиляции.
Wine, безусловно, не является стабильным продуктом, и нельзя
сказать, что любую программу для Windows удастся запустить с его
помощью. Некоторые подсистемы Windows вообще практически не
реализованы. Тем не менее, уже сейчас многие из повсеместно
используемых Windows-приложений полноценно запускаются и работают в
UNIX-подобных ОС при помощи Wine. Особенно это касается приложений,
которые не используют недокументированные возможности Windows.
Экспериментально я устанавливал Wine на такие системы : ASP Linux 11.2, ASP Linux 12, Debian Linux, Linux Mandriva, ASP Linux Sever IV, Kubuntu 8.04, Kubuntu 8.10.
Что удалось запустить под Wine : Windows Notepad, Windows Wordpad, WINWORD, EXEL, IBM Lotus Notes, Total Commander, Ventrilo Client, Strong DC++, Inetaccess (инет авторизатор), Adobe Photoshop CS2, LineAgeII c4, LineageII Interlude(только перса в начальной локации), StarCraft, CounterStrike, NeedForSpeed Underground, UnrealTournament — и это далеко не полный список игр и приложений, которые мне удалось стабильно запустить.
Your point of view caught my eye and was very interesting. Thanks. I have a question for you.