Použití Wine pro spouštění Windows aplikací v Linux Mintu

1149__100x140_wineAč osobně Wine příliš neholduji a dokáži se bez něj obejít, tak uznávám, že někdy je použití některé Windows aplikace pro někoho nevyhnutelné. Proto bude dnešní článek věnován těm našim uživatelům, kteří jsou nuceni používat Windows aplikace a dále pro nově přicházejícím uživatelům, kterým chceme ukázat, že lze spouštět Windows aplikace bez problémů i v Linux Mintu.

I přesto, že je výběr softwaru pro Linux Mint obrovský, tak tu a tam můžete mít pocit, že vám chybí aplikace, která je systému Windows běžně dostupná. Důvody mohou být různé, jeden z nich může být ten, že potřebujete přesně danou aplikaci. Dalším důvodem může být chybějící podpora pro konkrétní formát souboru nebo aplikace v Linux Mintu. Naštěstí existuje více způsobů, jak použít Windows aplikace na vašem linuxovém systému. Zde je rychlý přehled nejpopulárnějších metod. Dual boot: V této metodě budete muset vytvořit zvláštní oddíl a nainstalovat na něj systém Windows. Kdykoliv pak potřebujete spustit nějakou Windows aplikaci, restartujete počítač a nabootujte do Windows, kde běžně můžete používat tyto aplikace. Tato metoda se doporučuje pouze pro uživatele, kterým nevadí rozdělování pevných disků. Vyžadován je také dostatek místa na disku. Virtual Machine: V tomto případě se budete muset nainstalovat virtualizační program, jako je VMware Workstation nebo VirtualBox. V linuxovém systému si pak nainstalujete systém Windows na virtuální počítač. Na tomto virtuálním počítači můžete poté spouštět Windows aplikace bez nutnosti restartu systému. Používání virtuálního počítače však vyžaduje značné množství systémových prostředků. Jedná se hlavně o RAM, zatížení procesoru a místo na disku při běhu virtuálního počítače, ve kterém je spuštěn jiný operační systém (současně běží i ten plnohodnotný). Použití Wine: Wine vám umožní spouštět Windows aplikace bez nutnosti restartu nebo virtualizace. V tomto článku se zaměříme právě na spouštění Windows aplikací v Linuxu pomocí Wine.

 

Představení Wine

Wine (rekurzivní zkratka pro Wine ​​Is Not Emulator) je renderová vrstva (nebo program loader), umožňující běh Windows aplikací v Linuxu a v podobných POSIX  kompatibilních operačních systémech. Wine není emulační aplikace Windows pro Linux – místo toho poskytuje alternativní implementaci knihoven DLL, které vyžaduje typická Windows aplikace a je procesní náhradou jádra systému Windows NT. Wine je ze 100 procent vytvořen z volného kódu Microsoftu. Wine podporuje velké množství aplikací, ale ne všechny jsou podporovány stejně. Můžete se podívat na databázi aplikací Wine (AppDB, http://appdb.winehq.org), kde zjistíte, zda a jak vaše oblíbená Windows aplikace pracuje ve Wine. AppDB je udržována komunitou a můžete také přidat své vlastní poznatky. AppDB definuje následující typy ratingů …

  • Platinum: Aplikaci lze hodnotit jako Platinum, pokud se nainstaluje a běží bez problémů „out of the box“. Nevyžaduje také žádné změny v ​​konfiguračních souborech Wine.
  • Gold: . Aplikace funguje bezchybně a některé DLL jsou přepsány nastavením nebo softwarem třetích stran.
  • Silver: Aplikace výborně funguje pro „normální“ použití. Například, hra funguje pro jednoho hráče, ale ne v multiplayeru, Windows Media Player funguje jako plug-in v samostatném přehrávači, ale nemůže zvládnout DRM atd.
  • Bronze: Aplikace funguje, ale má nějaké problémy, a to i pro běžné použití. Například, hra není správně vykreslena nebo zobrazení písma je ve špatných barvách, je mnohem pomalejší, než by měla být atd.
  • Garbage: Aplikace získá toto hodnocení, pokud nemůže být použita pro účely, pro které byla navržena. Pokud ano, měla by mít alespoň jeden bug report v Bugzille. Aplikaci nelze nainstalovat, nespustí se nebo se spustí, ale má tolik chyb, že je téměř nemožné ji používat.

 

1150__420x340_wine1

 

1151__420x340_wine2

Instalace v Linux Mintu

Je opět jednoduchá. Stačí ve zadat do vyhledávacího pole Správce softwaru nebo Synapticu název aplikace a poté několika kliknutími nainstalovat. Pokud chcete mít nejnovější vývojovou verzi, otevřete terminál a zadejte tyto příkazy: Nejprve si přidejte potřebný repozitář:

Příkaz terminálu:
sudo add-apt-repository ppa:ubuntu-wine/ppa
 

Aktualizujte databázi softwaru:

Příkaz terminálu:
sudo apt-get update
 

A nainstalujte Wine:

Příkaz terminálu:
sudo apt-get install wine1.5
 

Instalace podpůrných balíčků pro Wine

​​Nyní je potřeba nainstalovat ne open source (ale free) podpůrné balíčky. Patří mezi ně např. základní písma společnosti Microsoft, Visual C++ runtime atd.  Takže pojďme se do toho …

Nainstalujte cabextract: Tento balík je vyžadován pro extrakci Microsoft CAB souborů.

Příkaz terminálu:
sudo apt-get install cabextract
 

Stažení scriptu winetricks : Nyní se musíte stáhnout šikovný skript s názvem winetricks, který automaticky stáhne a nainstaluje potřebné balíky a programy.

Příkaz terminálu:
wget http://winetricks.org/winetricks
 

Nyní zadejte následující příkaz pro instalaci potřebných balíků a programů:

Příkaz terminálu:
sh winetricks corefonts Tahoma

Tip: Můžete také spustit winetricks bez parametru příkazového řádku, takže si můžete vybrat balíčky, které potřebujete k instalaci z rozhraní GUI.

 

Instalace Microsoft Office

V našem příkladu budeme instalaci sady Microsoft Office 2007. Vložte Microsoft Office 2007 disk a klepněte pravým tlačítkem myši na soubor setup.exe a vyberte „Otevřít s Windows Program Loader“. To by mělo spustit instalaci Office. Nainstalujete je obvyklým způsobem, jako by se jednalo o běžný systém Windows.

 

1148__420x340_officesetupwizard1-300x258

 

Nastavení knihoven

Teď, když jste si nainstalovali sadu Microsoft Office 2007, je třeba, abyste se ujistili, že je Wine nakonfigurováno tak, aby šlo správně používat. Wine má totiž vlastní vestavěné knihovny systému Windows, ale můžete použít přímo nativní Windows knihovny, aby byla jistota, že aplikace je maximálně kompatibilní. Wine má vlastní konfigurační nástroj zvaný winecfg . Ten, mimo jiné, také umožňuje přepínat mezi vestavěnými a nativními verzemi knihoven. Otevřete si tedy ​​konfigurační nástroj Wine zadáním příkazu winecfg. Přejděte na záložku Knihovny a změňte riched20 a Usp10 na „nativní, vestavěný„. To znamená, že Wine ​​se nejprve pokusí načíst nativní Windows knihovny a pokud nejsou k dispozici, použije knihovny vestavěné.

 

Spuštění aplikace Microsoft Office

Microsoft Office by nyní měl být k dispozici v nabídce programů Linux Mintu. Můžete ho také zpřístupnit v Menu > Programy > Microsoft Office. Je to docela jednoduché a rutinní, že? Pokud ale chcete jednoduše spustit zvláštní program systému Windows (za předpokladu dobré kompatibility), pak máte vše nastaveno. Pokročilým uživatelům, kteří se chtějí dostat do další úrovně, doporučuji číst dál…

 

Ladění Windows aplikací pomocí Winelib

I vývojáři Windows aplikací třetích stran jsou závislí na milosti či nemilosti MS. Například vývojáři multimediálních aplikací pro Windows jsou nuceni spoléhat na DirectX i pro ty nejjednodušší úkoly. DirectX je majetkem Microsoftu a tudíž nikdo jiný nemá přístup k jeho zdrojům. Jednou může Microsoft vytvořit charakteristické rysy rozhraní DirectX, které nebudou přístupné ISV, protože je to nelegální. Windows Media Player pak bude nejlepší dostupný multimediální přehrávač v platformě, protože ostatní jsou nuceni spoléhat se na DirectX, aniž by nad ním měli plnou kontrolu. Vítejte tedy v Linux aréně, kde nic není nemožné. Vezměme si jako příklad znovu DirectX. Wine má svou vlastní implementaci DirectX (vyvinutou ve spolupráci s Transgaming Technologies). Wine vytváří společné multimediální rozhraní API, jako je např. Direct3D, DirectSound, DirectInput, DirectShow a další, jejich mapováním do výkonných a otevřených linuxových ekvivalentů jako je OpenGL, X11 a ALSA / OSS API. Proto při portování DirectX aplikací v Linuxu můžete používat všechny tyto otevřené technologie. Winelib může být použit jako první krok, jak dostat své aplikace z Windows do Linuxu. Posléze můžete postupně využít všech výhod, které právě Linux nabízí. Pomocí Winelib je možné spustit a sestavovat aplikace pro Windows v Linuxu bez nutnosti mít Windows. Winelib je součástí projektu Wine. Jedná se o open source implementaci Win32 API, vyvinutém na bázi Linuxu a X Window System (často označovaném jako Xorg). Winelib umožňuje sestavovat konzolové i GUI aplikace. Umí také sestavit soubory knihoven DLL (jako dynamických knihoven). Wine tedy zvládá zdrojový kód Windows v obou směrech …

 

Binární úroveň kompatibility

Úrovně binární kompatibility je dosaženo ve Wine ​​samotném. V tomto procesu, je zdrojový kód aplikace postaven na platformě Windows, pak je binární soubor je přijat v systému Linux a je provozován pomocí Wine. Při spuštění aplikace je binární kompatibilita použta pro všechny stávající .dll knihovny. Tento proces je velice jednoduchý, ale není schopen uvolnit plný výkon subsystému Wine. To je přesně stejný způsob, jak funguje Microsoft Office 2007 ve Wine.

 

Zdroje kompatibility

V této metodě je zdrojový kód souboru převzat linuxovým počítačem, kde je kompilován do Winelib knihoven pomocí GCC. Winelib je dodáván s nástrojem winemaker, což je skript v Perlu, který dělá všechnu „špinavou práci“ spojenou s konverzí zdrojového kódu. Teoreticky vzato, převod VC++ aplikace do aplikace Linux zahrnuje následující kroky:

  1. Zkopírování VC++ projektu do adresáře v Linuxu.
  2. Změna výše uvedeného adresáře a zadání následujícího příkazu:
Příkazy terminálu:
winemaker -lower-uppercase
./configure -with-wine=/usr/wine/
make
 

A je hotovo. Nyní můžete nainstalovat nebo spustit vestavěnou binárku.

 

Hello World

Zkusme si Winelib na obehraném „Hello World“ ve Visual C++.

*--------hello.c ----------*/#include <windows.h>int main(int argc, char** argv) { MessageBox(NULL, “Hello Readers, Welcome to Winelib.”, “Hello”, MB_OK); ret

 

Poznámka: Pro vytváření aplikací ve Winelib budete potřebovat GCC 4.5. To získáte zadáním následujícího příkaz v terminálu:

Příkaz terminálu:
sudo apt-get install gcc-4.5
 

S Wine je relativně snadné spouštět vaše oblíbené Windows aplikace a hry pod Linuxem. Pokud něco nefunguje momentálně, možná to už bude fungovat v další verzi Wine, protože aplikace je neustále vyvíjena. Pokud jste např. vývojář Windows, Wine umožňuje, aby byly vaše aplikace k dispozici i na platformě Linux. Stránky projektu Wine najdete na http://www.winehq.org/.

Štítky , .Záložka pro permanentní odkaz.

Jedna reakce na Použití Wine pro spouštění Windows aplikací v Linux Mintu

  1. jarek163 říká:

    Hezký článek
    Jen mně není jasné jak je to ve Wine s Monem a s NET Frameworkem. Pokud mam nainstalováno mono-complete, budu ještě potřebovat NET Framework?

Napsat komentář

Vaše emailová adresa nebude zveřejněna.