Odată cu lansarea recentă a Windows 11, există două moduri preferate de a face acest lucru.
Windows 11
Acum puteți executa o linie de comandă arbitrară atunci când porniți o instanță prin crearea/editarea /etc/wsl.conf
(prin sudo) cu următoarele:
[boot]
command="service postgresql start"
Această comandă rulează ca root și nu generează nicio ieșire. Dacă trebuie să rulați mai multe comenzi, acestea ar trebui să fie separate prin punct și virgulă (sau ceva de genul &&
) în interiorul comanda=
şir.
Windows 10
Pe WSL cu Windows 10, există încă o modalitate mai ușoară, IMHO, decât introducerea unui sudo
comandă la pornire și vă faceți griji sudoeri
.
sudoeri
este cu siguranță modul canonic (fără joc de cuvinte, doar un accident fericit) de a face acest lucru pe Ubuntu, dar pe WSL este pur și simplu mai ușor să utilizați următoarea sintaxă în dvs. ~/.bashrc
:
wsl.exe -u serviciu rădăcină stare postgresql || wsl.exe -u root service postgresql start
wsl.exe -u root
nu necesită o parolă. Din PowerShell și CMD, poate fi apelat fără executabil
, dar din cadrul WSL necesită extensia.
Notă, per @mbomb007comentariul lui, acesta va genera unul sau două mesaje de fiecare dată când începeți. Pentru a suprima acest lucru, utilizați:
wsl.exe -u serviciu rădăcină stare postgresql > /dev/null || wsl.exe -u serviciu rădăcină postgresql start > /dev/null