De flexibiliteit van Linux is een van de vele voordelen. En in het bijzonder, een aspect van die flexibiliteit is dat de gebruiker zijn of haar computeromgeving volledig kan aanpassen. Stel dat je een trouwe Linux-fan bent (natuurlijk ben je dat), maar je deelt een computer met iemand die een ander besturingssysteem verkiest. Je zou kunnen dual-boot, maar wat gebeurt er dan met alle belangrijke achtergrondprocessen die je hebt? Laten we uw systeem zo instellen dat, wanneer deze specifieke gebruiker inlogt, ze direct naar een virtuele machine gaan met hun favoriete besturingssysteem.

voorwaarden

We zullen VirtualBox voor dit artikel gebruiken, maar je zou in staat moeten zijn om het concept aan te passen als je een andere VM-applicatie gebruikt (het zal alleen de mogelijkheid moeten hebben om een ​​VM vanaf de opdrachtregel te starten). De eerste stappen die u moet nemen zijn:

  1. Installeer VirtualBox.
  2. Maak een virtuele machine met uw favoriete besturingssysteem geïnstalleerd (MTE heeft eerder betrekking op de installatie van zowel Windows als Mac OS X).
  3. Start uw nieuwe virtuele machine op en configureer naar smaak.

Het Linux-log-in proces

Het is nuttig om een ​​beetje te begrijpen hoe het inlogproces werkt in Linux GUI's. Wanneer het systeem start, wordt een display-manager automatisch uitgevoerd ... dit is de reden waarom je tegenwoordig wordt begroet met een mooie grafische login, in plaats van een eenvoudige oude opdrachtprompt bij het opstarten. Zodra u zich aanmeldt, start de displaymanager één applicatie of script, dat op zijn beurt een aantal andere programma's, scripts en processen start. In een KDE-omgeving geeft de display-manager bijvoorbeeld niet om alle achtergrondprocessen - het hoeft alleen het script " startkde " uit te voeren. Het opstartscript blijft actief zolang u het bureaublad gebruikt. Zodra u uw bureaublad afsluit (door een optie zoals "Afmelden" of "Opnieuw opstarten" te gebruiken), zullen de processen van de desktop zichzelf afsluiten en wanneer ze allemaal klaar zijn, weet het opstartscript dat het ook kan afsluiten. De display-manager wacht op de achtergrond en wanneer het opstartscript wordt afgesloten, neemt de display-manager de controle over en geeft hij uw inlogscherm opnieuw weer.

Uw aangepaste opstartscript instellen

Dus, om een ​​gebruiker toe te staan ​​om rechtstreeks in een VM te loggen, hoeven we alleen maar een opstartscript te maken waarmee deze VM automatisch voor hem wordt uitgevoerd. De eerste stap is om dit script te maken, wat eenvoudig is in Linux. Maak een nieuw tekstbestand (laten we het Winxp-sessie noemen) en plak het volgende in:

 #! / bin / bash VirtualBox --startvm [naam van de VM die u hebt gemaakt 

Je kunt proberen de Virtual Box-opdracht vanuit de terminal uit te voeren om te controleren of deze correct werkt ... zo niet, dan heb je waarschijnlijk de naam van de VM verkeerd gespeld (onthoud dat als de naam van je VM spaties heeft, je deze in een enkele bijlage moet voegen) citaten). Voer vervolgens de volgende opdracht uit om het script uitvoerbaar te maken:

 chmod 755 winxp-sessie 

Dan moet je dit bestand naar een plaats kopiëren waar het kan worden uitgevoerd. De map "/ usr / bin" is hier een optie, net als "/ usr / local / bin". U moet root zijn om dit voor beide locaties te doen. Gebruik de volgende opdracht om het in "/ usr / bin" te plaatsen:

 sudo cp winxp-sessie / usr / bin 

De laatste stap is om een ​​snelkoppeling te maken op de locatie waar de displaybeheerder zoekt naar beschikbare opstartscripts. In Ubuntu bevindt dit zich in de map "/ usr / share / xsessions /". Maak met een teksteditor een nieuw bestand (zoals bijvoorbeeld "/usr/share/xsessions/winxp-session.desktop"):

 [Desktop Entry] Name = Windows XP Exec = / usr / bin / winxp-sessie 

Als u zich nu op de desktop bevindt, logt u uit. Uw nieuwe VM-gebaseerde desktop staat voor u klaar wanneer de displaymanager weer verschijnt. Houd er echter rekening mee dat deze sessie alleen beschikbaar is voor de gebruiker die de VM heeft gemaakt (omdat deze alleen in de map "~ / VirtualBox VMs /" van die gebruiker staat).

Laat ons weten of dit nuttig voor u is, of als u vragen heeft.