Skip to content

alimohammad0816/systemd-on-wsl2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

first of all type these command for install packages: sudo apt-get update && sudo apt-get install -yqq daemonize dbus-user-session fontconfig

after that with nano or vi or any editor create a file on this path: /etc/profile.d/00-wsl2-systemd.sh and paste this lines:

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

type $ sudo visudo and paste this line on bottom of file:

%sudo ALL=(ALL) NOPASSWD: /usr/bin/daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target
%sudo ALL=(ALL) NOPASSWD: /usr/bin/nsenter -t [0-9]* -a su - [a-zA-Z0-9]*

now restart wsl2 and after this, systemd runs on wsl2.

About

activate systemd on wsl2 (windows subsystem for linux)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages