如何使Windows 10 Terminal启动WSL?

时间:2019-06-26 04:11:42

标签: 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
        }

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

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

编辑:

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

7 个答案:

答案 0 :(得分:3)

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

Windows Terminal Tweaker?⚡

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:2)

您需要先执行以下操作。

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 

1557633836814

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

首先在cmd中输入ubuntu,花一些时间启动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"
        }

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

可以从here获得的完整设置文件(profile.json)。

实际上,这里的WSL是Ubuntu。


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

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

 %LOCALAPPDATA%\packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\RoamingState 

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

图标在此处可用: Icons

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

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

Dir

最终结果是:

Icons

答案 3 :(得分:1)

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

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

答案 4 :(得分:0)

原来,我要做的就是将命令行更改为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
        }

答案 5 :(得分:0)

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

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

答案 6 :(得分:0)

GUID的错误使问题的前提成为现实,因为OP指出示例代码实际上是正确的。因此,该问题可以重新解释为-

对默认settings.json的最低要求是什么,以使其指向您选择的应用程序?(这就是我在这里遇到的问题)

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

  2. commandline-杨小龙的答案是指向sample settings.json file的链接:"commandline": "wsl ~"

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

wsl --setdefault <DistributionName>

但是,看来commandline:wslstartingDirectory不兼容。 我已经成功地省略了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"

这是一个很好的链接,它使我第一次安装Windows Terminal并自定义设置Easily add Anaconda Prompt to Windows Terminal to make life better