Leitores como você ajudam a apoiar o MUO. Quando você faz uma compra usando links em nosso site, podemos ganhar uma comissão de afiliado.

Windows Subsystem for Linux, ou WSL, é uma ótima maneira para desenvolvedores que precisam executar Linux e Windows sem precisar configurar uma máquina virtual ou inicialização dupla.

Um novo recurso importante é a capacidade de executar systemd no WSL, o que é útil para desenvolvedores da Web que configuram ambientes de teste localmente. Veja como habilitá-lo e usá-lo.

Por que instalar o systemd no WSL?

Os serviços WSL, por padrão, executam o serviço init System V mais antigo e os serviços são iniciados com o comando service. Em setembro de 2022, Microsoft adicionou a opção de usar o systemd para gerenciar serviços. A maioria das principais distribuições Linux já mudou para systemd.

Apesar da controvérsia, em uso real, é muito mais simples iniciar e parar serviços com systemd. Também é mais fácil acompanhar outros tutoriais do Linux, pois você não precisa alterar tanto os comandos.

Um ambiente de teste LAMP local estará mais próximo de um servidor Linux padrão, portanto, seu aplicativo será mais fácil de depurar.

Como habilitar o systemd no WSL

Para habilitar o systemd, você deve executar a versão correta do WSL. systemd requer WSL versão 0.67.6 ou superior. Você pode verificar o número da versão abrindo o PowerShell e digitando:

wsl --versão

Se você tiver uma versão mais antiga instalada e quiser usar o systemd, poderá atualizar o WSL usando:

wsl --atualizar

Agora você terá que configurar o systemd em qualquer distro que tenha instalado com o WSL. O processo é o mesmo em qualquer distribuição WSL, seja Ubuntu, Debian, Fedora ou qualquer outra.

Basta editar o /etc/wsl.conf arquivo em seu sistema como root e adicione estas linhas:

[bota]
systemd=verdadeiro

Se o arquivo wsl.conf não existir, não se preocupe e crie você mesmo. Essas linhas funcionarão independentemente.

Salve o arquivo e agora você terá que reiniciar qualquer distribuição WSL em execução. Para fazer isso, abra uma janela do PowerShell e digite este comando:

wsl --desligar

Abra outro terminal e você poderá gerenciar serviços com systemd no WSL.

Iniciando e parando serviços WSL com systemd

Agora você pode usar systemctl para iniciar e interromper serviços no WSL.

Suponha que você esteja usando o Apache para executar um servidor web local para testar um aplicativo web que você está desenvolvendo.

Você iniciaria o Apache assim:

sudosystemctlcomeçarapache2.serviço

Se você quiser que ele inicie automaticamente, habilite-o usando:

sudo systemctl ativar apache2.service

E desative-o com:

sudosystemctlpararapache2.serviço

Agora você pode executar o systemd no WSL

Com as atualizações mais recentes do WSL, agora você pode ativar o systemd e iniciar e interromper os serviços conforme necessário. Isso torna o WSL um bom ambiente para desenvolver aplicativos da Web, pois você pode testá-los como se estivesse usando qualquer outra máquina Linux padrão.

Também é extremamente fácil instalar um servidor LAMP (Linux, Apache, MySQL, PHP) no subsistema Windows para Linux.