Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 24 Current »

Denne siden beskriver hvordan jeg har satt opp mine Windows PC’er til å bruke Linux (via WSL), samt hvordan jeg har satt opp Linux utviklingsmiljøet der.

WSL

Windows 10: Installer som beskrevet på https://docs.microsoft.com/en-us/windows/wsl/install-win10

Windows 11: Installer som beskrevet på: https://pureinfotech.com/install-wsl-windows-11/ Kortversjon: Start kommando-prompt med “Run as Administrator” og:

wsl --install

Velg Ubuntu som Linux-distribusjon.

Windows Terminal

Installeres fra Microsoft Store for Windows 10. I Windows 11 er den installert som standard.

Config

Du kan sette Ubuntu til å være default profil: Åpne settings i Windows Terminal, velg Startup og sett default profile til Ubuntu.

Sette startkatalog til å være Linux hjemmeområde: Åpne settings i Windows Terminal, velg Ubuntu-profil og sett Starting directory til: \\wsl$\Ubuntu\home\<ditt brukernavn> (eller \\wsl$\Ubuntu-22.04\home\<ditt brukernavn> hvis Windows Terminal profilen din heter Ubuntu-22.04).

Starship

Starship er et shell prompt som gir deg god informasjon om git repositoryer på kommandolinja. Snap virker ikke out-of-the box på Ubuntu 22.04 på WSL2, så Starship må installeres manuelt:

curl -sS https://starship.rs/install.sh | sh

Legg så til følgende linje sist i ~/.bashrc:

eval "$(starship init bash)"

I tillegg trenger du en Powerline font for å kunne vise alle symbolene i Windows Terminal. Last ned siste release fra https://github.com/microsoft/cascadia-code/releases, pakk ut fila og installer fontene ttf\CascadiaCodePL.ttf og ttf\CascadiaMonoPL.ttf.

Sett opp Windows Terminal til å bruke aktuell font i den aktuelle profilen. I Windows Terminal, velg Settings, den aktuelle profilen (Ubuntu) og Velg Appearance. Da får du opp bildet nedenfor. Velg fonten Cascadia Mono PL. Det er mulig at du må velge “Show all fonts” eller restarte Windows Terminal for å få den opp.

Hvis du ønsker å bruke Starship også i PowerShell, så følg denne beskrivelsen: https://dev.to/ganmahmud/take-your-windows-powershell-to-the-next-level-by-starship-2gb2

Config

~/.config/starship.toml

# Don't print a new line at the start of the prompt
add_newline = false

[line_break]
disabled = true

# Only report duration if more than 20 seconds
[cmd_duration]
min_time = 20000

# Disable the package module, hiding it from the prompt completely
[package]
disabled = true

Editoren Micro

Alternativ til nano, som støtter mus (scrolling, selektering, copy-paste osv). Installer med kommando:

sudo apt install micro

Visual Studio Code

Hvis man vil ha noe mer enn en tekstbasert editor så kan Visual Studio Code brukes med filer i WSL2. Installer Windows-versjonen fra https://code.visualstudio.com/download og installer pluginen Remote WSL. Deretter kan man i Linux terminalvinduet skrive code <filnavn>, og så åpner filen i Visual Studio Code på Windows.

Docker

Det virker ikke å bare installere docker med apt install siden WSL2 ikke bruker systemd. Det enkleste er å installere Docker Desktop for Windows https://docs.docker.com/desktop/windows/install/. Når du starter opp Docker Desktop så blir docker-kommandoen tilgjengelig i WSL2.

Python

Ubuntu 22.04 LTS har python3.10 som standard. Installeres med sudo apt install python3.10-full hvis den ikke allerede er installert.

I boka Hyper Modern Python Tooling anbefales det ikke bruke pyenv på Ubuntu for å installere og bruke andre Python-versjoner, men heller installere flere python-versjoner fra repository ppa:deadsnakes/ppa

Ubuntu

sudo apt update && sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa && sudo apt update

sudo apt install python3.11-full

Bruk: python3.11 <navn på skript>

pyenv (ikke lenger anbefalt på Ubuntu og Windows, kun på Mac)

Python-versjoner bør installeres med pyenv på Linux og Mac, og med pyenv-win på Windows. Det gjør det lett å bytte mellom versjoner, muliggjør testing på flere python-versjoner samtidig osv.

Installer pyenv som beskrivet på pyenv-siden, men bruker du pyenv både på Linux (WSL2) og på Windows så trenger du å endre en linje i foreslått .bashrc og .profile. Pyenv-seksjonen skal da se slik ut:

# pyenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)""

På Ubuntu installerer du følgende pakker (python byggeavhengigheter) før du installerer python med pyenv:

sudo apt install build-essential libssl-dev zlib1g-dev libgdbm-dev \
libbz2-dev libreadline-dev libsqlite3-dev curl \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

Nyttige pyenv-kommandoer:

pyenv versions -l     # Lister alle python-versjoner du kan installere
pyenv versions        # Lister alle python-versjoner du har installert
pyenv install 3.11.1  # Installerer python versjon 3.11.1

pipx

pipx brukes for å installere python-verktøy i isolerte miljøer, slik at man ikke “tuller til” standard python installasjon. Anbefales for å installere verktøy som nbstripout, poetry, nox, tox osv.

Installeres ved å følge beskrivelsen på pipx-siden.

poetry

poetry brukes som pakkehåndteringsverktøy for python-pakker. Installeres som beskrevet på poetry-siden.

Ubuntu 22.04 LTS

Installasjon

Når man installerer WSL får man som standard Ubuntu 20.04 LTS. Det anbefales å installere Ubuntu 22.04 LTS i tillegg siden den har nyere versjoner, blant annet python 3.10. Den installerer du slik:

  1. Åpne Microsoft Store og søk etter “Ubuntu 22.04”. Velg “Get” og “Launch” for å installere.

  2. Det starter da opp et GUI-installasjonsprogram og følg anvisningene der. NB! På en av mine PC’er så jeg bare halvparten av installasjonsskjermbildet (problemer med grafikk-kort?), så der fikk jeg ikke installert via GUI. Installerte i stedet på følgende måte:

    1. Åpne et PowerShell-vindu i administrator-modus og skriv: ubuntu2204.exe install --gui=none

Konfigurasjon

Ubuntu 22.04 gir et par irriterende feilmeldinger som det er greit å få fjernet.

Ved sudo apt upgrade gir den følgende advarsler:

Failed to retrieve available kernel versions.
Failed to check for processor microcode upgrades

Fikses ved å følge denne beskrivelsen: https://askubuntu.com/questions/1404129/ubuntu-22-04-lts-on-wsl-failed-to-retrieve-available-kernel-versions-failed

Ved innlogging får man denne feilemeldingen:

/etc/update-motd.d/50-landscape-sysinfo: 17: cannot create /var/lib/landscape/landscape-sysinfo.cache: Permission denied

Fikses ved:

sudo apt remove landscape-common
sudo apt autoremove

  • No labels