Photographie » Technique » Retouches sur ordinateur » Photoshop sous Virtualbox

Photoshop (Creative Suite) a de nombreux utilisateurs. L'alternative Gimp pour les utilisateurs de Linux n'est pas à la hauteur. Mais il est possible d'avoir le meilleur des deux mondes, notament Photoshop sous windows en utilisant Virtualbox.

La dernière version de Windows que je trouve acceptable est windows XP. J'ai également travaillé un certain temps (contraint et forcé) avec windows 7 qui était acceptable mais mettait des heures à se lancer. Il faut une journée pour nettoyer tout le bordel qu'à laissé une installation windows 7. En fait, dès l'apparition de Vista, je me suis tourné vers Linux.

A cette époque je travaillais dans un magasin d'électroménager, et j'avais de nombreux clients qui se plaignaient de la lenteur de leur ordinateur. C'est pas l'ordinateur qui est lent, c'est le système d'exploitation qui est dégeulasse.

Une des alternatives pour continuer à utiliser une ancienne version de Photoshop est Wine ("Wine is not an emulator"). Cela fonctionne généralement bien, mais l'installation est plus complexe que pour une application plus courante comme Notepad++. De plus, l'interface graphique windows et ubuntu ne font pas toujours bon ménage et la barre d'outils reste parfois visible à l'écran quand on a minimisé Photoshop. Et quand on retourne à Photoshop, on a perdu la barre d'outils.

Virtualbox est une application de virtualisation. Elle crée un environnement donné pour un système d'exploitation. Notez tout d'abord qu'il existe deux systèmes de virtualisation:

Dans les deux cas, le nombre de machines virtuelles est simplement limité par la capacité de l'ordinateur (puissance des processeurs et mémoire disponible). On peut avoir plusieurs configurations, dont une ou plusieurs peuvent être actives à la fois.

La machine virtuelle est une boite fermée, un virus ou du malware ne peuvent pas se propager aux autres configurations ni au système hôte.

Après installation de virtualbox, il faut maintenant créer une machine virtuelle. Pour cela il faut installer le système d'exploitation (comme sur un nouvel ordinateur) en utilisant le CD ou DVD d'installation ou une copie ISO.

Image 1:
Virtualbox crée le disque dur virtuel (appellé ici Win Photoshop.vdi dans le système hôte, mais le nom peut être choisi librement) ainsi qu'un lecteur optique virtuel contenant des additions permettant des fonctions d'interface supplémentaires. Il faut évidemment également définir d'autres paramètres, comme la quantité de mémoire physique à attribuer à la machine virtuelle, le nombre de processeurs,...

Image 2:
L'installation de windows s'effectue à gauche, tandis qu'à droite on voit le manager qui controle la machine virtuelle. L'installation de windows WP est tout à fait classique, à aucun moment windows ne se rend compte qu'il tourne dans une boite. Le manager transmet un fichier ISO comme source pour l'installation et windows croit qu'il s'agit d'un lecteur optique.

Image 3:
Windows est complètement installé et démarre maintenant pour de vrai, à partir du disque dur virtuel. C'est maintenant qu'on peut ajouter les pilotes spécifiques virtualbox qui vont permettre une meilleure intégration avec le système hôte.

Image 4:
Les applications windows peuvent maintenant être installées normalement. Il faut régulièrement controler que le disque dur virtuel ne se remplisse pas trop, surtout si la taille a été limitée (50GB, c'était malgré tout beaucoup lors du lancement de windows xp...)

Image 5:
Pour arrêter la machine virtuelle, on dispose de plusieurs moyens:
  • L'hibernation: la machine virtuelle est stoppée et le contenu de la mémoire virtuelle est stocké. Lors du redémarrage le système se retrouve dans exactement la même situation. L'hibernation est le système le plus rapide, car le contenu est stocké sur le disque dur (5 secondes si toute la mémoire virtuelle est utilisée). Le système virtuel ne se rend pas compte que la machine est passée en hibernation.

  • Arrêt normal: par l'envoi d'un signal ACPI standardisé, qui correspond à l'utilisation du bouton marche/arrêt. Le système d'exploitation local va alors s'arrêter de façon controlée. Cette opération correspond à l'arrêt par la commande logicielle "start/arrêt" (qui peut également être utilisée).


    Lors de la remise en route, le système d'exploitation effectue un redémarrage complet.

  • L'arrêt brutal qui correspond à une coupure de courant. Cette méthode n'est à utiliser que si le système d'exploitation virtuel ne répond plus. Cette méthode n'est normalement pas recommandée, sauf pour les systèmes qui ne connaissent pas la commande ACPI comme l'ancien système d'exploitation DOS.

Dans les exemples, le système hôte est ubuntu et l'ordinateur virtuel tourne sous windows XP. Le système virtuel a besoin de périphériques qui sont virtualisés:

Disque dur (le célèbre c:\)
Lors de la phase de configuration du système virtuel, Virtualbox va créer un fichier sur le système hôte qui est en fait le disque dur virtuel que verra le système d'exploitation lors de son installation et lors des démarrages successifs. Il est possible de lui attribuer une taille fixe dès de départ, mais on peut également le laisser grandir lors du fonctionnement de la machine virtuelle. On lui donne alors une taille maximale (par exemple 50 à 100GB, c'est amplement suffisant). Le fichier hôte grandit automatiquement jusqu'à la taille limite pendant le fonctionnement de la machine virtuelle.

Lecteur optique
On peut soit utiliser le lecteur de l'hôte ou un fichier ISO, que virtualbox va présenter comme lecteur optique classique. Pour l'installation, il est recommandé d'utiliser une version ISO, qui est plus rapide pour l'installation qu'un CD ou DVD. S'il faut créer plusieurs machines, on a intérêt à transformer le DVD en fichier ISO, l'installation sera dix fois plus rapide. Une fois l'installation terminée, on peut retirer le lecteur de la liste des périphériques virtuels. Pour la machine virtuelle, c'est comme si le lecteur n'était plus présent.

Processeur(s)
Il est nécessaire d'avoir un processeur qui permet la virtualisation: cela permet de faire tourner la machine virtuelle sans pénalité en ce qui concerne la vitesse d'exécution. Si on fait travailler la machine virtuelle en écran complet, on peut attribuer la moitié des processeurs disponibles à la machine virtuelle (pour autant qu'on ne fasse travailler qu'une seule machine simultanément). Windows XP permettait déjà les systèmes multi-cœurs, on peut donc lui attribuer 2 ou 4 cores selon les disponibilités.

Mémoire centrale
On va également attribuer la moitié de la mémoire centrale disponible à la machine virtuelle, avec un maximum de 2GB (windows XP 32 bits ne permet pas d'accéder à plus de 2GB, même si le système a plus de mémoire). Cette mémoire est retirée de la mémoire disponible pour l'hôte: il faut que le système hôte ait assez de mémoire pour pouvoir continuer à fonctionner. S'il faut plus de mémoire, le système hôte ainsi que le système virtuel vont tous deux utiliser des pages sur le disque dur: un fichier swap pour le système linux et un fichier pagefile pour windows (ce dernier fichier réside sur le disque dur virtuel).

Ecran
Virtualbox propose un écran standard avec les résolutions automatiquement adaptées. Windows XP démarre par exemple en mode VGA standard (640 * 480 pixels) pour passer à une résolution plus élevée. Normalement l'application travaille dans une fenètre, mais on peut attribuer toute la surface de l'écran à la machine virtuelle (comme si windows était le seul système d'exploitation actif).

Fichiers partagés
Le disque dur c:\ est un disque virtuel, représenté par un seul fichier dans le système hôte. Il n'est normalement pas accessible par l'hôte car les données qu'il contient ne sont pas directement exploitables. Si on veut échanger des données entre l'hôte et la machine virtuelle, il faut utiliser une forme de répertoires partagés. Le répertoire choisi est défini dans l'application hôte et est présentée au système comme répertoire partagé.

Imprimantes
C'est ici que cela se corse un peu. A cause des grandes différences dans les polices d'imprimantes, il n'est pas possible d'utiliser les pilotes de l'hôte. Les imprimantes définies au niveau de l'hôte ne sont donc pas accessibles dans la machine virtuelle. Par contre on peut associer un port USB à la machine virtuelle (pass through) et installer l'imprimante dans windows même. Cela ne fonctionne évidemment que s'il existe un pilote compatible pour l'imprimante, ce qui n'est généralement pas le cas avec les systèmes plus anciens. Dans le cas qui nous occupe, il faut donc retoucher les images (dans un répertoire partagé) avec photoshop sous windows et puis les imprimer avec une application linux comme gimp.

Pilotes spécifiques
Pour pouvoir passer à un écran complet ou pour pouvoir accéder aux répertoires partagés, il faut ajouter des pilotes spécifiques dans le système d'exploitation windows. Ces pilotes spécifiques créent un écran virtuel dont on peut adapter la taille en temps réel. Les répertoires à partager reçoivent une lettre (z:\ et ainsi de suite) pour être accessible par toutes les applicatons, même celles qui ne permettent pas l'utilisation d'un chemin UNC du genre //Virtualbox/photos/.

L'installation de ces pilotes spécifiques se fait dans le système d'exploitation virtuel: virtualbox crée un lecteur optique contenant les pilotes nécessaires, que windows va automatiquement installer, comme s'il s'agissait de pilotes classiques (carte graphique, imprimante,...).

La virtualisation permet d'utiliser un système d'exploitation ancien (même DOS) dans un environnement moderne. On peut utiliser des disques SSD PCIe NVMe (Solid State Drive, Peripheral Component Interconnect Express et Non Volatile Memory Express) alors que le système d'exploitation ne connait pas ce type de périphérique. Voici une petite évolution des technologies: Vous pouvez maintenant réaliser une machine windows XP qui démarre en quelques secondes.

Activation

Windows XP est un des premiers systèmes d'exploitation de Microsoft qui nécessite une activation. Après l'installation, tu as un mois pour effectuer l'activation. Passé ce délais il n'est plus possible de te connecter au système et tu dois effectuer une nouvelle installation complète ou retourner au premier Virtualbox back up (que tu as effectué après l'installation, j'espère).

Mais les serveurs d'activation de microsoft ne fonctionnent plus. Il est donc impossible d'activer ton installation, même si tu dispose d'un CD d'installation et d'une clef. Il faut donc forcer manuellement une activation. Il faut le faire avant la fin du mois.

Lancez l'éditeur de régistre (regedit) et allez à HKLM/SOFTWARE/Microsoft/Windows NT/CurrentVersion/WPAEvents/
La clef à modifier ou à créer si elle n'existe pas est OOBETimer (valeur hexadécimale)
Il faut introduire la valeur suivante: ff d5 71 d6 8b 6a 8d 6f d5 33 93 fd

OOBE veut dire Out Of the Box Experience et est lancé à chaque fois que windows démarre. Il n'est pas possible de bloquer ce programme, il est lancé par le système même sans clef de démarrage correspondante dans le régistre.

Controlez qu'il n'y a pas d'autres clefs qui ont ajoutées (c'est le cas si tu as démarré windows plusieurs fois). Il faut absolument effacer ces autres clefs.

Maintenant il faut empècher que windows ne modifie les clefs. Va sur WPAEvents, clic droit et modifier les permissions pour bloquer le système: le système ne peut plus modifier les clefs ou en créer de nouvelles. Au démarrage il lira la valeur correcte, mais ne sera pas en mesure de les modifier.


Notepad++ est une des applications windows qui tourne sous Wine sans configuration supplémentaire: cele ne sert à rien d'installer une machine virtuelle uniquement pour cette application.

Photoshop sous Linux
avec Virtualbox

1

2

3

4

5

Comparaison avec Wine

Virtualbox nécessite un système d'exploitation valable, installé sur le disque dur virtuel. Il faut donc disposer du CD ou DVD d'installation du système (pas une version OEM qui controle que l'installation s'effectue sur un type d'ordinateur bien particulier). Il faut ensuite activer la version windows, mais il existe des registry hacks pour contourner cette obligation. Il est de toute façon plus possible d'activer les anciennes version de windows, les serveurs ne tournent plus.

Wine crée de toutes pièces un faux environnement windows avec les principaux modules .dll nécessaires. S'il faut des modules supplémentaires, il faut les installer séparément. Les fichiers dll ne sont pas des fichiers windows (vous ne pouvez pas les copier d'une installation windows existante), mais des fichiers de traduction, qui transforment les commandes windows en commandes vers le système d'exploitation linux. Les fichiers dll fournis lors de l'installations de logiciels ne peuvent pas être utilisés, et il faut une alternative wine.

Les deux systèmes Virtualbox et Wine génèrent un disque virtuel, mais celui de Wine est généré par Wine et contient une fausse installation windows, tandis que virtualbox nécessite une vraie installation windows.

Il y a plus de possibilités avec virtualbox. L'installation de logiciels se fait de façon transparente dans la machine virtuelle et ne pose pas de problèmes. Virtualbox est plus spécifiquement destiné aux applications complexes ou si vous voulez une commande à distance relativement simple. Virtualbox isole le système virtuel de l'ordinateur physique. Il est possible de créer plusieurs versions du système virtuel en créant des images à chaques phases de l'installation de programmes supplémentaires. Il est ainsi possible d'éliminer complètement un système qui a foiré à la suite de l'installation d'un logiciel piraté (qui contient du malware).

Commande à distance

Il est même possible de créer une commande à distance, donc commander la machine virtuelle à partir d'un autre ordinateur, même si le système d'exploitation ne permet pas cette possibilité (windows XP home en comparaison de XP pro).

Cela se fait dans tous les cas en cas de virtualisation de type 1 où le client se connecte à son serveur virtuel qui n'est pas accessible. La virtualisation de type 2 permet de se connencter à la machine virtuelle via un client utilisant le protocole standard RDP.

Pages qui selon Google pourraient vous interesser

-