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.

What is WSL?

Updated 13th May 2022

In 2022, web developers have a whole host of options to run development environments on a local machine. With the initial release of WSL in 2016 and the release of WLS2 in 2019, a new environment was presented to web developers. In this post, I will help you answer the question “What is WSL?” What

How to Upload and Download files to and from a Linux server over SSH

Updated 16th August 2022

Its common place to need to upload and download files to and from a remote Linux server. To upload and download files from a remote Linux server you can use the scp (secure copy) command. To download a file you can use: To upload a file you can use: scp /path/to/file/your/uploading username@ip-or-server-name:/path/to/location/to/upload/to Note: It is

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