46

我正在使用新的 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 相同,所以我改变了它。然后它确实启动了一个外部外壳。

4

7 回答 7

81

你需要先做以下事情。

1.安装Linux(如Ubuntu)

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

1557633269919

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

1557633347262


2.启用WSL权限

安装好WSL版Linux后,还需要开启WSL权限:

使用“以管理员身份运行”打开另一个 PowerShell 窗口。

1557633727047

然后输入以下命令:

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

1557633836814

命令完成后,可以在内置的终端中执行Linux命令。

首先进入ubuntucmd,花一点时间启动Ubuntu,设置用户名和密码。

然后就可以愉快的玩Ubuntu了。下面我输入了几个常用的命令,如ps,touchls,如下图。

1557633540178


3.更改设置

单击上图右上角的“设置”,profile.json将打开文件文件。"profiles"然后在文件中的单词中profile.json,添加以下代码段。

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

"schemes"在文件中的单词附近profile.json,您需要在下面更新:

"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)可在此处获取。

实际上,这里的 WSL 是 Ubuntu。


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

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

 %LOCALAPPDATA%\packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\RoamingState 

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

该图标在此处可用: 图标

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

整理后文件夹的内容是这样的:

目录

最终结果是:

图标

于 2019-06-27T04:15:49.717 回答
17

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

wsl.exe -d <name_of_the_distribution>

像 :

wsl.exe -d Ubuntu-18.04

您可以列出所有发行版:

wsl.exe -l

.

PS:Linux 的 Tux 图标:

ms-appx:///ProfileIcons/{9acb9455-ca41-5af7-950f-6bca1bc9722f}.png
于 2019-06-26T08:21:15.373 回答
7

事实证明,我需要做的就是将命令行更改为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
        }
于 2019-06-26T04:18:06.260 回答
6

虽然我的答案是问题(因为由 OP 回答),但我在为我最近的 Ubuntu 安装搜索添加 Windows 终端(WT)配置文件时发现了这个问题,因为我最近重新映像了我的笔记本电脑。

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

于 2019-09-16T17:06:54.883 回答
4

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

Windows 终端调整器⚡

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

于 2020-07-26T07:09:41.643 回答
2

问题的前提被 . 的错误所破坏GUID,因为 OP 说示例代码实际上是正确的。所以,这个问题可以重新解释为——

要指向您选择的应用程序,对默认 settings.json 的最低要求是多少?(这就是让我来到这里的原因)

  1. guid- 必须是独一无二的。我已经成功地改变了每个自定义的最后一个数字。

  2. commandline- 来自 Bravo Yeung 的答案是指向示例 settings.json 文件的链接:"commandline": "wsl ~"

这个小小的价值是通过设置默认发行版来实现的:“默认的 WSL 发行版是在命令行上运行 wsl 时运行的发行版:”

wsl --setdefault <DistributionName>

但是,似乎commandline:wsl不适用于startingDirectory. 我已经成功地省略commandlinesource+ 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"

这是一个很好的链接,它让我第一次安装 Windows Terminal 并自定义设置,轻松将 Anaconda Prompt 添加到 Windows Terminal,让生活更美好

于 2020-10-24T20:26:19.490 回答
1

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

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

于 2020-08-26T13:33:40.457 回答