Терминал Windows: начало работы с новой утилитой Microsoft

Опубликовано: 14 Марта, 2023
Терминал Windows: начало работы с новой утилитой Microsoft

Терминал Windows: что это за штука?

Одна из причин, по которой Windows так популярна, заключается, ну, в общем, в самой Windows. Все графически и кликабельно. Но для многих ИТ-специалистов, особенно тех, кто интересуется или ценит автоматизацию, доступ к командной строке может быть ценным. ИТ-специалисты по Windows начинают улавливать то, что давно известно профессионалам в области Linux — серьезное управление осуществляется из подсказки.

К счастью, командная строка CMD, или то, что некоторые называют командной строкой DOS, несколько лет назад было обновлено в Windows 10. И, конечно же, у нас есть PowerShell. Но это может означать Windows PowerShell и более новую версию PowerShell 7.x. Возможно, вы даже используете WSL.

Для тех из вас, кто меня знает, неудивительно, что я являюсь суперпользователем PowerShell. Я провожу свой день, работая из командной строки PowerShell. Моя работа требует, чтобы я использовал как Windows PowerShell, так и PowerShell 7. И мне тоже иногда нужно заходить в экземпляр Ubuntu. Это много подсказок. Но у меня есть решение.

Microsoft признала недостатки своих текущих предложений оболочки. Итак, они заняты работой над оболочкой следующего поколения, и вы можете запустить ее сегодня. Он называется Windows Terminal, и, как вы увидите, он прост в использовании и значительно упрощает работу из командной строки. Терминал Windows поддерживает несколько вкладок, автоматическое определение оболочки, разделение панелей, поддержку Unicode и многое другое.

Терминал Windows предназначен для использования с рабочего стола Windows 10. Я не пробовал устанавливать его на сервер, но не вижу смысла. Вы должны удаленно управлять своей средой с рабочего стола Windows 10.

Установка терминала Windows

Самый простой способ установить Windows Terminal — через Microsoft Store. Вам потребуется как минимум Windows 10 версии 18362 или более поздней. Windows Terminal — это проект с открытым исходным кодом на GitHub. Другой вариант установки — загрузить пакет appx текущего выпуска с GitHub. Откройте окно PowerShell с повышенными привилегиями и измените расположение на то, куда вы загрузили пакет. Затем запустите Add-AppxPackage.

PS C:UsersjeffDownloads> Add-AppxPackage.Microsoft.WindowsTerminal_1.3.2651.0_8wekyb3d8bbwe.msixbundle

Если вы используете этот метод установки, вы, скорее всего, пропустите автоматические обновления, которые вы получаете при установке из Магазина Microsoft. Кстати, есть и другие способы установки приложения. Я рекомендую вам уделить несколько минут файлу README в репозитории GitHub.

Вы можете проверить конфигурацию, запустив wt.exe из командной строки. Или найдите программу в меню «Пуск». Вы должны увидеть что-то вроде этого.

Работа с оболочками

Поскольку я запускал wt.exe из командной строки PowerShell с повышенными привилегиями, процесс терминала Windows также выполнялся с повышенными правами. После установки Windows Terminal я закрепляю приложение на панели задач. Таким образом, я могу щелкнуть правой кнопкой мыши ярлык и запустить приложение от имени администратора.

PowerShell запущен, потому что это была первая обнаруженная оболочка. Нажмите на стрелку вниз вверху, чтобы увидеть другие параметры оболочки.

Я запускаю это в настройках песочницы Windows, в которой больше ничего не установлено. Вы можете увидеть разные варианты. Если я хочу открыть командную строку, я могу щелкнуть пункт меню или использовать сочетание клавиш.

А вот классный трюк. Я собираюсь снова выбрать Windows PowerShell из раскрывающегося списка, но удерживая клавишу Alt при нажатии.

Терминал Windows открыл новую оболочку в разделенной панели.

Вкладки могут быть изменены из оболочки. Например, в PowerShell вы можете запустить команду вида:

$host.ui.RawUI.WindowTitle = "Testing"

Или вы можете дважды щелкнуть вкладку и ввести новый заголовок. Если вы щелкните правой кнопкой мыши вкладку, вы можете переименовать и изменить цвет вкладки.

Конфигурация

Терминал Windows хранит информацию о конфигурации в файле JSON. Прямо сейчас единственный способ изменить вашу конфигурацию — отредактировать этот файл. Вы можете нажать «Настройки» в раскрывающемся меню или использовать сочетание клавиш Ctrl +.

Windows попытается использовать приложение, связанное с файлами JSON. Если у вас установлен VS Code или другой редактор, файл должен открыться. В противном случае вам придется использовать простой инструмент, такой как Блокнот.

Я рекомендую использовать VS Code, потому что он автоматически заполнит многие возможные настройки JSON. При прокрутке вниз вы увидите список текущих пунктов меню. Я вернусь через несколько минут и покажу вам, как настроить.

Будьте осторожны, когда находитесь в этом файле, потому что любые изменения, которые вы делаете, автоматически и немедленно применяются. Я собираюсь закрыть файл настроек и Windows Terminal и установить PowerShell 7, включая последнюю предварительную версию. Введите «exit», чтобы закрыть большинство оболочек.

Добавление конфигурации

Помимо добавления PowerShell 7, я также установил бесплатное приложение Visual Studio Code и зарегистрировал его с соответствующими типами файлов. Теперь у меня есть дополнительные параметры оболочки.

Используя трюк с разделенной панелью, у меня теперь есть новые сеансы.

Но вы можете создать свою собственную сессию. Я снова открою файл настроек, на этот раз с помощью Visual Studio Code.

Мне нравится тестировать мои модули и код в сеансе PowerShell, в котором не используется сценарий профиля. Я хочу создать такой сеанс с помощью PowerShell 7. В разделе списка файла JSON я вставлю новую конфигурацию.

"list": [ { // Внесите изменения в профиль powershell.exe. "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}", "name": "Windows PowerShell", "commandline": "powershell.exe", "hidden": false }, { // PowerShell 7 нет profile }, { // Внесите изменения в профиль cmd.exe. "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}", "name": "Командная строка", "commandline": "cmd.exe", "hidden": false },

Как минимум, мне нужно будет определить guid, имя и командную строку. Настройки JSON чувствительны к регистру, поэтому будьте осторожны. Используйте команду New-Guid в PowerShell, чтобы создать его. Если вы используете VS Code, вы увидите, что он помогает вам в настройке. Вот моя первоначальная конфигурация.

{ // PowerShell 7 без профиля "guid":"{ce2e0471-d728-430b-b668-a644451bd811}", "name": "PS7 без профиля", "commandline": "pwsh -noprofile -nlogo", "startingDirectory": "С:\" },

Я добавил новую запись для запуска сеанса в C:. В файлах JSON вам нужно избегать обратной косой черты. Как только я сохраняю файл settings.json, у меня появляется новая запись.

Иконки нет. Но я могу это исправить, немного поработав. В какой-то момент я ожидаю, что приложение будет иметь лучший интерфейс для настройки конфигураций. Но пока он работает с файлами JSON. Для значка вы можете использовать путь к файлу, например C:\icons\ps.ico, или использовать прозвище ms-appx:///ProfileIcons.

«значок»: «ms-appx:///ProfileIcons/pwsh.scale-150.png»

Где я взял последнюю часть пути? Вы можете найти его здесь, на GitHub.

Подробнее о Windows Terminal, так что следите за обновлениями

Я продолжу в следующей статье, показав вам, как настроить конфигурацию и описать некоторые ограничения Windows Terminal и как управлять им с помощью PowerShell.