https://github.com/moonkracker/wsl2_systemd_systemctl
https://github.com/moonkracker/wsl2_systemd_systemctl
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/moonkracker/wsl2_systemd_systemctl
- Owner: moonkracker
- Created: 2021-04-24T22:55:48.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2021-05-27T09:32:52.000Z (over 3 years ago)
- Last Synced: 2024-08-01T13:36:27.397Z (7 months ago)
- Size: 1.95 KB
- Stars: 2
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# setting up systemd for wsl2:
- Install packages
```bash
sudo apt install -y fontconfig daemonize
```
- Add data to /etc/profile
```bash
SYSTEMD_PID=$(ps -ef | grep '/lib/systemd/systemd --system-unit=basic.target$' | grep -v unshare | awk '{print $2}')
if [ -z "$SYSTEMD_PID" ]; then
sudo /usr/bin/daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target
SYSTEMD_PID=$(ps -ef | grep '/lib/systemd/systemd --system-unit=basic.target$' | grep -v unshare | awk '{print $2}')
fi
if [ -n "$SYSTEMD_PID" ] && [ "$SYSTEMD_PID" != "1" ]; then
exec sudo /usr/bin/nsenter -t $SYSTEMD_PID -a su - $LOGNAME
fi
```
- Add data to /etc/sudoers
```bash
ALL=(ALL) NOPASSWD: /usr/sbin/daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target
ALL=(ALL) NOPASSWD: /usr/bin/nsenter -t [0-9]* -a su - [a-zA-Z0-9]*
```
- In powershell restart wsl
```ps
wsl --shutdown
```