如何让 Windows 10 终端启动 WSL?

How do I get Windows 10 Terminal to launch WSL?

我正在使用新的 Windows 终端,并试图让它启动我的 WSL 终端。这是我尝试使用的设置:

        {
            "acrylicOpacity" : 0.75,
            "closeOnExit" : true,
            "colorScheme" : "Campbell",
            "commandline" : "%LOCALAPPDATA%/wsltty/bin/mintty.exe --WSL= --configdir='%APPDATA%/wsltty' -~ ",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 10,
            "guid" : "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
            "historySize" : 9001,
            "icon" : "ms-appx:///ProfileIcons/{0caa0dad-35be-5f56-a8ff-afceeeaa6101}.png",
            "name" : "wsl",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : "%USERPROFILE%",
            "useAcrylic" : true
        }

但它所做的只是打开某种 CMD。

WSL 终端 运行 的正确命令是什么

编辑:

我确实注意到 GUID 与常规 CMD 相同,所以我更改了它。然后它确实启动了 external shell.

事实证明,我需要做的就是将命令行更改为 ubuntu1804.exe。像这样:

        {
            "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
        }

要启动任何发行版,您也可以将其用于命令行:

wsl.exe -d <name_of_the_distribution>

喜欢:

wsl.exe -d Ubuntu-18.04

您可以列出所有发行版:

wsl.exe -l

.

PS:Linux 的晚礼服图标:

ms-appx:///ProfileIcons/{9acb9455-ca41-5af7-950f-6bca1bc9722f}.png

您需要先做以下事情。

1.安装 Linux(例如 Ubuntu)

在 Microsoft 商店中搜索 "Ubuntu",然后购买并安装。这实际上是 WSL(Windows Linux 的子系统)。

当然想体验其他版本的Linux,还有Debian:


2。启用 WSL 权限

安装完Linux的WSL版本后,还需要开启WSL权限:

使用 "Run as Administrator" 打开另一个 PowerShell window。

然后输入以下命令:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux 

命令完成后,可以在built-out终端执行Linux命令

先在cmd中输入ubuntu,稍微花点时间启动Ubuntu,设置用户名和密码。

那你就可以和Ubuntu一起愉快的玩耍了。下面我输入了pstouchls等几个常用命令,如下图


3。更改设置

点击上图右上角的"Settings",会打开profile.json文件。然后在 profile.json 文件中的单词 "profiles" 中,添加以下代码段。

        {
            "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"
        }

profile.json文件中"schemes"字附近,需要更新如下:

"schemes": [
        {
            "name": "Campbell",
            "foreground": "#A7B191", 
            "background": "#0C0C0C",
            "colors": [
                "#0C0C0C",
                "#C50F1F",
                "#13A10E",
                "#C19C00",
                "#0037DA",
                "#881798",
                "#3A96DD",
                "#CCCCCC",
                "#767676",
                "#E74856",
                "#16C60C",
                "#F9F1A5",
                "#3B78FF",
                "#B4009E",
                "#61D6D6",
                "#F2F2F2"
            ]
        }

可获取的完整设置文件(profile.json)here.

其实这里的WSL是Ubuntu.


4.为不同类型的标签添加图标

您可以将 Tab 的图标添加到此位置:

 %LOCALAPPDATA%\packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\RoamingState 

我在这个文件夹里放了一些32x32的PNG,然后在profile.json我可以引用以ms-appdata://开头的路径的图片资源。

图标位于此处: Icons

然后用之前的设置替换下面新的profile-withIcons.json文件的内容。 profile-withIcons.json

完成后文件夹的内容是这样的:

最后的结果是:

虽然我的回答不是问题(因为 O.P 回答了。)我在搜索为我最近的 [=18= 添加 Windows 终端 (WT) 配置文件时发现了这个问题] 安装,因为我最近重新映像了我的笔记本电脑。

2003 年 19 月 10 日更新:安装顺序无关紧要。我的“ubuntu”配置文件在安装 ubuntu 后出现,然后在 PowerShell 中启动 ubuntu 实例并建立我的用户帐户和密码。然后 Windows 终端为 WSL 添加适当的 shell 配置文件。

我在这里开发了一个调整终端配置的工具:

Windows Terminal Tweaker

它可以让您添加不同的配置文件,让颜色选择器选择配色方案,并提供在实时应用设置时调整每件事的选项。

Windows 终端允许您打开设置并在那里进行更改。如果您已经安装了 ubuntu,应该可以选择将 ubuntu 配置文件设置为默认配置。

将 ubuntu 的 guid 复制粘贴到 defaultProfile 中,默认情况下它将自动启动 WSL ubuntu 而不是 powershell。

问题的前提被 GUID 的错误弄脏了,因为 OP 说示例代码实际上是正确的。所以,问题可以是 re-interpreted as--

默认值 settings.json 指向您选择的应用程序所需的最小更改是多少?(这就是让我来到这里的原因)

  1. guid - 必须是唯一的。我成功地只更改了每个自定义项的最后一个数字。

  2. commandline - Bravo Yeung 的回答是 link 到 sample settings.json file"commandline": "wsl ~"

这个小值是通过设置 default distro 实现的:“默认的 WSL 分布是 运行 当你 运行 wsl on命令行:

wsl --setdefault <DistributionName>

但是,似乎 commandline:wsl 不适用于 startingDirectory。 我已成功省略 commandline 以支持 source + startingDirectory:

// Make changes here to the cmd.exe profile.
"guid": "{long-guid-here}",
"hidden": false,
"name": "Debian",
"tabTitle" : "WSL (Debian)",
"source": "Windows.Terminal.Wsl",
"startingDirectory" : "C:\Users\myuser"

这是一个很好的 link,它让我在第一次安装 Windows 终端并自定义设置时开始,Easily add Anaconda Prompt to Windows Terminal to make life better

  1. 打开设置

  1. 更改下拉列表中的“默认配置文件”。

  1. 点击右下角的“保存”。