如何使Windows 10 Terminal启动WSL?

Way*_*ner 8 windows-subsystem-for-linux windows-terminal

我正在使用新的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
        }
Run Code Online (Sandbox Code Playgroud)

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

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

编辑:

我确实注意到GUID与常规CMD是相同的,所以我更改了它。然后它没有启动一个外部的外壳。

Bra*_*ung 15

您需要先进行以下操作。

1.安装Linux(例如Ubuntu)

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

1557633269919

当然,您想体验其他版本的Linux以及Debian:

1557633347262


2.启用WSL权限

在安装WSL版本的Linux之后,您还需要启用WSL权限:

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

1557633727047

然后输入以下命令:

bashEnable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux 
Run Code Online (Sandbox Code Playgroud)

1557633836814

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

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

然后,您可以快乐地玩Ubuntu。下面我进入几个常见的命令,例如pstouchls等等,如下所示。

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"
        }
Run Code Online (Sandbox Code Playgroud)

"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"
            ]
        }
Run Code Online (Sandbox Code Playgroud)

完整的设置文件(profile.json)可以在此处获得。

实际上,这里的WSL是Ubuntu。


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

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

 %LOCALAPPDATA%\packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\RoamingState 
Run Code Online (Sandbox Code Playgroud)

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

该图标位于此处: 图标

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

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

迪尔

最终结果是:

图示

  • “RoamingState”中图标的正确路径实际上是:“ms-appdata:///roaming/{filename}” (2认同)

Tob*_*s J 8

Windows Terminal 的最新版本包括对动态配置文件的支持,其中新的 WSL 发行版将自动添加到可用配置文件列表中。

添加了 WSL 配置文件的 Windows 终端的屏幕截图

但是,如果安装新发行版时 Windows 终端正在运行,则当前在运行时不会添加它。您必须退出并重新启动 Windows 终端,新的配置文件将自动出现。

添加后,您可以使用“设置”对话框或settings.json照常编辑来编辑/移动它。每个 WSL 发行版均使用自动填充的 GUID 进行标识。

在 Notepad++ 中编辑 settings.json 的屏幕截图

如链接文章中所述,可以通过禁用动态配置文件的源来关闭动态配置文件,如下所示settings.json

"disabledProfileSources": ["Windows.Terminal.Wsl", "Windows.Terminal.Azure", "Windows.Terminal.PowershellCore"]
Run Code Online (Sandbox Code Playgroud)


Way*_*ner 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
        }
Run Code Online (Sandbox Code Playgroud)


elh*_*hef 6

要启动任何发行版,您也可以在命令行中使用它:

wsl.exe -d <name_of_the_distribution>
Run Code Online (Sandbox Code Playgroud)

喜欢 :

wsl.exe -d Ubuntu-18.04
Run Code Online (Sandbox Code Playgroud)

您可以使用列出所有发行版:

wsl.exe -l
Run Code Online (Sandbox Code Playgroud)

PS:Linux的Tux图标:

ms-appx:///ProfileIcons/{9acb9455-ca41-5af7-950f-6bca1bc9722f}.png
Run Code Online (Sandbox Code Playgroud)


Scr*_*ack 5

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

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


Nat*_*hat 5

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

Windows 终端调整器

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


gau*_*uge 5

  1. 打开设置

打开设置

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

更改默认配置文件

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


Jor*_*dan 5

在Windows终端设置中创建一个新的配置文件并选择以下命令行

C:\Windows\system32\wsl.exe -d Ubuntu-20.04
Run Code Online (Sandbox Code Playgroud)

其中 -d 选择要运行的发行版。