Launch Windows Features from WSL Shells

This blog post explains one technique that you can use in Windows Subsystem for Linux (WSL) to launch Windows features supported by the Windows Run dialog and the Windows console that WSL shells cannot launch by default.

The Windows Run dialog and the Windows console (cmd.exe) can launch Windows components that WSL shells apparently cannot. For example, you can enter the following into the Run dialog to access Mouse properties:


In the console and in WSL shells, you can achieve the same by prepending explorer.exe:

explorer.exe ms-settings:mousetouchpad

The Windows console also provides a start command that does not seem to be available from the Bash shell, but Microsoft seems to be replacing that start command with explorer.exe.

In both the Run dialog and the console, you can use this command without explorer.exe to access Display properties:


For me, this fails on WSL with an error message such as the following:

/mnt/c/Windows/system32/desk.cpl: Invalid argument

Prepending explorer.exe opens Windows Explorer rather than Display properties.

You can address this buy prepending cmd.exe /c.

cmd.exe /c desk.cpl
Screen shot of bash shell with error message from desk.cpl

The error message seems irrelevant. In a script, in case the command could generate other error messages, I would change to a directory that does not generate the error rather than redirecting standard error.

Here are the .cpl files that I could find and what I think they do:

Firewall.cplWindows Defender Firewall
appwiz.cplPrograms and Features
desk.cplDisplay Properties (Desktop)
hdwwiz.cplDevice Manager
inetcpl.cplInternet Properties
intl.cplRegion (Internationalization)
joy.cplJoystocks/Game Controllers
main.cplMouse Properties
ncpa.cplNetwork Connections
powercfg.cplPower Options
sysdm.cplSystem Properties
telephon.cplLocation Information (Phone)
timedate.cplDate and Time
wscui.cplSecurity and Maintenance
FlashPlayerCPLApp.cplFlash Player Settings Manager
Windows .cpl files and their apparent functions

I intend to update an existing script that I use to access windows features to incorporate these functions..

There may be better ways.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: