Sådan kører du det native Ubuntu-skrivebord på Windows 10

Windows 10 kører nu på en halv milliard enheder

Den egentlige grund til, at Canonical og Microsoft bragte Ubuntu til Windows 10, var at gøre det muligt for systemadministratorer og udviklere at bruge Bash og andre Linux-shellprogrammer, såsom make, gawk og grep, på Windows. Linux-brugere, der er naturlige hackere, begyndte straks at arbejde på at bringe grafiske Linux-skriveborde til Windows Subsystem for Linux (WSL).

Ja, du kan nu køre Ubuntu Unity-skrivebordet på Windows 10.

Guess what? De har gjort det.

En guatemalansk programmør, der går under GitHub-håndtaget Guerra24, har “formået at køre Unity inde i WSL, dette viser, at er fuldt ud i stand til at køre et helt skrivebordsmiljø.”

Det er ikke let at gøre, og det er langt fra at være et komplet Linux-skrivebord, men det er en begyndelse. Hvis du vil køre Ubuntu Linux-skrivebordet i Windows 10 til arbejdet, anbefaler jeg, at du gør det via et program til virtuelle maskiner (VM), f.eks. Oracles VirtualBox. Men hvis du bare vil have det sjovt og skærpe dine færdigheder inden for desktop-programmering, kan du også prøve at køre Ubuntu på Windows 10 nativt.

For at komme i gang med dette projekt i dag skal du køre betaversionen af Windows 10 Fast Ring-udgaven. Med den offentlige udgivelse af Windows 10 Anniversary Update vil alle kunne give det et forsøg.

Så hvordan gør du det? Når du har opdateret Windows 10, skal du følge med mig.

Først skal du slå Windows 10’s Developer Mode til via Indstillinger > Opdatering & sikkerhed > For udviklere. Derefter skal du søge efter “Windows-funktioner” og vælge “Slå Windows-funktioner til eller fra” og aktivere Windows Subsystem for Linux (Beta).

For at installere Bash skal du herefter åbne Windows Kommandoprompt og skrive “bash”. Du bliver bedt om at acceptere servicevilkårene og downloade Ubuntu. Den typiske Ubuntu-download er lidt mindre end en gigabyte. Så hvis du har en langsom internetforbindelse, skal du være klar til at vente. Når det er installeret, kører du en brugerrumsversion af Ubuntu 14.04 oven på WSL.

Teknisk set kører du ikke Linux. Det ligner måske Linux og piver måske som Tux, Linux-pingvinen; men det er ikke Linux. Det skyldes, at Ubuntu-brugerområdet ikke kører på en Linux-kernel, men på WSL. WSL leverer API-krogene til at ligne Linux for Ubuntu- og Linux-programmer, men det er ikke det samme. Dette bliver vigtigt efterhånden som vi kommer videre.

Når du har Ubuntu installeret, skal du opdatere det. Det gør du fra Bash-shell’en ved at køre følgende kommandoer:

1. apt-get update

2. apt-get upgrade

Nu skal du skifte tilbage til Windows 10 og installere en Windows-kompatibel Xserver. Det er dette, som Ubuntu bruger til at vise en grafisk grænseflade. De bedste af disse til vores formål er vcxsrv eller Xming.

Næst skal du fortælle Ubuntu om Xserveren, så den kan bruge den. For at gøre dette kan du indtaste følgende kommando i shell’en:

DISPLAY=:0.0

Nu vil ethvert grafisk Linux-program blive vist på Windows 10. Endnu bedre, hvis du vil fortsætte med at arbejde med grafisk Linux-software på WSL, kan du få WSL til automatisk at gøre sig klar til grafiske programmer ved at placere kommandoen i Bash’s konfigurationsfil: “.bashrc”. En nem måde at gøre dette på er at bruge echo kommandoen til at skrive den med følgende shell-kommando:

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

Herefter kan du køre grafiske Linux-programmer, såsom Firefox, eller desktops… men de vil ikke køre godt eller i lang tid. Det er fordi WSL ikke indeholder socket-understøttelse. Sockets er det, som Unix og Linux bruger til at kommunikere mellem tjenester. På Linux-skrivebordet er standardmetoden til at implementere sockets D-Bus-meddelelsessystemet. Uden D-Bus fungerer mange grafiske programmer på Linux-skrivebordet ikke så godt, hvis de overhovedet fungerer.

WSL understøtter dog TCP-netværksprotokollen, og en Reddit-bruger ved navn ShaRose har fundet en måde at få D-Bus til at bruge tcp i stedet for sockets. Perfekt? Nej, men det virker.

For at aktivere dette skal du køre følgende kommando:

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

Dette brugte sed-stream-editoren til at ændre D-Bus’ konfigurationsfil, så den fra nu af vil bruge tcp i stedet for sockets. Det endelige resultat? Programmer, der har brug for D-Bus, vil nu køre på WSL.

I det næste trin er det tid til at installere de grafiske skrivebordsprogrammer. Det gør du ved at køre disse programmer fra Bash:

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

Den første kommando installerer de grundlæggende Ubuntu-skrivebordsprogrammer. Dette vil omfatte slutbrugerprogrammer som LibreOffice, Den næste instruktion installerer Unity-skrivebordet. De to sidste kommandoer installerer, Compiz, en OpenGL-grafikkomposteringshåndtering og dens front-end ccsm. Dit næste skridt vil være at bruge ccsm til at opsætte skrivebordets indstillinger.

Hvor du kan bruge en desktop GUI på Ubuntu i Windows 10, skal du bruge Compiz Config Setting Manager (ccsm) til at indstille skærmen korrekt.

Når alle disse programmer er installeret, skal du køre ccsm fra Bash. Fra ccsm-grænsefladen skal du aktivere følgende Compiz-plugins:

General:

  • Commands
  • Composite
  • Copy to texture
  • OpenGL

Desktop:

  • Ubuntu Unity Plugin

Billedindlæsning:

  • PNG

Udstyr:

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

Nu, for at komme i gang med showet, luk ccsm og få Unity-grænsefladen frem ved at køre compiz fra Bash.

I løbet af et minut eller deromkring skulle du have Unity oppe og køre.

Nu skal du ikke gå ind i dette med falske forventninger. Det kommer ikke til at køre godt. Men på mit Windows 10-testsystem, en ASUS-desktop med en i7 3770-processor af tredje generation og 8 GB RAM, kørte det godt nok til, at jeg er sikker på, at nogen på et tidspunkt vil finde en måde at få Ubuntu-desktoppen til at køre fornuftigt på WSL.

Nu, hvis du vil have mig undskyldt, så vil jeg se, om jeg kan få Quake, det gamle first-person shooter-spil, til at køre på WSL. Jeg er “så” tæt på at få det til at køre.

Relaterede historier:

  • Sådan kommer du i gang med Ubuntu og Bash på Windows 10
  • Ubuntu (ikke Linux) på Windows: Sådan fungerer det
  • Microsoft og Canonical samarbejder om at bringe Ubuntu til Windows 10

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.