Start WSL2 services on Windows startup

By Dillon Smart · · · 0 Comments

Start Windows Subsystem for Linux services

In some circumstances, you may want to automatically start your WSL2 (Windows Subsystem for Linux) services on Windows startup such as Apache2, Nginx, and MySQL. Follow along below to learn how to start your services when you boot your machine.

Create a startup script

The first step is to create a startup script. This is the script that will be executed when you turn your machine on.

From the terminal, create and open a new shell script file:

nano /etc/init.sh

You may require elevated privileges, so use sudo if needed.

Within the new file, copy the following commands. You can add more commands for other services.

#!/bin/sh
service apache2 start
service mysql start

WSL2 start services on Windows Startup
After creating and saving the script you will need to make it executable:

chmod +x /etc/init.sh

Create a new Windows Task

From the start menu in Windows, search and open Task Scheduler.

In the right-hand panel, select Task Scheduler Library.

In the left-hand panel under Actions, select “Create Task…”. This will open a new window with the “General” tab selected.

Enter a name and description for your task.

Under security options within the “General” tab, select “Run whether user is logged on or not” and “Run with highest privileges”.

Create a new task scheduler task in Windows for WSL Windows Subsystem for Linux

Next, select the “Actions” tab > “New…”. This will open another window.

Enter the following in the Program/script input field.

wsl -d Ubuntu-18.04 -u root /etc/init.sh

Ensure you replace the Ubuntu version with the correct Ubuntu version.

Add an action to call WSL script in Windows Task

Select OK.

Finally, select the Conditions tab. From here you can configure the criteria that best suits you.

Select OK.

Conclusion

You have successfully created a new task to start WSL2 services on Windows startup. To make sure things are working correctly, reboot your machine.

For help setting up WSL for web developers, check out The ULTIMATE guide to setup Windows Subsystem for Linux (WSL) with Ubuntu, Apache2, MySQL and PHP

UbuntuWindowsWindows Subsystem for Linux

0 Comment

Was this helpful? Leave a comment!

This site uses Akismet to reduce spam. Learn how your comment data is processed.

IPtables – How to block and unblock IP Addresses in Linux

Updated 14th December 2023

Not long ago, I noticed some strange activity on a server I manage. The server, running Ubuntu 22.04, was receiving high volumes of traffic from a single IP Address. After some investigation, I decided the activity resembled that of web scrapping, so I decided to block the IP Address. Iptables or ufw I hear you

[SOLVED 2022] Permission denied in WSL: Apache2 startup failed

Updated 10th June 2022

Windows Subsystem for Linux is a great tool for Web Developers using the Windows operating system. With the release of WSL2 which brought the introduction of a real Linux Kernal, the environment saw huge speed improvements, cementing itself as the preferred development environment for many developers. However, some Windows updates have proven to cause problems

[UPDATED 2022] Change PHP version on Ubuntu, Linux

Updated 23rd August 2022

In this post, I will show you how to switch PHP version on Ubuntu, Linux. If you are developing on Windows, follow this guide to set up Windows Sub System for Linux. What will be covered: Change PHP version for Apache2 Change PHP version for Nginx Change PHP CLI version In this example, we will