Logo von Thomas Waldecker Software Engineering
Veröffentlichungsdatum

Systemd User-Session beendet in WSL 2.5

Autoren
  • avatar
    Name
    Thomas Waldecker

Mit WSL 2.5 gibt es einen Fehler, dass die systemd User-Session beendet wird und dadurch einige Befehle fehlschlagen, unter anderem z.B. podman. In WSL 2.6 ist das Problem behoben. Hier wird auch ein workaround gezeigt.

Fehler zeigt sich z.B. so:

podman compose up -d
>>>> Executing external compose provider "/nix/store/iv6v93khl9qy3iw1jl1rqni8linjf4m7-podman-compose-1.5.0/bin/podman-compose". Please see podman-compose(1) for how to disable this message. <<<<

Trying to pull docker.io/library/postgres:16-alpine...
Getting image source signatures
Copying blob 97b8e529965a done   |
Copying blob 1074353eec0d skipped: already exists
Copying blob 3048a283a433 done   |
Copying blob d2e5feb410e8 done   |
Copying blob 6fe79fe4410f done   |
Copying blob 137ed19c6b80 done   |
Copying blob 6bfb940eb824 done   |
Copying blob e76f2995a422 done   |
Copying blob 9582264a43c0 done   |
Copying blob d3a0dfeb7e38 done   |
Copying blob feb143896d95 done   |
Copying config b97fe41a06 done   |
Writing manifest to image destination
f28e706fb449f11470a406e40ed626c9e8cb8c9ea461e4dc718112c8f6ef55aa
784b017b5837875aad89e7848dbd0acd9ccf39333b1d7e944c89fb506af8c709
ERRO[0000] failed to move the rootless netns pasta process to the systemd user.slice: dial unix /run/user/1000/bus: connect: no such file or directory
[WARN  netavark::dns::aardvark] Failed to delete aardvark-dns entries after failed start: failed to get aardvark pid: IO error: No such file or directory (os error 2)
ERRO[0001] Removing timer for container f28e706fb449f11470a406e40ed626c9e8cb8c9ea461e4dc718112c8f6ef55aa healthcheck: unable to get systemd connection to remove healthchecks: lstat /run/user/1000/systemd: no such file or directory
Error: unable to start container "f28e706fb449f11470a406e40ed626c9e8cb8c9ea461e4dc718112c8f6ef55aa": netavark: error while applying dns entries: aardvark-dns failed to start: Failed to connect to user scope bus via local transport: No such file or directory

Was ist mit /run/user/1000/systemd

ls /run/user/1000/systemd
ls: cannot access '/run/user/1000/systemd': No such file or directory

Es existiert nicht!

❯ systemctl --user status
Failed to connect to user scope bus via local transport: No such file or directory

Man kann sich nicht mit dem systemd user bus verbinden.

Ein temporärer Fix ist, die systemd User-Sesion neu zu starten:

sudo systemctl restart user@$(id -u)

dann gehts wieder:

podman compose up -d
>>>> Executing external compose provider "/nix/store/iv6v93khl9qy3iw1jl1rqni8linjf4m7-podman-compose-1.5.0/bin/podman-compose". Please see podman-compose(1) for how to disable this message. <<<<

backend_postgres_1
backend_backend_1

Mit einem Update von wsl sollte das nicht mehr passieren.

Aktuell:

PS C:\Users\Thomas> wsl --version
WSL-Version: 2.5.10.0
Kernelversion: 6.6.87.2-1
WSLg-Version: 1.0.66
MSRDC-Version: 1.2.6074
Direct3D-Version: 1.611.1-81528511
DXCore-Version: 10.0.26100.1-240331-1435.ge-release
Windows-Version: 10.0.26100.6584
PS C:\Users\Thomas> wsl --update
Es wird nach Updates gesucht.
Windows-Subsystem für Linux wird auf Version 2.6.3 aktualisiert.
[==================        32,0%                           ]

Nach dem Update:

PS C:\Users\Thomas> wsl --version
WSL-Version: 2.6.3.0
Kernelversion: 6.6.87.2-1
WSLg-Version: 1.0.71
MSRDC-Version: 1.2.6353
Direct3D-Version: 1.611.1-81528511
DXCore-Version: 10.0.26100.1-240331-1435.ge-release
Windows-Version: 10.0.26100.6584

Links