Fix for WSL vsce: Cannot autolaunch D-Bus without X11 $DISPLAY
tl;dr:
- Set
VSCE_STORE=file
environment variable. - OR: Use the
VSCE_PAT
environment variable to specify your personal access token. - OR: Use the
-p
flag to specify your personal access token.
The vsce
CLI for publishing and managing VSCode extensions attempts to use system-native keychains to manage the secure storage of your Azure/Visual Studios Code personal access token. This fails in WSL as it attempts to use the Secret Service API/libsecret which apparently requires X11 or some GUI environment which is not available (unless maybe if you have WSLg installed?).
There are a 2 simple workarounds:
You can instruct vsce
to use file-based storage instead of keychains by setting the environment variable VSCE_STORE=file
like so:
VSCE_STORE=file vsce login
Or, you can skip vsce login
entirely and instead provide your personal access token using either the VSCE_PAT
environment variable or the -p, --pat
flag like so:
VSCE_PAT=youraccesstoken vsce publish
or
vsce publish -p youraccesstoken