Flexibiliteten hos Linux är en av dess många fördelar. Och en aspekt av denna flexibilitet gör det möjligt för användaren att helt anpassa sin eller hennes datormiljö. Antag förmodligen att du är en stalwart Linux-fan (självklart du är), men du delar en maskin med någon som föredrar ett annat OS. Du kan dual-boot, men vad händer med alla viktiga bakgrundsprocesser du har kört? Låt oss konfigurera ditt system så att när den här användaren loggar in går de direkt till en virtuell maskin som kör sitt favoritoperativsystem.

förutsättningar

Vi använder VirtualBox för den här artikeln, men du borde kunna justera konceptet om du använder ett annat VM-program (det behöver bara ha möjlighet att starta en VM från kommandoraden). De första stegen du behöver ta är:

  1. Installera VirtualBox.
  2. Skapa en virtuell maskin med din favorit OS installerad (MTE har täckt installera både Windows och Mac OS X tidigare).
  3. Starta din nya virtuella maskin och konfigurera till smak.

Linux inloggningsprocessen

Det är användbart att förstå lite om hur inloggningsprocessen fungerar i Linux GUI: er. När systemet startar, kommer en bildskärmshanterare att köra automatiskt ... Det här är anledningen till att du idag är hälsad med en fin grafisk inloggning, snarare än en vanlig gammal kommandoprompt vid start. När du loggar in startar skärmhanteraren en applikation eller ett skript, vilket i sin tur startar ett antal andra program, skript och processer. I en KDE-miljö bryr sig bildskärmshanteraren inte om alla bakgrundsprocesser - den behöver bara köra skriptet " startkde ". Startskriptet fortsätter att köras så länge du använder skrivbordet. När du har avslutat skrivbordet (genom att använda ett alternativ som "Logga ut" eller "Omstart") kommer skrivbordets processer alla att stänga ner sig, och när de är färdiga, vet uppstartsskriptet att det också går att avsluta. Skärmhanteraren väntar i bakgrunden och när startskriptet avslutas tar skärmhanteraren kontroll och visar inloggningsskärmen igen.

Ställa in ditt anpassade startskript

Så, för att tillåta en användare att logga direkt in i en VM, är allt vi behöver göra att skapa ett startskript som kör denna VM automatiskt för dem. Det första steget är att skapa det här skriptet, vilket är enkelt i Linux. Skapa en ny textfil (låt oss kalla det winxp-session ) och klistra in i följande:

 #! / bin / bash VirtualBox --startvm [namnet på den VM du skapade 

Du kan försöka köra Virtual Box-kommandot från terminalen för att se till att det fungerar korrekt ... om inte, har du förmodligen namnet på VM-felstavade (tänk på om ditt VM-namn har mellanslag, du måste bifoga det i singel citat). Kör sedan följande kommando för att göra scriptet körbart:

 chmod 755 winxp-session 

Då måste du kopiera den här filen till någonstans, den kan utföras. "/ Usr / bin" -katalogen är ett alternativ här, som är "/ usr / local / bin". Du måste vara roten för att göra det för båda dessa platser. För att placera den i "/ usr / bin", använd följande kommando:

 sudo cp winxp-session / usr / bin 

Det sista steget är att skapa en genväg i den plats där bildhanteraren letar efter tillgängliga startskript. I Ubuntu finns detta i katalogen "/ usr / share / xsessions /". Skapa en ny fil med en textredigerare (som till exempel "/usr/share/xsessions/winxp-session.desktop"):

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

Nu, om du är på skrivbordet, logga ut. Ditt nya VM-baserade skrivbord är klart för dig när bildhanteraren kommer upp igen. Observera dock att den här sessionen endast är tillgänglig för den användare som skapade VM (eftersom den bara kommer att finnas i användarens "~ / VirtualBox VMs /" -katalog).

Låt oss veta om det här är till hjälp för dig, eller om du har några frågor.