/wsl-autostart

Support for starting the Linux services in Windows Subsystem for Linux (WSL) on Windows startup

Primary LanguageBatchfileMIT LicenseMIT

WSL Autostart

Support for starting the Linux services in Windows Subsystem for Linux (WSL) on Windows startup.

README | 中文文档

Table of Contents

Installation

  • Clone to any directory using the git command: (e.g C:\wsl-autostart)
git clone https://github.com/troytse/wsl-autostart
  • Add a startup item to the registry. run-regedit

  • Add a string item under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run (e.g WSLAutostart) regedit-new-item

  • Set the path to the script (e.g C:\wsl-autostart\start.vbs) regedit-set-path

Usage

  • Modify /etc/sudoers in the WSL to specify the service commands calling on startup without a password.

  • For example,

    • for the distribution Ubuntu and other Debian derivates:

      %sudo ALL=NOPASSWD: /etc/init.d/cron
      %sudo ALL=NOPASSWD: /etc/init.d/ssh
      %sudo ALL=NOPASSWD: /etc/init.d/mysql
      %sudo ALL=NOPASSWD: /etc/init.d/apache2
      
    • for the distribution Opensuse:

      %users ALL=(ALL) NOPASSWD: /usr/sbin/cron
      
  • Modify commands.txt in the wsl-autostart directory to specify the service commands accordingly. For example,

    • for the distribution Ubuntu and other Debian derivates:

      /etc/init.d/cron
      /etc/init.d/ssh
      /etc/init.d/mysql
      /etc/init.d/apache2
    • for the distribution Opensuse:

      /usr/sbin/cron

Other methods

  • Using gpedit.msc, it is possible to define a program that runs when the computer starts

    Note that the configured program will run as the system user.

  • Using taskschd.msc, it is possible to schedule a task after the startup of the computer.

    You may configure which user will run the program, a delay before a run and a number of retries. the same taskschd.msc program will show a specific log regarding the execution of the task

See here how to avoid the UAC prompt. One option is:

  1. create an elevated shortcut by https://winaero.com/blog/create-elevated-shortcut-to-skip-uac-prompt-in-windows-10/ (or more conveniently by the Winaero Tweaker as pointed out at the end of these instruction) and
  2. put it into the startup folder %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup.