"Karakter szem-pislogás animálása"
Részletek a hírekben!
 
   
 
 
Naprakész hírek...                                         240 fórumozó...                                         Számos magyar oktatóanyag...                                         Videóanyagok magyarul is...                                         Letölthető fájlok...                                         Textúrák...                                         Összegyűjtött linkek...
 
  Rólunk
Hírek
Fórum
Kihívás
Kapcsolatok
Galéria
Aktuális, 2015
2014, 2013
2012, 2011
2010, 2009
Leírások
Kezdő leckék
Haladó leckék
Egyéb leírás
Billentyűk
Videóanyagok
Kezdő videók
Haladó videók
Egyéb videók
Tippek, trükkök
Letöltés
BLEND fájlok
Textúrák
Linkajánló
Archivum
Projektek
BlendRace SokoTruck
Flipper MB game
 
 

Blender leírások és oktató anyagok

 
Forrás: http://jox.hu/cikkek/179/12

Wine használata Ubuntu alatt

Előzmény

Sajnos egy hirtelen mozdulattal rossz helyre (Levélszemét) húztam annak a kedves felhasználónak a levelét, aki az Ubuntu alatt futtatható exe-kről érdeklődött. Kárpótlásul kerestem egy olyan forrást, ami a kezdőknek is érdekes olvasmány, de viszonylag terjedelmes. A cikk az eredeti szöveg másolata. További kérdéseket a forrás linkjén működő hozzászólásoknál várják a szerkesztők. (Utólag is elnézést - stewet)

Az emulátorokról

 
A Microsoft rendszerekre készített programok az eltérő fejlesztői környezet, a más alappillérek, a más szerkezet, és úgy egészében a más software platformok miatt "csupán" a Microsoft megfelelő rendszerének jelenlétében hajlandóak elindulni - így sajnos csak ott tudjuk használni őket. Vagy mégsem? Egyáltalán, miért van szükség Linuxon használni egy gyökeresen eltérő megoldás programjait? A kérdés technikai megközelítése szerencsére nem zárja ki egy utánzott környezet használatának lehetőségét, mivel a Bill Gates rendszereire készült programkódok futásának feltétele javarészt a szükséges dll állományok, a regisztrációs adatbázis, az említett rendszerekre jellemző DirectX környezet, valamint egy megfelelő mappaszerkezet jelenlétében keresendő. Mindezek utánzására készült (és készül jelenleg is, rendületlenül) a közösségi munkával fejlesztett, szabad forrású fejlesztések egyik nagyágyúja, az ingyesesen és szabadon elérhető Wine wrapper.
 
Használatának általában két oka van. Az egyik a valójában eszméletlenül nagy számosságban jelen lévő "szabad fejlesztések" esetlegesen nem fedik le a felhasználói, fejlesztői, illetve szórakozásra szánt (jellemzően) kereskedelmi fejlesztések teljes terét. Ez a jelenség többek között a szigorú jogvédelemmel bíró fejlesztések okára vezethető vissza, így jelen pillanatban nem létezik pl. Macromedia fejlesztőkészlettel kompatibilis, szabad, ingyenes megoldás. Ezt a helyzetet bonyolítja az, hogy a kereskedelmi programokat fejlesztő, komoly szaktudással rendelkező személyek javarészt nem is igazán törik magukat a Linux rendszerek támogatását illetően.
 
A másik problematika szerint egyes esetekben a programozónak teljességgel lehetetlen Linux rendszer alá ültetni a programját - mivel az nagyon komolyan, gyökereitől támaszkodik a DirectX API (API: programozási felület) gyűjteményekre. Ezek a programok jellemzően a színvonalas játékokat jelentik. Hiába létezik a kereskedelmi játékok elit rétegének cirka 60 szereplője natív linuxos portolással, hibába rendelkezik a számítógépes társadalom sok esetben a commercial ( kereskedelmi) modellt meghazudtoló "szabad játékokkal", ettől még a világon fellelhető szórakozást szolgáló kereskedelmi programok bő 90%-a sajnos nem fut natívan Linux alatt. A dologban talán az a legfájóbb, hogy a programozó csapatok sok esetben Unix/Linux alatt fejlesztik a játékaikat/programjaikat, mely "szülőrendszerről" aztán "kegyesen megfeledkeznek", tisztelet a kivételnek.
 
Térjünk egy kicsit vissza az elejéhez. Miért is nem emulátort írtam az előbbiekben? Az ok nagyon egyszerű: azért, mert valójában nem emulátorról van szó. Kissé furcsán hathat ez a mondat az eddig leírtak után, de egy aprócska magyarázat után remélhetőleg tisztább képet kap az olvasó. Ez a megoldás nem törekszik a Windowsok teljes körű utánzására, csupán a cikk elején már említett feltételek kielégítésére - így természetszerűleg nem használható teljes értékű Microsoft rendszerként. Itt nem fogjuk, és nem is tudjuk a berögződött Start menüt elővarázsolni, nem fogunk Windows felhasználói rendszerkomponenseket, beépített segédprogramokat használni - csupán a nekünk tetsző programmal "elhitetni" azt, hogy ő bizony nem Linux alatt fut, majd a szükséges állományok meglétével megpróbáljuk működésre bírni a kiszemelt "áldozatot".
 

A Wine projekt

 
A Wine projekt életre hívásának éve valamikor 1993-ra tehető, amikor egy maroknyi fejlesztő a Microsoft Windows 3.1 rendszerére (a rendszer itt egy kicsit erős jelző) készített programok Linux alatt történő futtatását tűzte ki célul maga elé. A fejlesztések lassú ütemben haladtak, így a projekt valamikor 1996 végén jutott el arra szintre, hogy az időközben megjelent Windows 95 utánzásához szükséges munkálatokat el tudják kezdeni. A kód írása valamikor még ebben az évben eljutott egy komolyabb szintre, minek által a már a 32 bites Windows környezetét utánozva a wrapper képes volt megbirkózni egy Microsoft Word- és Excel párossal is. Az indulás óta eltelt 12 év bizonyította, hogy a nagyjából "bő hónapos" fejlesztési ciklusokkal dolgozó csapat egy mérhetően nagy hatékonyságú programot alkotott, mely általánosan és mérhető hatékonysággal bevethető a legváltozatosabb programok esetén is. Hab a tortán, hogy a kezdetek óta ingyen és szabadon érhetjük el a wrappert a hivatalos honlapon keresztül, mind forráskód állapotban (amit mi magunk fordítunk le a számunkra jelentősséggel bíró paraméterekkel), mind "kész" formában (különböző Linux disztribúciókra előre fordítva, természetesen a megfelelő csomagformátumban). A mai fejlettségi szintre jellemzően az első Windows verzióktól kezdve egészen az újabb keletű XP wrappeléséig mérhető sikerrel teszi a dolgát - külsős munkákat is a kosárba téve a DirectX 9 jelentősebb API-jait is sikeresen utánozza. Nem kissé szerencsés módon, az alap projekt munkáját használva időközben két csapat jelentős projektje is nagy sikerre tett szert.
 
Egyikük, a Transgaming munkája a Cedega (régebben WineX) névre hallgat, mely elsősorban a Win95 - WinXP rendszerre készült komoly, 3D játékok futtatásához szükséges DirectX környezet tökéletesebb támogatásában tér el az alapkódtól. Eme wrapper némileg csökkentett képességekkel érhető el ingyenesen, forrásállapotban, illetve platformfüggetlenül, készre fordítva - extra feature-k társaságában kereskedelmi termékként.
 
Másik "csapatunk", a CodeWeavers teljes mértékben kereskedelmi szemlélettel a másik oldal felhasználói-fejlesztői programjainak Linux alatti futtatására szakosodott.
 

Használatba vétel, első lépés

 
1. Az alap projekt (Wine) hivatalos honlapjáról letöltött archívok környékén fogunk nézelődni. Itt fellelhető ugyebár a forrás és a kész bináris anyag egyaránt. Kissé meglepő módon létezik Windowsra fordított verzió is: ennek értelme abban merül ki, hogy egy Win95 alatt ez képes akár XP rendszerként "működni", illetve XP alatt akár Win 3.1 -ként is. (Utóbbit természetesen az XP kompatibilitási módját megkerülve teszi). Esetünkben a forrással fogunk foglalkozni, mivel a binárisok telepítése viszonylagosan egyszerű, kimerül az adott disztribúció csomagkezelőjének használatában. A letöltött forrást kicsomagolva egy írható területre, a benne lévő configure szkriptet elindítva, a forrásban létrejönnek (természetesen mappánként) a fordításhoz szükséges Makefile állományok, valamint az igen komoly függési lista alapján az ebben lévő prefixek is rögzítésre kerülnek. Amennyiben minden szükséges csomagot, komponenst rendben talált a konfigurátor, a make depend && make parancsokkal (tehát a függések figyelembe vételével) az alapértelmezett gcc kompiler lefordítja a forrást, így előáll a projektünk futtatható állapotban - saját gépünkhöz és rendszerünkhöz optimalizáltan.
 
A fordítás első pontjain jelentősen eltérhetnek a felhasználók szokásai, hiszen a readme állományokat végignyálazva átlátható: a Linux rendszerünkben alkalmazott OpenGL leírónyelv képességeit tökéletesen ki lehet kihasználni, debughoz szükséges funkciókat teljesen le lehet tiltani a megfelelő paraméterezéssel. Természetesen a prefixek (a telepített Wine elérési útjai) is módosíthatóak még a munkánk elején, ha leendő user szükségesnek véli az alapértelmezéstől eltérni. Ha hiba nélkül létrejött a futtatható Wine (állományival és mapparendszerével együtt), a make install parancs segítségével "benyomhatjuk" a rendszerünkbe, ahonnan majd bármely felhasználó indíthatja egy terminálra vert wine paranccsal (ha a kompiler hibát jelez, más paraméterekkel kell újra próbálni a fordítást, természetesen tiszta lappal - tehát make clean parancs után).
 

Második lépés

 
Miután a felhasználó (nem a szuperfelhasználó!) kiadta a wine parancsot, a home mappájában létrejön egy .wine (rejtett) és egy wine (nem rejtett) mappa. Előző lesz a konfigurációs állományok és a regisztációs adatbázis mappája, utóbbi a fake mappa. Mindezt tökéletesen be kell állítani a .wine mappában létrehozandó config állományban. Példa konfigokat, üres konfigokat a hivatalos honlap tartalmaz (erre nem térünk ki, mivel extrém módon meghosszabítaná a cikket, ráadásul feleslegesen: a Wine oldalán elérhető wineTools csomag segítségével minden ilyesmi gépészkedéstől mentesülhetünk). Ebben a fázisban a szemfülesebbeknek feltűnhet egy extra attrakció: a wrapper a saját, utánzásra született fő állományai helyett képes a merevlemezünkön esetleg fellelhető Windows rendszer dll- és egyéb állományainak használatára. Tapasztalataink szerint nem szerencsés erre a megoldásra voksolni, ellenben mindenképp megér egy próbát. Helyes konfigurációs beállítás esetén egy csatolt CD-ről wine programnév.exe parancsra a kívánt program a "cseles" rendszert használva lefut. Ha az előbb pl. egy telepítést kíséreltünk meg, akkor a telepített útvonalra (jellemzően /home/$prefix/wine/elérési út) állva ismét kiadva a(z előbb leírt szerkezetű) parancsot, a telepített program elindul.
 
A wrappelt környezet természetesen nem 100% -os hatékonyságú. A kiszemelt program futásánál nem szabad elfelejtenünk, hogy egy Linux rendszer is fut az "ál-Windows" alatt, így a jelen lévő hardver teljesítményének bizonyos része nem lesz érezhető. Ha számokat kellene írni, akkor talán CPU 80%, RAM 30-80%-ban használható ki, nem beszélve a kényes OpenGL/3D beállításoktól, hálózati kapcsolattól. (A memória használat azért ennyire szélsőséges, mert nagyban függ az alkalmazott fizikai RAM mennyiségétől, és a kiszemelt alkalmazástól is. 512+ MB RAM alkalmazásának esetén már a 80% felé tart a mutató.)
 
Az alap projekt kompatibilitási listája nem naprakész, így az interneten fellelhető támogatott Windows programok listája a leírtaknak sokszorosa - érdemes tehát próbálkozni. A Transgamig, illetve CodeWeavers munkáinál már egész testes listát találhatunk, a megcélzott programok rétegeiből válogatva. Ettől függetlenül olyan Windows alkalmazásokat, melyekkel pénzt keresünk, tanácsos fokozott figyelemmel használni. Nem szabad megfeledkeznünk arról sem, hogy az utánzott környezet a Linuxtól eltérően sérülékeny, vírusok és egyéb ártó kódoktól alapvetően védtelen.
 

Végezetül

 
A Wine egy sokat bizonyított, kiemelt és fontos projektje a "szabad informatikai világnak". De azért ne menjünk el szó nélkül amellett sem, hogy Linux alatt a Windows világának megszokott, sok esetben kereskedelmi termékei jelentős részben rendelkeznek "szabad alternatívával", valamint az igényes játékok egy szűk rétege natívan - mindenféle trükk és utánzás nélkül indítható a saját Linuxos állományait felhasználva, így a wrapper használata az esetek jelentős részében valójában elkerülhető.