Как получить Windows 10 Terminal для запуска 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, поэтому я изменил это. Затем он запустил внешнюю оболочку.
11 ответов
Вы должны сделать следующие вещи в первую очередь.
1. Установите Linux (например, Ubuntu)
Ищите "Ubuntu" в магазине Microsoft, затем покупайте и устанавливайте. На самом деле это WSL (подсистема Windows для Linux).
Конечно, вы хотите испытать другие версии Linux, а также Debian:
2. Включите разрешения WSL
После установки WSL-версии Linux вам также необходимо включить разрешения WSL:
Откройте другое окно PowerShell с помощью "Запуск от имени администратора".
Затем введите следующую команду:
bashEnable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
После завершения команды вы можете выполнить команду Linux во встроенном терминале.
Сначала введите ubuntu
в cmd нужно немного времени, чтобы запустить Ubuntu, установить имя пользователя и пароль.
Тогда вы можете играть с Ubuntu счастливо. Ниже я ввел несколько общих команд, таких как ps
, touch
, ls
и т. д., как показано ниже.
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
файл ниже с предыдущими настройками. профиль-withIcons.json
После окончания содержимое папки выглядит так:
Окончательный результат:
Чтобы запустить любой дистрибутив, вы также можете использовать это для командной строки:
wsl.exe -d <name_of_the_distribution>
Подобно:
wsl.exe -d Ubuntu-18.04
Вы можете перечислить все распределения с:
wsl.exe -l
,
PS: значок Tux для Linux:
ms-appx:///ProfileIcons/{9acb9455-ca41-5af7-950f-6bca1bc9722f}.png
Оказывается, все, что мне нужно было сделать, это изменить командную строку на 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
}
Последние версии Windows Terminal включают поддержку динамических профилей , в которых новые дистрибутивы WSL будут автоматически добавляться в список доступных профилей.
Однако, если терминал Windows запущен при установке нового дистрибутива, в настоящее время он не будет добавлен во время работы. Вы должны выйти и перезапустить Windows Terminal, и новый профиль появится автоматически.
После добавления вы можете отредактировать/переместить его с помощью диалогового окна «Настройки» или путем обычного редактирования. Каждый дистрибутив WSL идентифицируется с помощью GUID, который заполняется автоматически.
Как описано в связанной статье, динамические профили можно отключить, отключив их источник(и), как показано ниже.settings.json
:
"disabledProfileSources": ["Windows.Terminal.Wsl", "Windows.Terminal.Azure", "Windows.Terminal.PowershellCore"]
Хотя мой ответ не подлежит сомнению (поскольку на него ответил OP), я нашел этот вопрос при поиске профиля Windows Terminal (WT) для моей недавней установки Ubuntu, поскольку я недавно повторно визуализировал свой ноутбук.
Обновлено 19.10.03: порядок установки значения не имеет. Мой профиль для "ubuntu "появляется после установки ubuntu, а затем запуска экземпляра ubuntu в PowerShell и установки моей учетной записи и пароля. ТОГДА Windows Terminal добавляет соответствующий профиль оболочки для WSL.
Создайте новый профиль в настройках терминала Windows и выберите следующую командную строку
C:\Windows\system32\wsl.exe -d Ubuntu-20.04
где -d выбирает дистрибутив для запуска.
- Открыть настройки
- Измените «Профиль по умолчанию» в раскрывающемся списке.
- Нажмите «Сохранить» в правом нижнем углу.
Я разработал инструмент для настройки конфигурации терминала здесь:
Настройка терминала Windows ⚡Он позволяет добавлять различные профили, дает палитру цветов для выбора цветовых схем и предоставляет возможности для настройки каждого элемента при применении настроек в реальном времени.
Терминал Windows позволяет вам открывать настройки и изменять их там. Если у вас уже установлен ubuntu, вы можете установить профиль ubuntu в качестве конфигурации по умолчанию.
Скопируйте и вставьте guid для ubuntu в defaultProfile, и он автоматически запустит WSL ubuntu вместо powershell по умолчанию.
Предпосылка вопроса была нарушена ошибкой с
GUID
, поскольку OP говорит, что образец кода был действительно правильным. Таким образом, вопрос можно интерпретировать как -
Какое минимальное изменение требуется в settings.json по умолчанию, чтобы указать на выбранное вами приложение?(что привело меня сюда)
guid
- должно быть уникальным. Мне удалось изменить только последнее число для каждой настройки.commandline
- В ответе Bravo Yeung есть ссылка на образец файла settings.json:"commandline": "wsl ~"
Это небольшое битовое значение стало возможным благодаря установке дистрибутива по умолчанию: "Распространение WSL по умолчанию - это тот, который запускается, когда вы запускаете wsl из командной строки:"
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"
Вот хорошая ссылка, с которой я начал в первый раз, когда я установил Windows Terminal и настроил параметры. Легко добавить Anaconda Prompt в Windows Terminal, чтобы сделать жизнь лучше.
Просто запустите терминал Windows, powershell, затем введите «debian» или любой другой установленный дистрибутив. Это автоматически добавит его в терминал Windows, тукс и все такое, а также откроет новую вкладку с помощью wsl.