Differences between revisions 6 and 7
Revision 6 as of 2008-07-27 21:53:47
Size: 6708
Comment:
Revision 7 as of 2008-07-27 21:54:16
Size: 6708
Comment:
Deletions are marked like this. Additions are marked like this.
Line 48: Line 48:
|| 18 || 1 || 1 || 1 || || 1 || MaximByshevskiKonopko, GeorgeTarasov, MaximByshevskiKonopko || || || || 20 || 1 || 1 || 1 || || 1 || MaximByshevskiKonopko, GeorgeTarasov, MaximByshevskiKonopko || || ||

Запуск Win32-приложений

Несмотря на то, что:

  • очень много софта есть в хранилище.
  • уровень комфорта при установке пакета и при установке непонятно чего различается в разы,

иногда всё-таки возникает необходимость воспользоваться каким-то приложением, которое распространяется только и исключительно под Windows.

Для этого существует WINE, он же Wine Is Not an Emulator.

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

Всё это задаётся в конфигурационных файлах wine. К примеру, там задаётся соответствие "дисков" Windows некоторым каталогам файловой системы. Стоит быть осторожным при задании этих каталогов. Так же, если исполняемое при помощи wine приложение находится вне этих каталогов, работать оно не будет.

Существуют и другие неожиданности --- например, при запуске консольных приложений:

$ wine Far.exe
err:winedevice:ServiceMain driver L"eusk3usb" failed to load
err:winedevice:ServiceMain driver L"SNTNLUSB" failed to load
err:seh:setup_exception_record stack overflow 188 bytes in thread 0009 eip cdcdcdcd esp 00231274 stack 0x230000-0x231000-0x330000

Фар не запустится просто так, потому что он рабтает в линуксовой консоли. Вайн этого отличить не может, и надо это явно указать: wine-console --backend=user Far.exe

Также при работе с консольными приложениями, скорее всего, стоит указать в конфигураторе winecfg режим эмуляции Windows 98 из-за некоторых проблем с вызовом программ в консоли Windows.

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

Чтбы закончить с wine --- wine --- свободная программа, предназначенная для запуска программ. На базе wine пишется минимум три известных несвободных версии, которые предназначены разные для своего:

  • Cedega --- wine с внедрённым directx для запуска игр. Есть Transgaming software, которая этим занимается
  • Crossover office --- то же самое по отношению к офису
  • Есть в Питере wine@etersoft, которая занимается тем же самым по отношению к нашим разработкам --- 1c, генераторы отчётов для налоговой, и пр. Их задача --- запуск программ, специфичных для российского рынка. В отличие от предыдущих программных продуктов, wine@etersoft local --- свободный программный продукт и в такой версии он входит в альт. Помимо local есть network и sql, первый позволяет запускать 1с и ходить к нему нескольким клиентам, тот, который sql умеет транслировать sql-запросы (к образу и подобию MSSQL). Документацию по вайну рекоммендуется читать именно от etersoft.

Также более-менее нормально запускаются приложения, написанные на flash, в принципе, достаточно высока вероятность, что заработает приложение, написанное на java. Отчасти программы на дотнете работают.


Сведения о ресурсах

Готовность (%)

Продолжительность (ак. ч.)

Подготовка (календ. ч.)

Полный текст (раб. д.)

Предварительные знания

Level

Maintainer

Start date

End date

20

1

1

1

1

MaximByshevskiKonopko, GeorgeTarasov, MaximByshevskiKonopko


CategoryLectures CategoryPspo CategoryMpgu CategoryUneex

PspoClasses/080720/05Wine (last edited 2008-10-09 18:52:29 by MaximByshevskiKonopko)