docs: Document and advocate systemd for WSL 2.

systemd makes it a lot convenient to run services required for Zulip's
development environment on WSL 2. Once enabled, `tools/start_service`
becomes unnecessary.

More info:
https://devblogs.microsoft.com/commandline/systemd-support-is-now-available-in-wsl/

Signed-off-by: Zixuan James Li <p359101898@gmail.com>
This commit is contained in:
Zixuan James Li 2023-06-08 19:12:49 -04:00 committed by Tim Abbott
parent 1337f6a404
commit 4a18552ff8
5 changed files with 11 additions and 24 deletions

View File

@ -84,4 +84,4 @@ machine, take a look at our tips for
[using-dev-env]: using.md
[testing]: ../testing/testing.md
[ci]: ../git/cloning.md#step-3-configure-continuous-integration-for-your-fork
[install-via-wsl]: setup-recommended.md#windows-10
[install-via-wsl]: setup-recommended.md#windows-10-or-11

View File

@ -66,7 +66,7 @@ ignoring the parts about `vagrant` (since you're not using it).
## Installing using Vagrant with VirtualBox on Windows 10
:::{note}
We recommend using [WSL 2 for Windows development](setup-recommended.md#windows-10)
We recommend using [WSL 2 for Windows development](setup-recommended.md#windows-10-or-11)
because it is easier to set up and provides a substantially better experience.
:::

View File

@ -79,7 +79,7 @@ Jump to:
- [Ubuntu](#ubuntu)
- [Debian](#debian)
- [Fedora](#fedora)
- [Windows](#windows-10)
- [Windows](#windows-10-or-11)
#### macOS
@ -157,12 +157,12 @@ official `docker-ce` package (named `docker.io` in the
docker distribution, you can follow
[their documentation to install Docker on Fedora](https://docs.docker.com/engine/install/fedora/).
#### Windows 10
#### Windows 10 or 11
Zulip's development environment is most easily set up on Windows using
the Windows Subsystem for Linux ([WSL
2](https://docs.microsoft.com/en-us/windows/wsl/wsl2-about))
installation method described here.
installation method described here. We require version 0.67.6+ of WSL 2.
1. Enable virtualization through your BIOS settings. This sequence
depends on your specific hardware and brand, but here are [some
@ -170,6 +170,10 @@ installation method described here.
1. [Install WSL 2](https://docs.microsoft.com/en-us/windows/wsl/setup/environment).
1. It is required to enable `systemd` for WSL 2 to manage the database, cache and other services.
To configure it, please follow [this instruction](https://learn.microsoft.com/en-us/windows/wsl/wsl-config#systemd-support).
Then, you will need to restart WSL 2 before continuing.
1. Launch the Ubuntu shell as an administrator and run the following command:
```bash
@ -225,8 +229,6 @@ installation method described here.
start it. (If Windows Firewall creates popups to block services, simply click `Allow Access`.)
```bash
# Start database, cache, and other services
./tools/wsl/start_services
# Install/update the Zulip development environment
./tools/provision
# Enter the Zulip Python environment
@ -235,11 +237,6 @@ installation method described here.
./tools/run-dev
```
:::{note}
If you shut down WSL, after starting it again, you will have to manually start
the services using `./tools/wsl/start_services`.
:::
1. If you are facing problems or you see error messages after running `./tools/run-dev`,
you can try running `./tools/provision` again.

View File

@ -99,8 +99,8 @@ If you haven't already, now is a good time to install the Zulip development envi
source projects in general, we recommend following our [detailed guide for
first-time contributors][zulip-rtd-dev-first-time].
If you are in the middle of installing the recommended setup on Windows 10,
you are ready to [continue with step 8](../development/setup-recommended.md#windows-10).
If you are in the middle of installing the recommended setup on Windows 10 or 11,
you are ready to [continue with step 9](../development/setup-recommended.md#windows-10-or-11).
## Step 3: Configure continuous integration for your fork

View File

@ -1,10 +0,0 @@
#!/usr/bin/env bash
set -x
set -e
# These services are no longer running when WSL is restarted
# and hence they have to be manually started.
sudo service rabbitmq-server start
sudo service memcached start
sudo service redis-server start
sudo service postgresql start