How do I get Windows 10 Terminal to launch WSL?
You need to do following things first.
1. Install Linux (e.g. Ubuntu)
Search "Ubuntu" in the Microsoft store, then buy and install. This is actually WSL (Windows Subsystem for Linux).
Of course, you want to experience other versions of Linux, as well as Debian:
2. Enable WSL permissions
After installing the WSL version of Linux, you also need to enable WSL permissions:
Open another PowerShell window with "Run as Administrator".
Then enter the following command:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
After the command is completed, you can execute the Linux command in the built-out Terminal.
First enter ubuntu
in cmd, take a little time to start Ubuntu, set the username and password.
Then you can play with Ubuntu happily. Below I entered a few common commands such as ps
, touch
, ls
etc., as shown below.
3. Change settings
Click "Settings" in right top corner of above image, the file profile.json
file will be opened. Then inside the word "profiles"
in profile.json
file, add below snippet.
{
"guid": "{78e390db-1bff-4533-9d7c-20f53d8bafa1}",
"name": "WSL",
"colorscheme": "Campbell",
"historySize": 9001,
"snapOnInput": true,
"cursorColor": "#FFFFFF",
"cursorShape": "bar",
"commandline": "wsl ~",
"fontFace": "Consolas",
"fontSize": 12,
"acrylicOpacity": 0.75,
"useAcrylic": true,
"closeOnExit": false,
"padding": "0, 0, 0, 0"
}
Near the word "schemes"
in profile.json
file, you need to update below:
"schemes": [
{
"name": "Campbell",
"foreground": "#A7B191",
"background": "#0C0C0C",
"colors": [
"#0C0C0C",
"#C50F1F",
"#13A10E",
"#C19C00",
"#0037DA",
"#881798",
"#3A96DD",
"#CCCCCC",
"#767676",
"#E74856",
"#16C60C",
"#F9F1A5",
"#3B78FF",
"#B4009E",
"#61D6D6",
"#F2F2F2"
]
}
The complete setting file (profile.json) which can be obtained here.
Actually, the WSL here is Ubuntu.
4. Add icons to different types of tabs
You can add icons for Tab to this location:
%LOCALAPPDATA%\packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\RoamingState
I put some 32x32 PNG in this folder, and then in profile.json
I can reference the image resource with the path starting with ms-appdata://
.
The icon is available here: Icons
Then replace the contents of the new profile-withIcons.json
file below with the previous settings.
profile-withIcons.json
After finishing the contents of the folder is like this:
The final result is:
To launch any distribution, you can also use this for commandline:
wsl.exe -d <name_of_the_distribution>
Like :
wsl.exe -d Ubuntu-18.04
You can list all distributions with :
wsl.exe -l
.
PS : Tux icon for Linux :
ms-appx:///ProfileIcons/{9acb9455-ca41-5af7-950f-6bca1bc9722f}.png
Turns out that all I needed to do was change the commandline to ubuntu1804.exe
. Like this:
{
"acrylicOpacity" : 0.75,
"closeOnExit" : true,
"colorScheme" : "Campbell",
"commandline": "ubuntu1804.exe",
"cursorColor" : "#FFFFFF",
"cursorShape" : "bar",
"fontFace" : "Consolas",
"fontSize" : 10,
"guid" : "{0caa0dad-35be-5f56-a8ff-abceeeaa6101}",
"historySize" : 9001,
"icon" : "ms-appx:///ProfileIcons/{0caa0dad-35be-5f56-a8ff-afceeeaa6101}.png",
"name" : "wsl",
"padding" : "0, 0, 0, 0",
"snapOnInput" : true,
"startingDirectory" : "%USERPROFILE%",
"useAcrylic" : false
}