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. |
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 |
Installeres fra Microsoft Store for Windows 10. I Windows 11 er den installert som standard.
Få 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-20.04\home\<ditt brukernavn>
hvis Windows Terminal profilen din heter Ubuntu-20.04).
Starship gir deg god informasjon om git repositoryer på kommandolinja. Snap virker ikke out-of-the box på Ubuntu 20.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/starship.toml
# Don't print a new line at the start of the prompt add_newline = false # Timeout before warnings for commands (in milliseconds). command_timeout = 2000 [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 |
Alternativ til nano, som støtter mus (scrolling, selektering, copy-paste osv). Installer med kommando:
sudo apt install micro |
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.
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 tilgjengeling i WSL2.
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 brukes for å installere python-verktøy i isolerte miljøer, slik at man ikke “tuller til” standard python installasjon. Anbefales for å installere verkøy som nbstripout, nox, tox osv.
Installeres ved å følge beskrivelsen på pipx-siden.
poetry brukes som pakkehåndteringsverktøy for python-pakker. Installeres som beskrevet på poetry-siden.
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:
Åpne Microsoft Store og søk etter “Ubuntu 22.04”. Velg “Get” og “Launch” for å installere.
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:
Åpne et PowerShell-vindu i administrator-modus og skriv: ubuntu2204.exe install --gui=none
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 |