Skip to topic | Skip to bottom
Home
Linfo
Linfo.WindowsEmulatorr1.25 - 16 Jun 2003 - 20:30 - NicolasLioneltopic end

Start of topic | Skip to actions

e


+ WindowsEmulator (Wine) Etudiants : Lionel/Verlaguet
Encadrant : O. Dalle

winehq_top_logo.gif

T.E Wine


Sommaire

I Wine

II Vmware

III Produits utilisant Wine

IV Conclusion Finale


Wine

20001218_shot.jpg

1)Introduction

Qu'est-ce que wine ?

Wine est en fait un acronyme pour : Wine Is Not Emulator. La communauté qui développe wine s'appelle WineHQ il s'agit d'un projet Open source qui consiste à rendre natives Linux les applications windows.

Pourquoi wine ?

Si une société ou un particulier décide de basculer sous linux ils peuvent rencontrer beaucoup de problèmes. Changer de système d'exploitation amène à investir dans de nouvelles applications et amène à des complications.
Une solution alternative existe, ce sont les émulateurs. Toutefois, ils comportent des inconvénients, car un émulateur empêche toute intéraction (ou presque) avec le système qui supporte la machine émulée. De plus, le fait d'émuler un PC est un procédé gourmand en ressource et ralentit de ce fait tout le système.

C'est la que wine intervient. Wine permet de rendre les exécutables windows natifs, c'est à dire de les exécuter directement sur une machine unix comme n'importe quel autre fichier binaire éxécutable.
Les applications tournent aussi vite que sous windows, et peuvent utiliser les ressources systèmes (ex : une connexion internet), ou recevoir des signaux.Il est tout de même bon de noter que toutes ces fonctionnalités sont "théoriques", il est tout à fait possible qu'une application ne marche pas parce qu'elle utilise des appels systèmes non-implémentés, ou parce que l'environnement wine est mal configuré etc...
Wine c'est donc parfois du "bricolage", vous pourrez lire à peu près partout sur internet "HALF LIFE WORKING ON LINUX!!!" , certes... Sous quelle machine? Avec quel drivers? C'est ce qui constitue la grande force mais aussi la grande faiblesse de wine, le projet étant en développement, beaucoup de portes restent donc à ouvrir mais aucune garantie d'aucune sorte n'est offerte et installer une version stable (pour des logiciels exotiques) peut très vite devenir un véritable casse-tête.

Historique

  • Juin 1993      : Début de wine avec Bob Amstatd et Eric Youngdale
  • Juin 1993      : Alexandre Julliard et Peter MacDondald reprennent le projet
  • Juillet 1993      : Remplacement de tcl/tk par Xt
  • Septembre 1994   : Support netBSD
  • Mai 1995      : Support win32
  • Janvier 1996      : Word et Excel fonctionnent.
  • Novembre 1997   : WinLib mode supprimé
  • Novembre 1997   : Création du site web wineHQ.org
  • Octobre 1998      : Création de la mailing list et du CVS Tree
  • Octobre 1998      : Corel annonce sa participation au projet wineHQ
  • Année 2002      : Année la plus riche en progression (en ligne de code)
  • Mars 2002      : Première conférence sur wine


2)Utilisation de Wine

Comment installer Wine?

Il existe plusieurs solutions.

  • Le premier réflèxe est de télécharger les packages binaires et de les installer sur sa machine, le site de wine déconseille toutefois fortement cette solution, l'explication fournie concerne la configuration de wine qui risque d'être mal adaptée si le source n'est pas recompilé.
  • La deuxième solution "classique", est de télécharger le source de wine et de recompiler. Cette méthode est fiable mais minimise beaucoup les possibilités de wine, le code étant sans arrêt modifié, se limiter à la dernière version stable c'est aussi se priver de toutes les dernières nouveautés implémentées.
  • _Enfin et c'est la méthode la plus intéressante (parce que la plus riche), il est possible de télécharger l'arbre cvs du source, cela permet d'installer rapidement les mis à jours disponibles sur le web.

Comment utiliser wine ?

Cette partie est nettement plus délicate parce que dépendant grandement des besoins de l'utilisateur. S'il est question d'installer des produits aussi courants que le pack office, la configuration est quasi instantanée grace au setup sous forme de petite interface assez intuitive. Par contre pour l'utilisation de logiciels plus "exotiques", ou toute personnalisation, les choses se compliquent grandement.

Configuration de wine :

L'environnement windows est très vaste, le simuler peut s'avérer difficile. Trouver l'environnement le mieux adapté pour ses applications étant très rébarbatif, wine propose des configurations toutes prêtes. Il existe un outil graphique pour configurer cet environnement : wineSetupTk (développé par Codeweaver). Par contre pour la configuration de wine lui même, un autre outil est disponible : winecfg.

Comme cela a été dit précédemment, la configuration est une partie très délicate, il existe donc un outil pour tester la compatibilité d'une configuration avec l'environement Unix, en effet winecheck renvoie un pourcentage qui évalue le taux de compatibilité avec le système. Si ce taux n'est pas exactement à 100%, cela ne constitue pas un problème en soit, en fait une appréciation de type (bad good perfect) est aussi donnée. Mais les outils winecfg et winecheck ne sont en fait que des interfaces qui travaillent sur le fichier wineconf qui contient toutes les informations relatives au système. Winecfg pouvant ne pas suffir au bon fonctionnement de wine, voici en bref les principales informations contenues dans ce fichier :

Les périphériques utilisés Les répertoires systèmes Les ports utilisés Le style graphique de l'environement Les DLLs et leurs utilisations Les drivers

  • La base de registre microsoft :

Il est possible d'utiliser wine de deux manière différentes. La première consiste à lancer une application windows directement à partir d'une commande unix classique. Toutefois, un utilisateur habitué de windows peut vouloir simuler un bureau windows et par la même occasion faire fonctionner plusieurs applications windows dans ce bureau. Pour qu'une telle opération soit possible, il faut obligatoirement configurer sa propre base de registres, dans le cas contraire la base de registre fournie par défaut suffit à faire fonctionner une application seule. A la base le script d'installation crée une base de registre générique, pour la modifier il suffit d'utiliser regedit (comme sous windows).

REMARQUE IMPORTANTE : Pour faire fonctionner un exécutable SETUP ou INSTALL, la base de registre doit être obligatoirement présente et bien configurée.

  • Configuration des DLLs :

Deux types de DLLs existent :

  • native -> DLLs originelles (écrites par microsoft)
  • builtin -> DLLs réécrites par wine (native unix)

Les DLLs de type natives sont cherchées dans les répertoires systèmes (précisés par la variable d'environement WINEPATH) ou dans le répertoire courant de l'éxécutable. Il est possible de préciser l'emplacement d'une DLL lors de la saisie de la commande avec l'option --DLL.
Les DLLs builtin sont quant à elles dans la librairie libwine.so ou, et ce depuis peu, dans une librairie spécialisée.

Certaines librairies ne peuvent pas fonctionner en native en voici une liste non-exhaustive :

    • kernel32
    • krnl386
    • user
    • user32
    • gdi32
    • v32skrnl(émulateur 3.1 pour win32)
    • system(pour noyau win16)
    • display
    • winsock
    • wsock32.

Il est bon de savoir que certaines applications windows vérifient l'existance de certains fichiers DLL avant de s'éxécuter, le programme ne sait pas qu'il fait appel à des fonctions qui sont implémentées mais pas de la manière qu'il croit. Il suffit donc parfois de créer un faux fichier DLL vide pour qu'un programme problématique fonctionne correctement. Ce type de manipulation de fichier se fait exclusivement à la main et n'est pas toujours suffisante, en effet il se peut que le programme teste aussi la version de la DLL utilisée auquel cas un fichier vide n'est d'aucune utilitée. On peut aussi trouvé une DLL en cherchant un petit peu sur le réseau après vérification que son utilisation est légale.

Conclusion : utiliser une DLL native avec wine ne doit être qu'une solution de rechange. Il est faux de croire qu'en utilisant directement des librairies windows un programme pourrait mieux fonctionner. Car, les librairies sont dépendantes les unes des autres et utiliser une librairie native peut justement poser des problèmes d'incompatibilités. Le seul bon recours à une DLL native est donc en cas de non existance de librairie builtin.

  • Configuration des drivers graphiques x11drv et ttydrv :

Le driver x11drv sert à déterminer le mode graphique d'éxécution de wine. Pour mieux comprendre de quoi il s'agit il faut en fait réfléchir aux problèmes qu'impliquent l'utilisation d'une interface graphique.Quel est l'objectif final ? Faire fonctionner une application windows. Problème : les composants windows ne sont pas les mêmes que les composants x11.Le problème s'apparente de très près aux interfaces programmées en java. Les solutions (elles aussi prochent de celle proposée par sun pour java) :

    • Le mode managed : Les seuls composants natifs sont la fenêtre mère et la barre de menu, tout le reste est dessiné à l'intérieur de la fenêtre pour arriver à un résultat très proche d'une interface windows (quasi identique).

    • Le mode unmanaged / standart : Tous les composants sont natifs x11, mode beaucoup plus rapide (puisque natif) mais surnommé à juste titre par les utilisateurs wine "ugly mode".

    • Le Desktop : Tout le bureau windows est simulé (y compris l'application que l'on désire lancer).

Le driver ttydrv quant à lui sert à faire fonctionner une application en mode texte, il est peut utilisé, et assez simple à configurer (mis à part quelques problèmes de police).

  • Le problème de la version de Windows :

Beaucoup de programmes fonctionnent uniquement pour certains types de versions de windows. Initialement (dans un environnement microsoft) l'appel système getVersion() permet de connaitre la version du système d'exploitation installé. La plus part du temps wine arrive à deviner la version qu'attend le programme et donc tout se passe bien. Si par malchance, la version renvoyée par défaut n'est pas correcte, il est alors possible d'imposer une version de windows pour un programme spécifique dans le fichier de configuration.

  • L'impression :

Deux port sont disponibles part défaut : LPT1 et LPT2. Ces deux ports se comporte en fait comme des tubes unix, on peut donc rediriger leur sortie vers un fichier (.ps par exemple), ou si l'on veut directement imprimer il suffit de rediriger la sortie vers lpr ( "|lpr" tout simple). Donc à priori si l'imprimante fonctionne correctement sous unix, il n'y a pas de raison pour quelle ne marche pas ici.

  • Le clavier :

Si le clavier n'est pas reconnu directement la seule solution est de modifier le source du fichier keyboard.c et d'ajouter la table de caractères adaptée au matériel de l'utilisateur. Une fois cette modification faites, il suffit de recompiler (uniquement la partie concernée bien sûr).

  • La gestion du SCSI :

Le SCSI doit etre pris en compte par le système hôte unix, et il est conseillé d'utiliser un logiciel existant windows pour configurer le SCSI (partie apparemment très pointue et donc non détaillée ici).

  • Lancement de Wine :

Il existe trois façons de lancer un éxécutable windows avec wine :

$wine "le chemin de l'éxécutable"
$wine "c:\le chemin windows de l'éxécutable"
Utiliser l'explorateur calimera (équivalent de l'explorateur windows), d'autre versions sont en cours de développement celle-ci n'étant pas très fiable.

Plusieurs commandes sont disponibles :

$uninstaller (pour ajouter/supprimer une application windows)
$wine control (permet de lancer le control panel)

Pour débugguer wine :

Le nombre de warnings et de bugs étant tellement exorbitant, ils ont été regroupés par catégories.
$wine --debugmsg warning+heap commande (pour avoir tous les warnings de la catégorie heap)
$wine --debugmsg +heap commande (pour avoir toutes les informations relatives à cette catégorie)
$wine --debugmsg +all,-relay commande (pour avoir tous sauf ce qui concerne la catégorie relay)

PS : par expérience la catégorie heap ralentie beaucoup l'éxécution du programme ses messages d'erreurs étant très nombreux.

Pour ajouter ou modifier une variable d'environnement il suffit d'utiliser export dans le shell qui lance l'application. Exception pour le cas de PATH qui s'appelle WINEPATH.

Recapitulatif en cas de Bug :

  • Utiliser winecheck
  • Tester si la version de windows que renvoie getVersion() est la bonne
  • Essayer de lancer l'application à partir de '$wine "c:\CHEMIN\éxécutable"' plutot que '$wine éxécutable'
  • Lancer l'application avec l'option --debugmsg
  • Checker l'environnement système
  • Recompiler wine avec les dernières librairies (C, X11, etc...)
  • Utiliser différents mode graphiques ex : unmanaged ou managed
  • Vérifier si le logiciel windows ne dispose pas d'un track de copie (il ne sont pas gérés par wine) et dans ce cas essayer d'utiliser une version crakée
  • Reconfigurer wine
  • Aller voir dans la dataBase Application si une personne n'a pas publié un fichier de configuration
  • Chercher sur internet

L'outil WineLib :

Il permet de recompiler un source windows sous linux. Nous n'avons pas détaillé cette partie nous paraissant trop technique pour ce rapport. L'outil prinicpal qui permet cette recompilation s'appelle winemaker, cependant il fonctionne en collaboration avec d'autres outils (wrc etc...).


3) L'architecture de wine :

Wine fonctionne en fait sous forme de serveur IPC, c'est à dire un serveur qui communique avec plusieurs processus. Lorsqu'il se lance il créé un socket unix qui va permettre aux clients de se connecter. Puis il attribue un buffer à chaque client, il est utile pour la synchronisation de processus clients. Attention cela ne veut pas dire que le serveur gère des threads, il est lui meme un processus indépendant. En fait une boucle écoute les différents buffers et réveille le serveur quand un service lui est demandé. Evidemment les modes Win16 et Win32 ne peuvent pas être gérés de la même manière. Les processus 32 bits sont tout à fait indépendants et ont leur espace d'adressage propre. Par contre en ce qui concerne les processus Win16, la gestion du multitâche est de type coopératif, c'est à dire qu'un processus s'occupe de faire tourner toutes les applications win16 ce processus s'appelle le "WOW process". Il faut savoir que toute l'architecture est inspirée de celle utilisée dans les versions NT de windows et donc que les DLLs vitales au système (user, gdi, kernel) ont des fonctionnements très similaire à celle rencontrée sur ce type de système d'exploitation. Un dernier point important, chaque commande envoyée au serveur réquisitionne celui-ci jusqu'à ce qu'il aie répondu à la demande. Or on ne peut pas bloquer tout le serveur (à cause des autres clients) à chaque fois qu'une tâche longue s'éxécute sur celui-ci. Pour remédier à ce problème à chaque processus client est associé un thread spécial appelé le "service thread", il occupe sont propre espace d'adressage et gère les tâches de longue durée d'un client (typiquement les écouteurs et appels au serveur X).

Quelques librairies importantes :

  • L'interface graphique (GDI32.DLL): Elle a été implémenté en utilisant les équivalents X de chaque fonctions. Normalement en appelant la fonction XInitThreads(), la gestion d'un display utilisé en concurrence est enclanchée. Sont utilisation n'a toutefois pas lieu ici. En effet, les programmeurs ont préféré masquer les fonctions du serveur X, et gérer ainsi eux même les problèmes de synchronisations.
La norme choisit est assez simple, toute fonction appartenant à une librairie X11 a son équivalent précédé de TS. Exemple : je veux appeler XOpenDisplay() synchronisé correctement pour wine : j'appelle TSXOpenDisplay().

  • La gestion des fenêtres (USER32.DLL) : C'est le module qui gère la hiérarchie des fenêtres et les files d'événements de tout le système.


Developpement de Wine

Comment contribuer à wine :

Le type de contribution que vous pouvez apporter dépend évidemment de votre niveau en tant qu'informaticien. Il y a cependant plusieurs façon d'aider la communauté wineHQ et ce à tous les niveaux.

  • Niveau débutant : Vous pouvez organiser le portage d'une application windows qui ne nécessite pas de modification des librairies existantes, vous pouvez publier un fichier de configuration, ou un HOWTO, pour aider les personnes désireuses d'utiliser ce logiciel. Pour que votre travail soit accessible à tous une bonne idée serait de s'inscrire à la Wine Application Database(inscription gratuire), afin d'apporter tout type de commentaires utiles concernant un logiciel. Enfin vous pouvez lister les DLLs externes indispensables au bon fonctionnement de l'application concernée. Vous ne pouvez par contre pas les distribuer, il faut que l'utilisateur dispose de la licence microsoft pour une utilisation légale.

  • Niveau confirmé : Il manque énormément de documentation concernant l'API wine. Une bonne connaissance du système windows est naturellement indispensable.

  • Niveau expert : Si vous êtes un bon programmeur et que vous connaissez bien le monde unix et le monde windows, alors vous pouvez apporter une aide précieuse au projet Wine.
    • Comment faire : Télécharger l'arbre CVS dans un premier temps est indispensable. Repérer comment il fonctionne, et surtout comprendre en détail l'architecture wine (le résumé au dessus peut déjà vous donner une idée). Il est inutile d'essayer de modifier ou d'améliorer cette architecture, en effet, elle est en train de se stabiliser et ne devrait plus être touchée par la suite dès que quelques détails seront réglés. De plus une architecture stable permet de se préoccuper plus de l'objectif principal : implémenter un maximum de librairies windows.
    • Ce qu'il faut connaitre : Il faut être un programmeur C expérimenté parce que tout le code est exclusivement écrit avec ce langage. Les librairies vitales au système (kernel, user, gdi) sont quasiment celle de windows NT, donc si vous les connaissez bien : pas de problème. Dans le cas contraire vous pouvez toujours vous référer au manuel du développeur wine (malheureusement incomplet).
    • Par quoi commencer ? La meilleure chose à faire pour se familiariser avec les librairies wine est de commencer par le portage d'une application que vous avez écrite vous même pour windows. Cela facilite en effet beaucoup de choses, d'une part parceque vous disposez du code source, et d'autre part parceque vous savez exactement comment votre programme fonctionne. Il vous reste alors à transformer votre source grace à l'outil build puis observer ce qu'il se passe. Si tout fonctionne normalement, aucune modification du source des librairies n'est utile. Dans le cas contraire, il vous faut comprendre d'où vient le problème, c'est la que le debuggueur intervient. Vous tracez votre programme en affichant les catégories de messages qui concernent votre problème. Une fois que vous avez repéré d'où venait l'erreur vous pouvez modifier le source de la librairie wine.
    • Pour aller plus loin Si vous êtes certains de connaitre suffisamment une librarie pour en écrire un équivalent unix, vous pouvez programmer toute la librairie en prenant garde à certains détails. Assurez vous dans un premier temps que vous disposez des bonnes versions du source de wine, il existe plusieurs "branches" à l'arbre CVS, et si vous développez une librairie dans une section non-adaptée vous risquez d'empêcher une future "fusion" de "branches". Deuxièmement, consacrez plutôt vos efforts sur une librarie très utilisée et qui fonctionne mal en natif, les autres pouvant être incluses, leur implémentation peut être remise à plus tard.
    • Les problèmes Premièrement le problème de la documentation, le seul moyen légal d'accéder à une documentation complète de windows, est de l'acheter. Deuxièmement, tout ce qui a été développé jusqu'à présent par wine à un fonctionnement similaire à celui de librarie windows mais pas tout à fait équivalent, donc il suffit qu'un appel système ne se comporte pas exactement de la même manière sous windows et sous wine pour qu'un debuggage long et difficile commence. Enfin, le problème de la compatibilités des modifications. En effet, la communautée wine a beaucoup de difficultés à fusioner tout le travail apporté par chacun de ses membres, une modification apportée à une fonction système peut nuire au bon fonctionnement d'un logiciel qui utilisait une version plus ancienne.

La communauté Wine :

Il existe plusieurs manière de se tenir informé des dernières nouveautés wine, ou tout simplement de communiquer avec d'autres développeur sur ce sujet.

  • Les Mailing list sur chaque type de sujets (inscription obligatoire)
  • Le newsgroup à l'adresse comp.emulators.ms-windows.wine
  • Le chat IRC à l'adresse Freenode.net (il exite un channel dédié à wine)


Ou trouver les applications "sûres" ?

La communauté wine a mis à disposition des utilisateurs, une base de données consultable en ligne. L'inscription est gratuite et rapide, elle permet de faire des recherches plus ou moins avancées (par nom, par vendeur, par motif ou par catégorie). La base de données est mis à jour par les utilisateurs eux-même, en effet il est possible d'envoyer un rapport sur une application en particulier. Une fois l'exactitude des informations vérifiée par l'administrateur, la nouvelle application est mise en ligne pour tout le monde. Il est alors possible de commenter ou de voter pour une application, autant d'informations utiles lorsque l'on décide de porter un logiciel.

Quelque photos éloquentes

20010209_shot.jpg

wine_13.jpg

wine_16.jpg


Wine et Microsoft

1) Introduction

Comme toute société, Microsoft défend ses intérêts. C' est pourquoi Wine peut se révéler être une menace pour le leadeur mondial de l' informatique : en effet si les outils tels que le Pack Office tournent sur un système différent que Windows, cela représente un manque à gagner dans la vente des licences Windows à venir. Pourtant Wine n' a jamais eu à souffrir de procès intentés par Microsoft. Pourquoi ? Cela s' explique en deux points :

  • Wine en arrière plan
  • La loi Anti-Trust

2) Wine en arrière plan

La seule fois où Wine fut mêlé à un procès avec Microsoft, ce fut lors du procès mélant Lindows (voir partie « produit utilisant Wine ») et Microsoft. En effet Lindows est un projet de système d’exploitation hybride qui devait permettre aux utilisateurs d' utiliser indifféremment des applications Win32 ou Linux. Lindows est en fait un Linux avec Wine préintégré pour assurrer la compatibilité Win32. Microsoft a donc reproché à Lindows un nom trop familier avec Windows. La question est : pourquoi ne pas plutôt s' attaquer directement à Wine sur lequel le principe révolutionnaire de Lindows repose ? La réponse est simple : la loi Anti-Trust

3) La loi Anti-Trust

Le principe de Wine reposant en grande partie sur la réimplémentation des dlls windows en dlls unix, l' utilisateur de Wine peut craindre que Microsoft rajoute des modules empêchant, au moins à ses programmes, de ne pas tourner sous un système d’exploitation autre que Windows. C' est là que la loi Anti-Trust apporte une certaine sécurité. Si Microsoft exigeait de ses applications de ne tourner que sous son système d' exploitation, alors il serait en infraction avec la « Sherman Anti-Trust Act ». Microsoft ayant déjà eu à faire à cette dernière, à son grand regret, il ne peut par conséquent rien reprocher à Wine.


VmWare

1) Introduction a Wmware

Sur le marché de l'émulation, presque toutes les solutions ont un point en commun : elles émulent un systéme d'exploitation particulier. C'est là que Vmware se differencie de tout les autres : il n'émule pas un systéme d'exploitation particulier mais une machine virtuelle avec des composants virtuels. Puisque Vmware est un produit a but commercial, son code n'est pas accessible, c'est pourquoi nous allons explorer les divers aspects suivants :

  • son fonctionnement théorique
  • son utilisation
  • ses avantages/défauts principaux
  • les systèmes d'exploitation supportés

2) Fonctionnement théorique de Vmware

Installation
Afin de disposer d'un autre sytème d'exploitation que celui de la machine hôte, l'utilisateur va lancer la creation d'une nouvelle machine virtuelle : il va au début préciser pour quel type de systéme d'exploitation cette machine est déstinée, choisir les composants disponibles (voir ci-après) et régler les diverses options proposés par le "new virtual machine wizard". Une fois crée, l'utilisateur n'aura plus qu'à lancer sa "nouvelle machine", il verra alors un écran de démarrage d'ordinateur indiquant la version du bios et les informations courantes sur les composants .Ensuite pour installer le systeme d'exploitation, il ne restera plus qu'à faire un formtage du disque dur(virtuel) et une installation classique. Ce système ne comprendra même pas qu'il tourne sur une machine virtuelle!!! Enfin, afin de profiter pleinement des fonctionnalités de Vmware, l'utilisateur devra ensuite installer les "Vmware Tools" correspondant au systéme d'exploitation tout juste installé; ces derniers sont très importants car ils contiennent notammment les drivers de certains composants virtuels.

ws4_large5.jpg
Windows 95,Xp et netWare en machine virtuelle; Linux en machine hôte

Les Composants virtuels
Au moment de la création d'une nouvelle machine virtuelle, Vmware vous propose de choisir les composants dont disposera cette machine virtuelle(lecteur de disquette, lecteur de cd...) parmi les composants que dispose réellement votre machine, ainsi que quelques composants purement virtuels (carte graphique, carte son, carte réseau etc...).

    • Inconvenients majeurs des composants virtuels : ils se situent dans la carte son et dans la carte graphique virtuelle : puisque d'un pc à un autre vmware ne peut savoir de quelles fonctionnalitées ni de quelle puissance disposeront les cartes réelles de l'ordinateur. Vmware émule par conséquent des cartes peu performantes qui possédent le minimum commun à toutes les cartes réelles du marché. Par conséquent l'utilisation multimedia de ces machines virtuelles peu se révéler très pauvre bien que des améliorations non négligeables aient été apportées (intégration de récentes versions de DirectX et d'openGL).

    • Points forts des composants virtuels : ils résident en son réseau "virtuel", en effet chaque machine virtuelle peut avoir une carte réseau virtuelle qui après configuration lui permettra d'échanger des données avec les autres machines voir même avec la machine hôte.Cela est un avantage pour deux points en particulier : tout d'abord, on programme sur un système d'exploitation, on teste dans la seconde sur un autre. Ensuite,pour naviguer sur internet : si la connexion ne marche pas sur une machine virtuelle (ou sur l'hôte) il suffit de configurer une des machines en tant que proxi.

ws40_running2_t.gif
Trois session différentes

3) Utilisation

Vmware Tools
Les Vmware Tools sont des logiciels fournits pour tous les types de systèmes d'exploitations émulés. Leur installation est inévitable car ils contienent notamment le drivers des composants virtuels mais ils procèdent aussi à des réglages qui permettent une utilisation beaucoup plus agréable de Vmware, entres autres : dossiers partagés entre toutes les machines, "quick switch" pour passer d'une machine à une autre en mode plein écran et bien d'autres fonctionnalités.

Aspects et impressions rencontrés
A l'utilisation, deux aspects relativement opposés de Vmware se font particulièrement ressentir: tout d'abord la souplesse, chaque machine virtuelle est totalement indépendante des autres et de la machine hôte, il n'y a donc pas à craindre un plantage en chaîne et un blocage de l'ordinateur ; ensuite l'aspect glouton en ressource : les ressources (processeur, mémoire vive etc...) sont réparties équitablement entre les machines ,exemple: un P3 1ghz avec 512mo ram où tourne deux machines virtuelles sera a peu près redistribué de la sorte, machine hôte 400 Mghz 256 mo de ram, machine virtuelle 300 Mghz 128 mo de ram chacune...
En bref, Vmware est très agréable à utiliser à condition de posséder une machine puissante.

4) Avantages/défaut

Defaut

  1. Une solution extrêmement gourmande en ressource qui peut rendre l'ordinateur très lent si l'utilisateur lance trop de machines virtuelles, donc une perte de temps possible.
  2. Une solution payante et pas des moindres : la version de base est vendu 300 euros celle pour serveur 3000... Par contre, il existe une licence à 120/130 euros par poste pour les universités.
  3. Une utilisation multimédia limitée sur machines virtuelles.

Avantages

  1. Une stabilité quelque soit le systéme d'exploitation émulé qui peut éviter bien des pertes de données, de temps(redémarrage de l'ordinateur) et de patience ...
  2. Chaque système installé sur une machine virtuelle est entièrement émulé
  3. Un solution très prometteuse pour tout programmeur.
  4. Une utilisation simple et fonctionnelle, notamment grâce à l'ensemble des "VmWare Tools".
  5. Pas de pc "coupé en deux" entre les différents systèmes d'exploitation

ws4_large2.jpg

5) Systèmes d'exploitation supportés

Plateformes Host supportées Plateformes Windows supportées

  • Windows® Server 2003 Web Edition RC2, Windows Server 2003 Standard Edition RC2, Windows Server 2003 Enterprise Edition RC2
  • Windows XP Professional and Windows XP Home Edition avec le SP 1
  • Windows 2000 Professional Service Pack 1, 2 or 3, Windows 2000 Server Service Pack 1, 2 or 3, Windows 2000 Advanced Server Service Pack 1, 2 ou 3
  • Windows NT® Workstation 4.0 Service Pack 6a, Windows NT Server 4.0 Service Pack 6a, Windows NT 4.0 Terminal Server Edition Service Pack 6

Plateformes Linux supportées

  • Mandrake Linux 9.0 - stock 2.4.19
  • Mandrake Linux 8.2 - stock 2.4.18-6mdk
  • Red Hat Linux Advanced Server 2.1 - stock 2.4.9-e3
  • Red Hat Linux 8.0 - stock 2.4.18
  • Red Hat Linux 7.3 - stock 2.4.18
  • Red Hat Linux 7.2 - stock 2.4.7-10, upgrade 2.4.9-7, upgrade 2.4.9-13, upgrade 2.4.9-21, upgrade 2.4.9-31
  • Red Hat Linux 7.1 - stock 2.4.2-2, upgrade 2.4.3-12
  • Red Hat Linux 7.0 - stock 2.2.16-22, upgrade 2.2.17-14
  • SuSE Linux Enterprise Server 8 - stock 2.4.19
  • SuSE Linux 8.1 - stock 2.4.19
  • SuSE Linux 8.0 - stock 2.4.18
  • SuSE Linux Enterprise Server 7 - stock 2.4.7 and patch 2
  • SuSE Linux 7.3 - stock 2.4.10

Plateformes Guest supportées Microsoft Windows

  • Windows® Server 2003 Web Edition RC2, Windows Server 2003 Standard Edition RC2, Windows Server 2003 Enterprise Edition RC2
  • Windows XP Professional and Windows XP Home Edition with Service Pack 1
  • Windows 2000 Professional Service Pack 1, 2 or 3; Windows 2000 Server Service Pack 1, 2 or 3; Windows 2000 Advanced Server Service Pack 3
  • Windows NT® Workstation 4.0 Service Pack 6a, Windows NT Server 4.0 Service Pack 6a, Windows NT 4.0 Terminal Server Edition Service Pack 6
  • Windows Me
  • Windows 98 and Windows 98 SE
  • Windows 95
  • Windows for Workgroups 3.11
  • Windows 3.1

Microsoft MS-DOS

  • MS-DOS 6.x

Linux

  • Mandrake Linux 8.2, 9.0
  • Red Hat Linux 7.0, 7.1, 7.2, 7.3, 8.0
  • Red Hat Linux Advanced Server 2.1
  • SuSE Linux 7.3, SLES 7, SLES 7 patch 2, 8.0, 8.1, SLES 8
  • Turbolinux Server 7.0, Server 8.0, Workstation 8.0

Novell NetWare

  • NetWare 5.1, 6

FreeBSD

  • FreeBSD 4.0-4.6.2, 4.8

6) Conclusion

Tout comme Wine, Wmware est un produit prometteur. Son utilisation est avant tout réservée au secteur professionnel de part son prix mais aussi de part ses capacités multimédias limitées.

Source : www.Vmware.com, www.toolinux.com, www.zdnet.fr et divers forums de discussions


Produits utilisants Wine

1) Introduction

Etant donné les capacités de Wine ainsi que son caractère Open Source, quelques produits se basant sur Wine ont vu le jour. Notamment :

  • WineX de Transgaming
  • LindowsOs de Lindows
  • Crossover de Codeweawers

right_nav_2_ro.jpg

2) WineX de transgaming

Si Crossover est une version "bureautique" de Wine, alors WineX est la version "jeux". WineX est issu d'une idée simple : pourquoi un jeu qui aurait couté une fortune à développer, ne devrait t'il tourner que sur une seule plateforme ? Oter cette contrainte, arrangerait aussi bien les éditeurs que les joueurs. Grâce à la technologie Open Source que propose Wine, WineX fut créé et supporte à ce jour plus 300 jeux dont un grand nombre de jeux très récents(Warcraft 3, Medal of Honnor ...) utilisant des versions récentes de DirectX. Pour tout fou de jeux et amoureux de Linux, WineX est la solution idéale.

Source : www.transgaming.com et www.toolinux.com

slogan.gif

3) LindowsOs de Lindows

LindowsOs est un produit qui a longuement fait parler de lui à sa création, il s'agit d'un systéme d'exploitation Linuxien avec Wine préintégré. L'objectif premier était de réaliser un sytéme d'exploitation hybride sur lequel tournerait aussi bien les applications windows que les applications linux, l'idée semblait être en bonne voie lorsque Lindows gagna ses deux procés face à microsoft qui leur reprochait d'avoir un nom trop proche de windows. Mais bizarrement la société remplaça son objectif premier à savoir la compatibilité entre les deux mondes par le principe du "clik-n-run" : une logithéque relativement large disponible via le net... Si l'on cherche un peu sur le site, il semble que la compatibilité ne soit assurée que pour les éléments du pack office de microsoft...

Source : www.lindows.com et www.journaldunet.com

crossover_office_small.gif

4) Crossover de Codeweawers

Codeweaver commercialise un logiciel du nom de Crossover qui est une version commerciale de wine, l'un des cofondateurs (Alexandre Julliard) travaille sur les produits développés par cette société (principalement crossover). Crossover se sert de wine comme base pour fonctionner. Les objectifs de la société n'est pas vraiment de concurrencer le projet Wine puisqu'elle participe au développement de celui-ci. Mais, plutôt d'accompagner les entreprises désireuses de passer sous linux, et de leurs offrir un savoir-faire et des garanties. Il existe plusieurs version :
  • La version client, pour faire travailler des machines clients linux avec un serveur windows.
  • L'office, pour faire fonctionner les applications windows les plus courantes
  • Crossover plugin, permet de faire fonctionner shockwave, QuickTime, Windows media player, les viewers Word Excel et PowerPoint, dans un navigateur unix.

Contrairement à Wine, Crossover simplifie énormément les actions de l'utilisateur par le biais d'interfaces simples. Tout est automatisé, il n'y a pas de manipulations à la main à faire. En cas de probléme, en plus du support en ligne qui semble être très au point, une large banque de données concernant les bugs rencontrés est disponible sur le site.

Voici la liste des applications Win32 dont Codeweawers certifie la compatibilité : Microsoft Word 2000, Microsoft Excel 2000, Microsoft Power Point 2000, Lotus Notes R5, Microsoft Outlook 2000, Microsoft Access 2000, Microsoft Internet, Explorer 5.0 and 5.5, Adobe Photoshop 7.0, Microsoft Visio 2000, Intuit Quicken 2002, Microsoft Word XP, Microsoft Excel XP, Microsoft Powerpoint XP.

installwizardchoose.gif
La liste des applications dont la compatibilité est assurée

Source : www.codeweawers.com

5) Conclusion

Des trois applications citées ci-dessus, seule WineX et Crossover ont un caractére réellement intéressant. Elles se complétent parfaitement pour le plus grand plaisir des Linuxiens. Cependant, contrairement à Wine, elles ne sont pas gratuites.


Conclusion Finale

L'outil wine est utilisé dans de nombreuses solutions commerciales, il est donc fiable jusqu'à un certain point. La grande question qui reste à ce jour sans réponse est : La communauté wineHQ finira-t-elle un jour un "clone" parfait de windows ? L'avenir nous le dira.


to top

I Attachment sort Action Size Date Who Comment
icone_about.jpg manage 1.2 K 31 May 2003 - 19:41 NicolasLionel  
winehq_top_logo.gif manage 6.5 K 12 Jun 2003 - 12:09 JulienVerlaguet logo wine
bcbuilder.jpg manage 175.4 K 12 Jun 2003 - 12:53 JulienVerlaguet  
winicq.jpg manage 45.8 K 12 Jun 2003 - 12:53 JulienVerlaguet  
crossover_office_small.gif manage 4.5 K 12 Jun 2003 - 12:54 JulienVerlaguet  
vb6.jpg manage 110.2 K 12 Jun 2003 - 12:54 JulienVerlaguet  
ws4_large4.gif manage 95.0 K 12 Jun 2003 - 13:26 NicolasLionel  
ws4_large2.gif manage 326.8 K 12 Jun 2003 - 13:27 NicolasLionel  
ws4_large5.gif manage 49.3 K 12 Jun 2003 - 13:27 NicolasLionel  
installwizardchoose.gif manage 43.5 K 13 Jun 2003 - 21:24 NicolasLionel  
slogan.gif manage 2.0 K 14 Jun 2003 - 10:12 NicolasLionel  
right_nav_2_ro.jpg manage 3.1 K 14 Jun 2003 - 10:12 NicolasLionel  
ws40_running2_t.gif manage 48.3 K 16 Jun 2003 - 18:13 NicolasLionel  
ws4_large2.jpg manage 76.5 K 16 Jun 2003 - 18:15 NicolasLionel  
ws4_large5.jpg manage 61.9 K 16 Jun 2003 - 18:16 NicolasLionel  
20001218_shot.jpg manage 86.2 K 16 Jun 2003 - 18:30 NicolasLionel  
20010209_shot.jpg manage 103.4 K 16 Jun 2003 - 18:31 NicolasLionel  
wine_13.jpg manage 139.4 K 16 Jun 2003 - 18:32 NicolasLionel  
wine_16.jpg manage 165.4 K 16 Jun 2003 - 18:32 NicolasLionel  

You are here: Linfo > WindowsEmulator

to top

Copyright © 1999-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding WIKIDeptinfo? Send feedback