LinuxBegin.ru - offline-версия от 26.04.2004
Главная | Все темы | Все статьи | Ссылки | Аналоги Windows-программ в Linux | Top 20

WINEX - эмулятор Windows 9X/2K/XP с поддержкой DirectX под Linux
(Запуск Dos/Windows-программ в Linux)


- Иванов Аркадий, 15.04.2003, Help0.ru -

Основная идея - запуск приложений для Windows 98/2K/XP без переделок в Linux/Unix. Просто берем дистрибутив программы на лазерном диске, подготовленный для работы в Винде, устанавливаем программу ("wine setup.exe") в систему, затем запускаем "wine имя_файла_с программой" и работаем.
Последняя проба на WineX 3.0, AltLinux Master 2.2, ядро 2.4.20, X Window 4.2.1.1, видео GeForce 4Ti4200 64Mb, драйвера от Nvidia версии 4349, gcc 3.2.1.
Сборка из исходников обязательна. Я описываю установку в AltLinux Master 2.2. Сборка WineX, к сожалению, до сих пор смахивает на шаманство, и грабли, на которые вы наедете в другой системе, вам придётся преодолевать самим.

Где взять

Попытка халявной сборки

  • Первое что сделать - это установить в систему gcc, make, rpm-build, rpm-utils, patch, libGLU-devel, ещё чего-нибудь, :) и попробовать собрать из пакета с исходными текстами пакет с бинарниками.
    rpm --rebuild WineX-3.0-alt1.20030404.src.rpm
    
  • Всё, что попросит rpm, устанавливайте и снова:
    rpm --rebuild WineX-3.0-alt1.20030404.src.rpm
    
  • Если получилоь, то УРА!!! Теперь у вас есть бинарный пакет под вашу систему и весь последующие описываемые траханья вам ни чему. Просто установите его в системе.

Сразу скажу, у меня ни разу не получилось - :(, а описание того, как рихтовать файл управления сборкой (spec-файл) под кривизну своей собственной системы намного сложнее, чем выполнить последовательно руками те самые действия, которые предусмотрены в этом самом spec-файле.
Замечу, что обычно проблемы сборки связаны не с тем что, что-нибудь не компилируется, а с тем, что документация собирается с ошибками, из-за чего вся процедура валится. Глупо, но это так :( .

Попытка нехалявной сборки

  • Предварительно следует установить в систему:

    gcc
    flex
    byacc
    libGLU-devel
    cups-devel

  • Внутри вытащенного с Инета WineX-3.0-alt1.20030404.src.rpm лежат нужные нам исходники. Проще всего сделать это в Midnight Commander-е:
    - жмите на файле Enter и идите внутрь содержимого
    - жмите на файле CONTENTS.cpio Enter и вы достигли нужного места
    - вытаскивайте все открывшиеся взору файлы в какой-нибудь каталог
    
  • Раскрывайте исходники:

    tar xvjf WineX.tar.bz2

  • Делаем нужные символические линки:
        ln -s wine WineX
        ln -s wine wine-20011226
    
  • Применить следующие патчи, которые дополнительно есть в rpm-файле:
        patch -p0 < WineX-alt-config.patch
        patch -p0 < WineX-alt-fixes.patch
        patch -p0 < WineX-wine-20011226-debian.patch
    
  • Сконфигурируем winex под свою систему:
        ./configure --with-x --enable-opengl
    
  • Разглядываем фмнальные сообщения процедуры configure и доставляем все пакеты, которых ей не хватило, стираем config.cache и возвращаемся на предыдущий шаг.
  • Ну а теперь компиляция:
    make depend && make
    make programs
    
  • Устанавливаем в систему:
    make install  install_programs
    
  • В /etc/ld.so.conf вписываем строчку с /usr/local/lib и делаем:
    ldconfig
    
  • Среди файлов, которые мы вытащили из WineX-3.0-alt1.20030404.src.rpm, есть файл WineX.init Копируем его с именем wine в /etc/rc.d/init.d .В этом скрипте регистрируются в системе exe-файлы от Windows, что позволяет их запускать не "wine a.exe", а просто "./a.exe"
  • Включим автоматический запуск сервиса wine на уровнях 2,3,4,5 и запустим сервис прямо сейчас.
    chkconfig --level 2345 wine on
    service wine restart
    
  • На этом процедура сборки и установки закончена.

Настройка:
  • Под root-ом создаем каталог /var/lib/wine и отдаем права на него тому юзеру, из под которого будем пускать игрушки.
  • Дальше все делаем под обычным юзером.
  • В /var/lib/wine делаем указанные подкаталоги (проще скриптом):
    for i in system Desktop Favorites Fonts NetHood "Start Menu/Programs/Startup" 
        Recent SendTo ShellNew system32 Profiles/Administrator
    do
        mkdir -p "windows/$i"
    done
    
  • Делаем любимые каталоги из нелюбимой ОС:
    mkdir -p "Program Files/Common Files"
    mkdir -p "My Documents"
    mkdir -p Temp
    
  • Несколько файлов в windows/system32:
    for i in shell.dll shell32.dll winsock.dll wnsock32.dll opengl32.dll
    do
        touch windows/system32/$i
    done
    
  • Ещё несколько до боли знакомых файлов в /var/lib/wine:
    touch autoexec.bat
    touch config.sys
    touch windows/win.ini
    
  • Скопировать из дистирибутивного каталога documentation/samples/system.ini в /var/lib/wine/windows/system.ini
  • В домашнем каталоге делаем подкаталог.wine
  • Из корня дистрибутива, стартуем ./tools/wineinstall, отвечаем вежливо на все вопросы.
  • -- вроде бы все---

Запуск:
  • Нужные нам Win-программы переписываем в /var/lib/wine, например, игрушку Warcraft III.
  • Затем ручками стартуем
    wine War32.exe
    
  • -- вроде работает (и как шустро!) ---
Как снести:
  • В каталоге с раскрытым дистрибутивом:
    make uninstall
    

Игрушки, которые лично пускал и в которые лично играл под WineX после проделывания вышеприведенной процедуры:
  • Starcraft
  • Warcraft III

Просмотров: 9068  |  Рейтинг статьи: 4.55 (Голосов: 27).
4.55
Дата размещения статьи: 2003-05-09 07:46:45



5 последних поступлений в раздел Запуск Dos/Windows-программ в Linux:

26.02.04: Назначение DOSBox (Зачем нужен эмулятор DOS? В первую очередь, из-за игр. Игроки среднего (12-25 лет) возраста его не за...)
02.02.04: WineX F.A.Q. (Q: Что такое winex? A: Эмулятор для windoze-программ на основе wine с поддержкой DirectX, с помощью к...)
11.01.04: VMware - виртуальный полигон для администратора и разработчика на основе Linux и (В первой статье этого цикла я довольно подробно описал, что такое технология виртуальных машин Vmware...)
29.12.03: Warcraft 3 в Unix - легко! (Руководство ? как установить и запустить warcraft с CD, предназначенного для Windows, через программу...)
23.12.03: WineX (Последняя версия статьи. "Есть скромная надежда, что когда-нибудь в wine не будет потребности. Стоит ...)

Комментарии:

Re: WINEX - эмулятор Windows 9X/2K/XP с поддержкой DirectX под Linux (Оценка: 0)
от Anonymous на 13.10.03
я чё-то не пойму ./tools/wineinstall под юзером делать ? а permission denied на отдельные команды скрипта этого ??

-- Anonymous


Re: WINEX - `emulyator Windows 9X/2K/XP s podderzhkoj DirectX pod Linux (Оценка: 0)
от Anonymous на 12.11.03
kak vazmojno start. WineX pod Slackware 8.1&9.1

-- kolio (koliokordta@yahoo.com)


Re: WINEX - эмулятор Windows 9X/2K/XP с поддержкой DirectX под Linux (Оценка: 0)
от Anonymous на 25.02.04
NADO V PRAVAH POSTAVIT execute!
A avtory BOLSHOE prosto OGROMNOE SPASIBO!!!

-- Anonymous


Re: WINEX - эмулятор Windows 9X/2K/XP с поддержкой DirectX под Linux (Оценка: 0)
от Anonymous на 05.04.04
почему не дштгч выдаёт ошибку на Recent и нестаортует Wine

-- Anonymous


Re: WINEX - эмулятор Windows 9X/2K/XP с поддержкой DirectX под Linux (Оценка: 0)
от Anonymous на 21.04.04
а сетью он работать позволяет?(мне бы для счастья чьтоб 1С под Линухом работала)

-- Катёна (Katjonka@nm.ru)


LinuxBegin.ru © 2003-2004 Valery V. Kachurov | Условия использования материалов | О проекте