diff --git a/pkg/machine/wsl/machine.go b/pkg/machine/wsl/machine.go index 80ae9f3da0..38219a799f 100644 --- a/pkg/machine/wsl/machine.go +++ b/pkg/machine/wsl/machine.go @@ -69,12 +69,6 @@ chown [USER]:[USER] /home/[USER]/.config const sudoers = `%wheel ALL=(ALL) NOPASSWD: ALL ` -const bootstrap = `#!/bin/bash -ps -ef | grep -v grep | grep -q systemd && exit 0 -nohup unshare --kill-child --fork --pid --mount --mount-proc --propagation shared /lib/systemd/systemd >/dev/null 2>&1 & -sleep 0.1 -` - const wslmotd = ` You will be automatically entered into a nested process namespace where systemd is running. If you need to access the parent namespace, hit ctrl-d @@ -82,7 +76,13 @@ or type exit. This also means to log out you need to exit twice. ` -const sysdpid = "SYSDPID=`ps -eo cmd,pid | grep -m 1 ^/lib/systemd/systemd | awk '{print $2}'`" +const sysdpid = "SYSDPID=`ps --no-headers -C systemd --format exe,pid | grep -m 1 ^/usr/lib/systemd/systemd | awk '{print $2}'`" + +const bootstrap = "#!/bin/bash\n" + sysdpid + ` +[ -n "$SYSDPID" ] && exit 0 +nohup unshare --kill-child --fork --pid --mount --mount-proc --propagation shared /usr/lib/systemd/systemd >/dev/null 2>&1 & +sleep 0.1 +` const profile = sysdpid + ` if [ ! -z "$SYSDPID" ] && [ "$SYSDPID" != "1" ]; then