Installera Bash i Windows med WSL och Ubuntu

By . Latest revision .

Så här gör du för att installera Bash med Ubuntu i Windows via WSL samt tar hjälp av pakethanteraren och installerar det som behövs för att komma igång med kurserna.

#Mer information

Denna artikel är förkortad till att ange hur man installerar WSL och Ubuntu för att få tillgång till en Bash terminal i Windows. Artikeln bygger på informationen som finns att läsa i “Windows Subsystem for Linux Documentation”. Om du tappar bort dig eller behöver extra information så kan du gå och läsa den artikeln i lugn och ro.

Här kommer den snabba vägen som är ett utdrag från artikeln “Install Linux on Windows with WSL”.

#Översikt av artikeln

Det finns en video som visar hur Mikael jobbar igenom delar av denna artikel. Du kan titta igenom videon som ett komplement när du själv jobbar igenom artikeln.

Mikael jobbar igenom huvuddelarna i denna artikel.

#Förutsättning

Du behöver minst Windows 10 version 2004 eller högre (Build 19041 och högre) eller Windows 11.

Dubbelkolla att du har en Windows build 19041, eller senare, genom att trycka Windows key + R och köra programmet winver.

Build 19041 eller högre behöver vara installerad.

Build 19041 eller högre behöver vara installerad.

Om du har äldre version av Windows så rekommenderas att du uppdaterar tll senaste utgåvan.

Alternativet är att välja ett annat sätt att installera WSL, för detaljer se dess dokumentationen i “Install Linux on Windows with WSL”.

Ett annat alternativ är att köra Cygwin som terminal, se artikeln “Installera Unix-terminalen Cygwin på Windows”.

#Installera Bash

Bash finns med i din Windows installation men du behöver sätta på det på följande sätt.

#Installera kommandot wsl

Du kan nu installera allt du behöver för att köra Windows Subsystem for Linux (WSL) genom att ange detta kommando i en administratörs PowerShell eller Windows kommandotolk och sedan starta om din maskin.

wsl --install

Detta kommando kommer att aktivera de funktioner som krävs för att köra WSL och installera Ubuntu-distributionen av Linux.

#Jag har redan wsl installerat

Ovan kommando fungerar endast om du inte redan har installerat wsl. Om det är installerat så kommer du istället få fram en hjälptext till hur du använder kommandot. Om du då vill installera en specific distribution av Linux så kan du först kolla vilka som finns tillgängliga och sedan kan du installera just den distributionen.

Visa vilka distributioner som finns.

wsl --list --online

Installera till exmpel distributionen för Ubuntu.

wsl --install --distribution Ubuntu

#Konfigurera användare och lösenord i Ubuntu

När processen med att installera din Linux-distribution med WSL är klar, öppna Ubuntu med hjälp av Start-menyn.

Du kan nu starta ubuntu Debian genom att köra kommandot ubuntu via sökfältet eller via Windows key + R.

Första gången ombeds du att skapa en användare med lösenord, gör det.

Därefter är Ubuntu installerat och klart. Du har nu en Linux-terminal, en bash terminal, i din Windows.

Du har nu en bash-terminal med Ubuntu i Windows.

Du har nu en bash-terminal med Ubuntu i Windows.

#Pakethantering

För att installera program så använder du en pakethanterare som heter apt. Med den kan du installera paket, tjänster och programvaror i din terminal.

#Uppdatera och uppgradera

Vi börjar med att uppdatera installationen med senaste informationen om de paket som finns och vi uppgraderar systemet till att använda senaste versionen av paketen.

sudo apt update && sudo apt -y upgrade

När du kör ett kommando med sudo så kör du det som root-användaren med extra behörigheter. När du installerar med pakethanteraren behöver du göra det.

Det tar en liten stund att uppgradera.

#Copy & paste mellan Windows och terminalen

När du vill kopiera från Windows till terminalen kan du markera texten i Windows-applikationen och trycka ctrl-c, för att pasta texten till terminalen kan du klicka på högerknappen på musen.

Ett annat bra alternativ är att använda shift-ctrl-c och shift-ctrl-v där du kan kopiera text i terminalen och pasta till terminalen eller till en Windows applikation, tex webbläsaren. Du sätter på det genom att högerklicka på terminalfönstrets övre del och väljer “Properties” i menyn. Du får då fram följande ruta och du skall klicka i för “shift-ctrl-c / v”. Gör även ändringen i menyvalet för “Defaults” så behåller du ändringen till nästa terminalfönster som du öppnar.

Klicka för valet med shift-ctrl-c och v för copy och paste.

Klicka för valet med shift-ctrl-c och v för copy och paste.

När du är i en Windows applikation använder du “som vanligt” ctrl-c och ctrl-v, men när du vill göra det i bash-terminalen så lägger du till en shift framför.

#Installera nödvändiga paket

Vi skall installera ett par paket som gör din vardag enklare. Det är paket som används i kurserna och vi vill försäkra oss om att de är installerade.

sudo apt install wget curl ssh rsync git vim unzip

Här är en kort förklaring till de olika kommandona.

Kommando Förklaring
wget Ladda ned resurser från nätet/webben.
curl Alternativ till wget.
ssh SSH klient och server, används för att koppla upp mot externa servrar.
rsync Kopiera/synka innehåll i kataloger, lokalt och mellan servrar.
git Klient till versionshanteringssystemet git.
vim Texteditor för terminalen, alternativ till vi.
unzip Zippar upp filer.

#Manualsidor och man man

Manualsidor är källan till kunskap i en Linux terminal.

man curl

Om programmet man inte finns installerat så installerar du det.

sudo apt install man

Man kan söka efter de programpaket som går att installera.

sudo apt-cache search curl

Vänd dig till manualsidan för att veta hur du använder ett kommando.

Du kan också använda optionen --help alternativt -h, många kommandon stödjer den switchen för att visa hur man använder kommandot.

curl --help

#Installera cowsay

För att testa pakethanteraren kan du installera paketet cowsay som är ett litet skoj-paket.

sudo apt-get install cowsay

Nu kan vi köra programmet.

cowsay "Hej alla webbprogrammerare!"
Nu är du redo för Linux med en bash-terminal på Windows.

Nu är du redo för Linux med en bash-terminal på Windows.

Vill du vet mer om programmet så öppnar du dess manualsida.

#Öppna filväljaren och texteditorn

När du är i terminalen kan du öppna vissa Windows-applikationer som till exempel filväljaren och texteditorn. Det kan vara ett bra hjälpmedel att öppna dem i den katalogen där man står för tillfället.

Prova att öppna filväljaren i din hemmakatalog, glöm inte punkten som refererar till den katalog du för tillfället står i.

explorer.exe .
Skriv kommandot i terminalen.

Skriv kommandot i terminalen.

Nu öppnas filväljaren och visar filerna i katalogen samt en sökväg till dem.

Filväljaren explorer öppnar ett fönster och visar filerna i terminalen.

Filväljaren explorer öppnar ett fönster och visar filerna i terminalen.

#Öppna VSCode från terminalen

För att kunna öppna VSCode från terminalen behöver du installera ett tillägg i VSCode.

Installera Remote - WSL i VSCode.

Installera Remote - WSL i VSCode.

Gör som bilden visar, gå till fliken för tillägg, sök på “wsl” och installera “Remote - WSL”. Efter det behöver du starta om terminalen.

När du har startat terminalen igen kan du skriva som nedanför för att öppna mappen du står i, i vscode. Första gången du gör det kommer den installera verktyget.

code .

#Var finns Windows hemma-katalog?

Du kör Linux i ett eget system där du har speciella Linux-användare och ett filsystem för Linux. Din installation fungerar som ett eget system, ett subsystem inuti Windows. Därav namnet “Windows Subsystem for Linux (WSL)”.

Du kan komma åt ditt vanliga Windows filsystem, din “vanliga” C:, och på det sättet dela filer mellan Linux och Windows. Du hittar dina Windows-filsystem under katalogen /mnt.

Du kan använda kommandot ls för att lista de kataloger som ligger under katalogen /mnt. I mitt fall ligger där katalogen c som innehåller alla filerna på min C:.

cd /mnt
pwd
ls -l

Kommandot pwd visar dig den katalogen du står i för tillfället.

Tänk på katalogstrukturen som ett träd. Katalogen . är nuvarande katalog och katalogen .. är katalogen ovanför. Vill du gå ett steg upp i katalogstrukturen så skriver du alltså cd ...

# Gå ett steg ned i katalogstrukturen, i en underkatalog
cd c
pwd
ls -l

# Gå ett steg upp i katalogstrukturen
cd ..
pwd
ls -l
Flytta till katalogen /mnt och se vilka filer som ligger där.

Flytta till katalogen /mnt och se vilka filer som ligger där.

Sökvägen till min hemmakatalog i Windows blir då /mnt/c/Users/mos/ om min Windowsanvändare heter “mos”.

#Skapa länk till Windows hemmakatalog

För att göra det enkelt att nå filerna i din Windows hemma-katalog så kan du skapa en symbolisk länk i din hemmakatalog.

Börja med att gå tillbaka till din hemmakatalog i terminalen.

cd

Nu kan du skapa en symbolisk länk till din Windows hemmakatalog med kommandot ln -s.

ln -s /mnt/c/Users/mos/ winhome
ls -l
Skapa en symbolisk länk för att göra det enkelt att nå din Windows användares filer.

Skapa en symbolisk länk för att göra det enkelt att nå din Windows användares filer.

Nu kan jag enkelt nå mina filer som ligger hos min Windows-användare.

# Flytta till min windows home, när jag står i min Linux hemmakatalog
cd winhome
pwd
ls

# Flytta till min hemmakatalog i Linux
cd
pwd
ls

Om det inte fungerar kan du radera den symboliska länken och börja om.

cd
rm winhome

När du jobbar med kurserna rekommenderas det att du sparar alla filerna i ubuntu miljön. Det gör det enklast att nå dem via både WSL och texteditorn.

#Bra att ha

Följande tips kan göra din bekantskap lite trevligare med Linux och bash-terminalen för Windows.

#Tabba men utan ljud

När du använder terminalen kan du ofta använda tangenten tab för att låta terminalen själv leta upp filer och applikationer till dig.

Prova att skriva cow och sedan klicka på tab-tangenten och se vad som händer.

Terminalen kommer att leta reda på kommandon som börjar på cow och visa dem för dig.

Prova sedan att skriva ls w och klicka tab.

Terminalen kommer att fylla i med det fil- eller katalognamn som matchar bokstaven.

Prova att börja använda tab och du kommer att slippa skriva en massa tecken på tangentbordet.

Dock, ibland får du ett irriterande signal, ett beep, varje gång du tabbar. Det vill vi ta bort på följande vis.

Gå till din hemmakatalog och redigera filen .bashrc med din texteditor och sist i filen lägger du till raden bind 'set bell-style none'.

Börja med att öppna filen i texteditorn (skapa processen i bakgrunden med & så blockar du inte terminalen)

code ~/.bashrc &
Öppna filen .bashrc med din texteditor.

Öppna filen .bashrc med din texteditor.

Lägg till följande rad sist i filen.

bind 'set bell-style none'
Redigera konfigurationsfilen .bashrc och lägg till kommandot för att stänga av beepet.

Redigera konfigurationsfilen .bashrc och lägg till kommandot för att stänga av beepet.

Spara filen i texteditorn. Gå nu till terminalen och läs in filen (“sourca filen”) för att aktivera ändringen du gjorde.

source .bashrc
Aktivera ändringen genom att sourca konfigurationsfilen .bashrc.

Aktivera ändringen genom att sourca konfigurationsfilen .bashrc.

Nu bör beepet försvinna när du använder tab-tangenten. Nu kan du tabba på.

#Avslutningsvis

Det finns mycket att lära om WSL, Bash och Ubuntu. Men detta är en bra start.

#Revision history

  • 2022-08-17: (G, mos) Om wsl redan är installerat, lade till video.
  • 2022-08-16: (F, mos) Uppdaterad till senaste installationsrutinen för WSL.
  • 2020-04-29: (E, mos) Lade till unzip som kommando att installera (krävs av composer).
  • 2019-08-22: (D, aurora) Översedd inför HT19 och Windows 10 v1903.
  • 2019-01-16: (C, mos) Förtydligande om var filer bör sparas och hur atom startas, bort med stycket om atom.
  • 2019-01-13: (B, mos) Lade till installation av nödvändiga paket.
  • 2019-01-08: (A, mos) Uppdaterad installationsprocess för 1803.

Document source.

Category: labbmiljo, windows, bash.