Как запустить определенную службу при запуске Ubuntu на WSL2

Мне нужно запускать sudo service postgresql start каждый раз когда я запускаю Ubuntu на WSL2.

Как сделать так, чтобы служба запускалась автоматически при запуске Ubuntu?

WSL не использует systemd, поэтому sudo systemctl enable postgresql не работает.

$ sudo systemctl status postgresql
System has not been booted with systemd as init system (PID 1). 
Can't operate. Failed to connect to bus: Host is down

Есть ли стандартный способ запуска службы при запуске?

Изменить

Я хочу запускать службу при запуске Ubuntu, а не при запуске Windows.

1
задан 5 August 2021 в 13:34

1 ответ

В WSL, IMHO, есть более простой способ, чем добавить команду sudo в свой запуск и беспокоиться о sudoers .

sudoers , безусловно, канонический (без каламбура, просто счастливый случай) способ сделать это в Ubuntu, но на WSL просто проще использовать следующий синтаксис в вашем ~ / .bashrc :

 wsl.exe -u root service postgresql status || wsl.exe -u root service postgresql start

wsl.exe -u root не требует пароля. Из PowerShell и CMD его можно вызывать без exe , но изнутри WSL для этого требуется расширение.

0
ответ дан 20 August 2021 в 10:30

Другие вопросы по тегам:

Похожие вопросы: