Fotografie

Photoshop onder Linux
met Virtualbox


Fotografie » Digitale doka » Virtualbox

Photoshop (Creative Suite) heeft nog altijd talrijke gebruikers. Het Linux-alternatief GIMP is zeker niet zo goed. Maar het is mogelijk het beste uit de twee werelden te hebben, namelijk Photoshop onder Linux!

De laatste Windows versie die door de beugel kan is windows XP. Ik heb ook een tijdje gewerkt met windows 7, maar het systeem nam zijn tijd om op te starten. Na de installatie heb ik dagen nodig gehad om al de geïnstalleerde rommel te verwijderen en het systeem te optimaliseren. Vanaf dat Vista gelanceerd werd ben ik overgeschakeld op linux, dat was toen Ubuntu, en ik ben bij dit systeem gebleven.

Ik werkte toen in een electro-winkel en ik kreeg regelmatig computers binnen die veel te traag waren. Het was bijna nooit de computer die traag was, maar het operating system. Zels een liedje afspelen verliep haperend.

Een van de alternatieven om een oude Photoshop versie te blijven gebruiken is Wine ("Wine is not an emulator"). Het werkt, maar de installatie is complexer dan bij een standaard applicatie zoals Notepad++. De grafische interface van photoshop werkt niet goed samen met ubuntu en de werkbalk blijft soms op het scherm als photoshop geminimaliseerd is. En als je terug naar photoshop gaat is de werkbalk verdwenen.

Virtualbox is een toepassing voor virtualisatie. Er wordt een omgeving aangemaakt waarin een besturingssysteem geïnstalleerd kan worden. Er bestaan twee systemen van virtualisatie:

  • Type 1 ("bare bones"), de virtualisatie is een eigen operating system die op de host computer draait. Omdat er geen operating system nodig is, is de overhead ook minder. Dit type wordt doorgaans gebruikt voor internet servers, zodat de gebruiker over een virtuele computer kan beschikken. Op het einde van het contact wordt de virtuele machine gewoon gewist.

  • Type 2, dit is de versie die doorgaans gebruikt wordt. Het is een toepassing die op het operating system van de host draait (windows of linux), maar die één of meerdere complete computerconfiguraties omvat.
In beide gevallen is het maximaal aantal virtuele machines enkel beperkt door de mogelijkheden van de host (rekenkracht en beschikbaar geheugen). Men kan meerdere configuratiers hebben, waarvan er één of meerdere simultaan aktief zijn.

De virtuele machine is een gesloten box en is ideaal om systemen te testen. Een virus of malware kan niet overspringen naar de andere configuraties of naar de host.

Na de installatie van virtualbox moet er een virtuele machine aangemaakt worden. Het operating system moet geïnstalleerd worden (zoals op een splinternieuwe computer) door de installatie CD of DVD te gebruiken (of een ISO copie).

Beeld 1:
Virtualbox maakt een virtuele schijf aan, hier Win Photoshop.vdi genoemd op de host, naar de naam kan vrij gekozen worden. Er wordt ook een virtuele CD/DVD aangemaakt. Deze CD bevat drivers om de virtuele machine gemakkelijker te laten samenwerken met de host. Men moet ook extra parameters instellen, zoals de hoeveelheid fysische geheugen en het aantal processorkernen die men aan de virtuele machine zal geven.

Beeld 2:
De windows installatie gebeurt links, terwijl men rechts de monitor ziet. De windows installatie gebeurt vlekkeloos, windows merkt nooit dat die op een virtuele computer geïnstalleerd wordt. De manager gebruikt een ISO file en biedt die aan als een CD of DVD. Virtualbox biedt een standaard configuratie aan, zodat er geen speciale drivers nodig zijn.

Beeld 3:
Windows is nu volledig geïnstalleerd en start voor de eerste keer op vanaf de virtuele schijf. Nu kan men extra virtualbox drivers installeren om de integratie met de host te verbeteren. Deze drivers zijn niet strict noodzakelijk, maar wel heel nuttig.

Beeld 4:
De windows toepassingen kunnen nu geïnstalleerd worden. Men moet regelmatig controleren dat de virtuele schijf niet vol loopt, zeker als men een beperkte schijf gedefinieerd heeft (50GB was in die tijd een heel grote schijf).

Beeld 5:
Om de machine te stoppen heeft men verschillende mogelijkheden:
  • De hibernatie: de machine wordt gestopt en de inhoud van het werkgegeugen wordt opgeslagen. Bij het opnieuw opstarten gaat het werk verder op de plaats van de onderbreking. De hibernatie is de snelste manier, want het geheugen wordt op de harde schijf opgeslagen (dit duurt 5 seconden als het volledig geheugen gebruikt werd). Het terug opstarten is bijzonder snel en windows heeft nooit gemerkt dat die onderbroken werd.

  • Normale stop: door het zenden van een gestandardiseerde ACPI signaal, dit komt overeen met het kortstondig indrukken van de powerknop op de computer. Het operating system zal op een georderde manier stoppen.


    Het opnieuw starten is wat trager, want het volledig opstartcyclus van windows moet doorlopen worden.

  • Het brutaal stoppen komt overeen met een stroomonderbreking. Deze methode is enkel te gebruiken als het operating system op de virtuele machine vastgelopen is, of in het geval men een operating system gebruikt die niet reageert op een ACPI signaal (zoals DOS).

In de voorbeelden is het host systeem linux ubuntu en de virtuele machine draait onder windows xp. Het virtueel systeem heeft randapparatuur nodig, die ook gevirtualiseerd wordt:

Harde schijf (de wereldberoemde c:\)
Bij het configurern van een virtueel systeem zal virtualbox een bestand aanmaken, die de C-schijf van het te installeren systeem zal worden. Men kan een vaste grootte aan het bestand aangeven, of men kan een maximale grootte aangeven en virtualbox zal de grootte van het bestand automatisch aanpassen naargelang de ruimte die windows gebruikt. Een maximale grootte van 50 à 100GB is voldoende voor een windows installatie.

CD/DVD station
Men kan de lezer van de host gebruiken of een ISO file aanduiden die door virtualbox aan de virtuele machine aangeboden zal worden. Voor de installatie van het operating system is het beter te werken met een ISO-file (veel sneller) zeker als je meerdere configuraties wenst aan te maken. Nadat de installatie gebeurt is mag het station van de lijst verwijderd worden, voor de machine is het alsof de CD/DVD lezer niet meer aaznwezig is.

Processoren
Het is nodig een computersysteen te gebruiken waarvan de processor virtualisatie toelaat. Zo kan de virtuele machine draaien zonder overhead. Indien men de VM in een volledig scherm laat werken, dan kan men de helft van de beschikbare kernen aan de VM toewijzern (voor zover men slechts één VM terzelfdertijd gebruikt). Windows XP kon in de tijd al verschillende kernen gebruiken, men kan dus 2 of 4 kernen aan de VM toewijzen.

Werkgeheugen
Men zal ook een deel van het beschikbaar werkgeheugen aan de VM toewijzen, met een maximum van 2GB (windows XP 32 bits kan slechts 2GB aan werkgeheugen aanspreken, zelfs indien het systeem over meer geheugen beschikt). Dit geheugen is niet meer beschikbaar voor de host: men moet voldoende werkgeheugen overhouden voor de host (operating system en monitorprogramma). Indien er meer geheugen nodig is, dan wordt er paging toegepast: de swapfile of partitie voor linux, de pagefile voor windows. Voor windows zit de pagefile op de virtuele disk.

Scherm
Virtualbox levert een standaardscherm met resoluties die automatisch aangepast worden. Windows XP start bijvoorbeeld in VGA modus (640 * 480 pixels) om dan over te gaan in een hogere resolutie. De VM draait in een venster, maar men kan het volledig scherm toewijzen aan de VM (alsof windows de volledige controle over het systeem zou hebben).

Gedeelde folders
De C:-schijf is een virtuele schijf, die een bestand is op de host en die enkel beschikbaar is voor de VM. Applikaties op de host kunnen de bestanden in de virtuele schijf niet gebruiken. Om gegevens uit te wisselen tussen host en VM gebruikt men gedeelde mappen. Er worden mappen aangeduid op de host die gedeeld kunnen worden, en die mappen zijn dan beschikbaar in de VM. Iedere VM kan verschillende gedeelde folders hebben.

Printers
Omdat er zo veel verschillen zijn wat betreft de printerdrivers voorziet virtualbox geen mogelijkheid om de printers van de host te gebruiken. De printers die op hostniveau beschikbaar zijn kunnen niet gebruikt worden in de VM. Het is echter wel mogelijk een USB poort toet te wijzen aan de VM (pass through) en de printer in de VM te installeren. Dit lukt natuurlijk enkel als er een windows driver voor de betreffende printer bestaat. In ons voorbeeld (oude OS en nieuwe printer) moet men de foto's bewerken in fotoshop (VM) en dan op de host printen via gimp of een gelijkaardig programma. Het is een omweg, maar het zorgt ervoor dat je minder gaat printen, wat altijd positief is.

Speciale drivers
Om over te gaan tot een volledig scherm, of om toegang te krijgen tot gedeelde folders moeten er speciale drivers geïnstalleerd worden in de windows VM. De specifieke driver maakt een monitor aan waarvan de afmetigen automatisch aangepast kunnen worden. Gedeelde folders krijgen ook een driveletter (z:\, y:\,... om ook toegankelijk te zijn voor toepassingen die niet met UNC paden kunnen werken.

De installatie van de drivers gebeurt in de VM zelf: virtualbox maakt een optische schijf aan, die windows detecteert, waardoor de nodige drivers automatisch geïnstalleerd worden.

Met de virtualisatie kan men een oud operating system (zelfs DOS is mogelijk) in een moderne omgeving gebruiken. Virtualbox zet de moderne hardware (zoals nieuwe geheugensystemen PCIe NVMe) om in hardware die het legacy operating system kan gebruiken (dus harde schijven die een ATA of SATA interface hebben). Door deze moderne hardware te gebruiken heb je een windows XP computer die in een paar seconden opstart. Zware toepassingen zoals photoshop starten in minder dan een seconde.

Activatie

Windows XP is één van de eerste operating systems die een online activatie nodig hebben. Na het invullen van de windows sleutel tijdens de installatie kan je windows één maand gebruiken, en dan moet je registreren, anders kan je je niet meer aanmelden. Als dat het geval is moet je ofwel windows volledig opnieuw installeren of terug gaan naar de eerste installatie (virtualbox eerste backup dat je hopelijk gedaan hebt na de windows installatie).

Maar de activatieservers van microsoft draaien niet meer. Je kan dus geen online activatie meer uitvoeren. Je moet dus een manuele activatie forceren. Dit is eigenlijk niet zo moeilijk, maar moet gebeuren voordat de eerste maand afgelopen is.

Start de registry editor (regedit) en ga naar HKLM/SOFTWARE/Microsoft/Windows NT/CurrentVersion/WPAEvents/
De sleutel die je moet wijzigen of aanmaken is OOBETimer (aanmaken van een hexadecimale waarde)
Je moet een waarde van ff d5 71 d6 8b 6a 8d 6f d5 33 93 fd invullen

OOBE staat voor Out Of the Box Experience en wordt iedere keer opgestart als je windows opstart. Er is geen manier om dit programma te blokkeren, het wordt automatisch opgestart door het systeem zonder dat er een opstart opdracht daarvoor nodig is.

Controleer of er ook geen andere sleutels aangemaakt zijn, deze moet je zeker wissen (dat is in het geval dat je het systeem al meerdere keren opgestart hebt)

Als laatste stap moet je vermijden dat het systeem de ingevoerde gegevens zou wijzigen: ga naar WPAEvents, rechts klikken en de machtigingen van het systeem op "weigeren" zetten. Zo kan het systeem de juiste waarde wel lezen, maar kan geen wijzigingen aanbrengen.


Voor Notepad++ moet je niet specifiek Virtualbox installeren, Notepad draait transparent onder Wine.

1

2

3

4

5

Vergelijking met Wine

Virtualbox heeft een operating system nodig, die op de virtuele schijf geïnstalleerd moet worden. Men moet dus over een installatie-CD of DVD beschikken (liefst geen OEM versie die controleert of de installatie wel op de correcte computer gebeurt). Dan moet de windows versie geactiveerd worden, maar er bestaan registry hacks om deze verplichting te omzeilen. Het is in ieder geval niet meer mogelijk oude besturingssystemen zoals XP te activeren, want de activation servers zijn niet meer beschikbaar.

Wine maakt een valse windows-omgeving aan met de nodige dll modules. Indien er extra modules nodig zijn, dan moeten die apart geïnstalleerd worden. De dll bestanden zijn geen echte windows dll files, maar vertaalbestanden, die de windows opdrachten omzetten naar linux opdrachten. Je kan dus geen ontbrekende dll bestanden copiëren van een werkende windows versie, maar je moet de specifieke wine dll vertaaltabellen gebruiken. Dit geldt ook voor de dll bestanden die door bepaalde softwarepakketten geïnstalleerd worden.

Beide systemen maken een virtuele schijf aan, maar de wine-schijf wordt door wine volledig aangemaakt en bevat een valse windows installatie, terwijl virtualbox een echte windows installatie nodig heeft.

Virtualbox heeft meer mogelijkheden. De installatie van softwarepakketten gebeurt volkomen transparant. Virtualbox is eerder ontworpen voor complexere toepassingen (waarvan er geen correct werkende wine configuratie beschikbaar is).

Met virtualbox is een volledige afscherming tussen host en VM. Men kan verschillende virtuele machines aanmaken, bijvoorbeeld om de installatie van software te testen. Loopt het mis (bijvoorbeeld omdat de software malware bevat) dan vernietigt men gewoon de virtuele machine en gaat men terug op een vorige installatie. Het is echter nodig om een snapshot te maken juist voor de installatie van de te testen software. Deze snapshotmogelijkheid is veel veiliger dan de mogelijkheden van het besturingssystem (malware kan zich nestelen in systeembestanden die niet gewist kunnen worden bij de terugkeer naar een vorige versie).

Besturing op afstand

De virtuele machine kan op afstand bestuurd worden vanaf een andere computer, zelfs al is dat niet mogelijk in het besturingssysteem zelf (bijvoorbeeld windows xp home die geen remote desktop server heeft ten opzichte van de pro versie).

De afstandsbesturing is altijd nodig in het geval van een type-1 installatie waar de fysische server doorgaans niet toegankelijk is. Met de type-2 virtualisatie kan men een verbinding maken met de VM via standaard RDP.

Paginas die volgens Google je zouden kunnen interesseren

-