Så här kör du det ursprungliga Ubuntu-skrivbordet i Windows 10

Windows 10 körs nu på en halv miljard enheter

Den verkliga anledningen till att Canonical och Microsoft tog med Ubuntu till Windows 10 var för att systemadministratörer och utvecklare skulle kunna använda Bash och andra Linux-skalprogram, som make, gawk och grep, i Windows. Linuxanvändare, som är naturliga hackare, började genast arbeta på att föra in grafiska Linuxskrivbord till Windows Subsystem for Linux (WSL).

Ja, du kan nu köra Ubuntus Unity-skrivbord i Windows 10.

Gissa vad? De har gjort det.

En guatemalansk programmerare som går under GitHub-hanteringen Guerra24 har ”lyckats köra Unity inuti WSL, detta visar att det är fullt kapabelt att köra en hel skrivbordsmiljö.”

Det här är inte lätt att göra, och det är långt ifrån att vara ett komplett Linuxskrivbord, men det är en början. Om du vill köra Ubuntus Linuxskrivbord i Windows 10 på jobbet rekommenderar jag att du gör det via ett program för virtuell maskin (VM), till exempel Oracles VirtualBox. Men om du bara vill ha roligt och vässa dina kunskaper i skrivbordsprogrammering kan du också prova att köra Ubuntu i Windows 10 nativt.

För att komma igång med det här projektet idag måste du köra betaversionen av Windows 10 Fast Ring. När Windows 10 Anniversary Update släpps offentligt kommer alla att kunna prova det.

Hur gör du då? När du har uppdaterat Windows 10 kan du följa med mig.

Först måste du aktivera Windows 10:s utvecklarläge via Inställningar > Uppdatering & säkerhet > För utvecklare. Därefter söker du efter ”Windows-funktioner” och väljer ”Aktivera eller inaktivera Windows-funktioner” och aktiverar Windows Subsystem for Linux (Beta).

För att installera Bash måste du därefter öppna Windows kommandotolk och skriva ”bash”. Du kommer att bli ombedd att acceptera användarvillkoren och ladda ner Ubuntu. Den typiska nedladdningen av Ubuntu är lite mindre än en gigabyte. Så om du har en långsam internetuppkoppling får du vara beredd på att vänta. När den väl är installerad kör du en version av Ubuntu 14.04 i användarutrymmet ovanpå WSL.

Tekniskt sett kör du inte Linux. Det kanske ser ut som Linux och gnisslar som Tux, Linuxpingvinen, men det är inte Linux. Det beror på att Ubuntus användarutrymme inte körs på en Linuxkärna, utan på WSL. WSL tillhandahåller API-krokarna för att Ubuntu- och Linuxprogrammen ska se ut som Linux, men det är inte samma sak. Detta kommer att bli viktigt under tiden.

När du väl har installerat Ubuntu måste du uppdatera det. Det gör du från Bash-skalet genom att köra följande kommandon:

1. apt-get update

2. apt-get upgrade

Nu byter du tillbaka till Windows 10 och installerar en Windows-kompatibel Xserver. Detta är vad Ubuntu använder för att visa ett grafiskt gränssnitt. De bästa av dessa för våra syften är vcxsrv eller Xming.

Nästan måste du berätta för Ubuntu om Xservern så att den kan använda den. För att göra detta kan du ange följande kommando i skalet:

DISPLAY=:0.0

Nu kommer alla grafiska Linuxprogram att visas på Windows 10. Ännu bättre, om du ska fortsätta att arbeta med grafiska Linuxprogram på WSL, kan du låta WSL automatiskt göra sig redo för grafiska program genom att placera kommandot i Bashs konfigurationsfil: ”.bashrc”. Ett enkelt sätt att göra detta är att använda kommandot echo för att skriva det med följande skalkommando:

echo ”export DISPLAY=:0.0” >> ~/.bashrc

Efter detta kan du köra grafiska Linuxprogram, till exempel Firefox, eller stationära datorer… men de kommer inte att fungera bra eller länge. Det beror på att WSL inte innehåller stöd för sockets. Sockets är vad Unix och Linux använder för att kommunicera mellan tjänster. På Linux skrivbord är D-Bus-meddelandesystemet standard för att implementera sockets. Utan D-Bus fungerar många grafiska program på Linux skrivbord inte så bra, om ens alls.

WSL har dock stöd för TCP-nätverksprotokollet och en Reddit-användare vid namn ShaRose har hittat ett sätt att få D-Bus att använda tcp i stället för sockets. Perfekt? Nej, men det fungerar.

För att aktivera detta kör du följande kommando:

sudo sed -i ’s/<listen>.*<\/listen>/<listen>tcp:host=localhost,port=0<\/listen>/’ /etc/dbus-1/session.conf

Detta använde sed stream editor för att ändra D-Bus konfigurationsfil så att den från och med nu kommer att använda tcp istället för sockets. Slutresultatet? Program som behöver D-Bus kommer nu att köras på WSL.

I nästa steg är det dags att installera de grafiska skrivbordsprogrammen. Det gör du genom att köra dessa program från Bash:

  • apt-get install ubuntu-desktop
  • apt-get install unity
  • apt-get install compiz-core
  • apt-get install compizconfig-settings-manager

Det första kommandot installerar Ubuntus grundläggande skrivbordsprogram. Detta inkluderar slutanvändarprogram som LibreOffice, Nästa instruktion installerar Unity-skrivbordet. De två sista kommandona installerar Compiz, en OpenGL-grafikkomposteringshanterare och dess front-end ccsm. Nästa steg är att använda ccsm för att ställa in skrivbordets inställningar.

För att du ska kunna använda ett grafiskt skrivbordsgränssnitt på Ubuntu i Windows 10 måste du använda Compiz Config Setting Manager (ccsm) för att ställa in skärmen på rätt sätt.

När alla dessa program är installerade kör du ccsm från Bash. Från ccsm-gränssnittet måste du aktivera följande Compiz-plugins:

Allmänt:

  • Commands
  • Composite
  • Kopiera till textur
  • OpenGL

Desktop:

  • Ubuntu Unity Plugin

Bildinläsning:

  • PNG

Utility:

  • Compiz Library Toolbox
  • Windows Management
  • Move Window
  • Place Windows
  • Resize Window
  • Scale
  • Snapping Windows

Now, för att få igång den här showen, stäng ccsm och visa Unity-gränssnittet genom att köra compiz från Bash.

Om någon minut eller så bör du ha Unity igång.

Nu ska du inte gå in i detta med falska förväntningar. Det kommer inte att fungera bra. Men på mitt Windows 10-testsystem, en ASUS-dator med en tredje generationens i7 3770-processor och 8 GB RAM, körde det tillräckligt bra för att jag är säker på att någon så småningom kommer att hitta ett sätt att få Ubuntu-datorn att köras på ett användbart sätt på WSL.

Nu, om ni ursäktar mig så ska jag se om jag kan få Quake, det gamla förstapersonsskjutarspelet, att köras på WSL. Jag är ”så här” nära att få det att fungera.

Relaterade berättelser:

  • Så här kommer du igång med Ubuntu och Bash på Windows 10
  • Ubuntu (inte Linux) på Windows: Hur det fungerar
  • Microsoft och Canonical samarbetar för att ge Ubuntu till Windows 10

Lämna ett svar

Din e-postadress kommer inte publiceras.