Время на прочтение
4 мин
Количество просмотров 158K
Windows Terminal — это новое, современное, быстрое, эффективное, мощное и производительное терминальное приложение для пользователей инструментов и оболочек командной строки, таких как Command Prompt, PowerShell и WSL.
Windows Terminal будет поставляться через Microsoft Store в Windows 10 и будет регулярно обновляться, гарантируя, что вы всегда будете идти в ногу со временем и сможете пользоваться новейшими функциями и последними улучшениями с минимальными усилиями.
Ключевые функции Windows Terminal
Несколько вкладок
Вы просили, и мы услышали! Наиболее часто запрашиваемая функция для терминала — это поддержка нескольких вкладок, и мы очень рады, что наконец-то смогли предоставить эту функцию. Теперь вы можете открывать любое количество вкладок, каждая из которых подключена к оболочке командной строки или приложению по вашему выбору, например, Command Prompt, PowerShell, Ubuntu на WSL, Raspberry Pi через SSH и т. д.
Красивый текст
В Windows Terminal используется GPU-ускорение DirectWrite/DirectX на основе движка рендеринга текста. Этот новый движок рендеринга текста будет отображать текстовые символы, глифы и символы, присутствующие в шрифтах на вашем ПК, включая идеограммы CJK, эмодзи, символы powerline, значки, лигатуры программирования и т. д. Этот движок даже рендерит текст намного быстрее, чем предыдущий движок GDI консоли!
У вас также будет возможность использовать наш новый шрифт! Мы хотели создать веселый, новый, моноширинный шрифт, чтобы улучшить современный внешний вид терминала. Этот шрифт не только будет включать лигатуры программирования, но и будет иметь собственный Open-Source репозиторий. Оставайтесь с нами для получения дополнительной информации о новом проекте шрифта!
Настройки и конфигурируемость
Мы связались со многими пользователями командной строки, которые любят кастомизировать свои терминалы и приложения командной строки. Windows Terminal предоставляет множество настроек и параметров конфигурации, которые дают большой контроль над внешним видом терминала и каждой из оболочек/профилей, которые можно открывать как новые вкладки. Настройки хранятся в структурированном текстовом файле, что упрощает конфигурирование для пользователей и/или инструментов.
Используя механизм конфигурирования терминала, вы сможете создать несколько “профилей” для каждой оболочки/приложения/инструмента, которые вы хотите использовать, будь то PowerShell, Command Prompt, Ubuntu или даже SSH-соединения с Azure или устройствами IoT. Эти профили могут иметь свою собственную комбинацию стилей и размеров шрифта, цветовых тем, уровней размытия/прозрачности фона и т. д. Теперь вы можете создать свой собственный терминал в своем стиле, который персонализирован на ваш уникальный вкус!
Больше!
После выпуска Windows Terminal 1.0, мы планируем начать работу со многими фичами, которые уже есть в нашем бэклоге, в дополнение ко многим фичам, которые вы, как сообщество, вероятно, добавите!
Когда я смогу его получить?
На сегодняшний день Windows Terminal и Windows Console доступны в Open-Source, так что вы уже можете клонировать, собирать, запускать и тестировать код из репозитория на GitHub:
github.com/Microsoft/Terminal
Также, этим летом в Microsoft Store будет выпущена превью-версия Windows Terminal для первопроходцев и предоставления фидбэка.
А уже зимой мы планируем окончательно выпустить Windows Terminal 1.0, и мы будем работать с сообществом, чтобы убедиться, что он полностью готов, прежде чем мы выпустим!
[Happy Joy Gif – Giphy]
Подождите… вы сказали в Open-Source?
Да, это так! Мы рады объявить, что мы открываем не только Windows Terminal, но и Windows Console, которая содержит инфраструктуру командной строки в Windows и предоставляет традиционный Console UX.
Нам уже не терпится поработать с вами над улучшением и расширением возможностей командной строки Windows!
Это звучит потрясающе, но почему бы вам просто не улучшить существующую Windows Console?
Основной целью Windows Console является сохранение обратной совместимости с существующими инструментами командной строки, скриптами и т. д. Хотя нам и удалось добавить множество ключевых улучшений в функционал консоли (например, добавить поддержку VT и 24-битного цвета и т. д. см. этот пост в блоге), мы не можем внести дальнейшие существенные улучшения в UI консоли без “нарушения мира”.
Поэтому пришло время для нового, свежего подхода.
Windows Terminal устанавливается и работает вместе с существующим приложением Windows Console. Если вы непосредственно запускаете Cmd/PowerShell/пр., они начнут подключаться к традиционному экземпляру консоли точно так же, как обычно. Таким образом, обратная совместимость остается неизменной, и в то же время вы можете использовать Windows Terminal, если/когда вы захотите это сделать. Windows Console будет продолжать поставляться в Windows в течение десятилетий для поддержки существующих/устаревших приложений и систем.
Хорошо, а что насчет участия в существующем проекте терминала или приложения в Open-Source?
Мы тщательно изучили этот вариант во время планирования и решили, что наше участие в существующем проекте потребует изменения требований и архитектуры проекта таким образом, что это будет слишком деструктивным.
Вместо этого, создав новое Open-Source терминальное приложение и Open-Source Windows Console, мы можем предложить сообществу сотрудничать с нами в улучшении кода и использовании его в своих соответствующих проектах.
Мы считаем, что на рынке достаточно места для новых/разных идей о том, что терминал может и должен делать, и мы стремимся помочь экосистеме терминальных (и связанных с ней) приложений процветать и развиваться за счет внедрения новых идей, интересных подходов и захватывающих инноваций в этом пространстве.
Убедили! Как принять участие?
Посетите репозиторий по адресу github.com/Microsoft/Terminal, чтобы клонировать, собрать, протестировать и запустить терминал! Кроме того, мы будем признательны, если вы будете сообщать об ошибках и делиться фидбэком с нами и сообществом, а также исправлять проблемы и вносить улучшения в GitHub.
Этим летом попробуйте установить и запустить Windows Terminal из Microsoft Store. Если вы столкнетесь с какими-либо ошибками, поделитесь отзывом через Feedback Hub или раздел Issues на GitHub, который предназначен для вопросов и обсуждений.
Мы рады работать с вами! Если у вас есть какие-либо вопросы или пожелания, не стесняйтесь обращаться к Kayla @cinnamon_msft и/или Rich @richturn_ms в Twitter. Нам не терпится увидеть, какие замечательные улучшения и фичи вы привнесете в Windows Terminal и Windows Console.
Впервые новая оболочка для команд Windows 11 и Windows 10 была представлена в мае 2020, а уже осенью была выпущена первая стабильная версия. С тех пор Windows Terminal продолжает обновляться, но уже сейчас более чем пригоден к работе как с командной строкой или PowerShell, так и другими оболочками, например, Ubuntu, установленной в рамках WSL (Подсистема Windows для Linux).
В этом обзоре — базовые сведения о том, где скачать и как настроить Windows Terminal, о некоторых его возможностях и дополнительная информация, которая может оказаться полезной.
Где скачать Windows Terminal
Прежде чем приступить, два важных примечания: в Windows 11 Терминал Windows уже встроен (нажмите правой кнопкой мыши по кнопке Пуск и вы сможете его запустить), а для работы нового терминала в Windows 10 требуется версия 1903 или новее.
Бесплатно скачать Windows Terminal можно из двух официальных источников:
- Microsoft Store — достаточно ввести Windows Terminal в поиске магазина или перейти на страницу приложения https://www.microsoft.com/ru-ru/p/windows-terminal/9n0dx20hk701
- Загрузить последний релиз из GitHub, скачиваем файл .msixbundle из раздела Assets и устанавливаем его как обычное приложение — https://github.com/microsoft/terminal/releases/
После установки Windows Terminal готов к работе — можно запускать. При первом старте по умолчанию будет открыта вкладка с PowerShell.
Использование Windows Terminal, возможности управления
Скорее всего, с открытием новых вкладок с командной строкой, PowerShell и другими оболочками проблем не возникнет, достаточно нажать «+» если требуется открыть новую вкладку с консолью по умолчанию, либо по стрелке и выбрать нужную оболочку, там же можно увидеть и сочетания клавиш для быстрого открытия соответствующих новых вкладок.
Не будем торопиться с переходом к настройкам Windows Terminal, для начала некоторые вещи, которые вы можете сделать, не переходя к ним:
- Сочетания клавиш Ctrl + «+» и аналогичное сочетание с клавишей «минус» позволяет изменить размер текста в текущей вкладке.
- Нажмите клавиши Alt+Shift+D, чтобы разделить текущую вкладку на две панели. Действие можно повторять: выделенная панель будет разделяться при нажатии этих клавиш. Если вместо D использовать клавишу «минус» или «плюс», разделение будет происходить горизонтально и вертикально соответственно.
- Для панелей доступны и другие клавиши: Ctrl+Shift+W — закрыть текущую, Alt+Shift+стрелки — изменение размеров, Alt+стрелки — переключение между панелями.
- Если в Windows включены эффекты прозрачности, удержание клавиш Ctrl+Shift и вращение колеса мыши вниз позволяет сделать активное окно Windows Terminal более прозрачным.
- Windows Terminal добавляет пункт в контекстное меню Windows, позволяющий быстро запустить оболочку по умолчанию в текущей вкладке.
- «Стандартные» сочетания клавиш, такие как копирование и вставка, отмена (Ctrl+Z) и другие здесь также исправно работают.
- Если вам нужно запустить Windows Terminal от имени администратора, можно использовать правый клик по нему в меню «Пуск» и выбор нужного пункта в разделе «Дополнительно» или, поиск в панели задач, как на изображении ниже.
Настройки
Зайти в настройки Windows Terminal можно, нажав по кнопке со стрелкой или же с помощью сочетания клавиш Ctrl + «запятая». Параметры меняются от версии к версии и на момент написания этого обзора выглядят следующим образом:
Большинство вкладок вполне понятны и на русском языке:
- На вкладке «Запуск» можно выбрать оболочку по умолчанию, например, выбрать «Командная строка» вместо «Windows PowerShell», включить автозапуск, изменить режим запуска.
- Вкладки «Оформление» и «Цветовые схемы» позволяют изменить общие параметры оформления приложения, а также отредактировать цветовые схемы (их мы можем указать отдельно для каждой консоли в разделе «Профили»), при необходимости — создать собственную цветовую схему.
- В разделе «Действия» — базовые сочетания клавиш для работы в Windows Terminal. Эти сочетания подлежат редактированию в файле конфигурации.
- Если перейти в подраздел «Профили», мы можем настроить отдельные параметры оформления, запуска, значка, папки запуска, прозрачности и другие для каждой «командной строки». В оформлении можно не только выбрать цветовую схему и настроить прозрачность (акриловый эффект), но и задать обои для соответствующих вкладок.
- Настройки в достаточной мере гибкие и скриншот ниже — далеко не всё, чего можно добиться.
- При нажатии кнопки «Добавить», вы можете добавить собственную консоль в Windows Terminal (или использовать системную — тот же PowerShell или Командную строку, но с другим профилем настроек).
- Кнопка «Открытие файла JSON» позволяет открыть файл конфигурации для редактирования.
Если после проделанных экспериментов с настройками вам потребуется сбросить все параметры Windows Terminal на настройки по умолчанию, достаточно проделать следующие шаги:
- Запустите Windows Terminal и перейдите в его параметры.
- Нажмите «Открытие файла JSON» и откройте его в текстовом редакторе.
- Удалите всё содержимое файла и сохраните файл.
- Закройте и снова запустите Windows Terminal — он будет запущен с настройками по умолчанию.
Upgrade the command line with this free tool
Windows Terminal is a terminal application from Microsoft. It only works with Windows 11 and Windows 10.
You might already know about Command Prompt and PowerShell, two command-line utilities that come with most versions of Windows. Terminal is different for multiple reasons, but primarily because it’s a single program that provides users with quick access to those tools and more.
Windows Terminal Features
Terminal looks pretty basic at first glance, but there are a handful of features that set it apart from other Windows command-line tools:
- Full screen mode
- Tabbed interface to open multiple instances of the tools
- Shortcut keys to quickly open new tabs
- Zoom with the mouse
- Unicode and UTF-8 character support permits the use of emoji and non-English characters
- GPU-accelerated text rendering engine
- Custom themes and styles can be created
- Stylus support
- Export text results without needing to use the redirection operator
- Windows Subsystem for Linux (WSL), SSH, PowerShell, Command Prompt, and Azure Cloud Shell support
How to Use Windows Terminal
If you’re on Windows 11, there are several ways to open it:
- Search for Terminal from the Start menu
- Trigger it from the Power User Menu (WIN+X)
- Use the Run dialog box with the wt or cmd command (it fully replaces Command Prompt in W11)
- Right-click a folder, or an empty space within a folder, and choose Open in Terminal.
Windows 10 users need to follow these steps to download it:
-
Download and install Terminal from the Microsoft Store.
-
Use the search bar at the bottom of Windows to find and select Terminal.
-
PowerShell will open. You can enter commands just like you would if you’d had opened Windows PowerShell directly.
-
To open another PowerShell tab, use the plus sign at the top of Windows Terminal. Or, to launch a different tool, select the down arrow and select Command Prompt or Azure Cloud Shell.
Editing Windows Terminal Settings
Changing the settings for Terminal is easy: Use the down arrow at the top of the program, and then select Settings.
There are a number of options you can customize there, like to switch to a different color scheme, edit how text looks, force Terminal to always stay on top of other windows, edit shortcuts, change the default starting directory, pick a different program icon, run as administrator automatically, and a lot more.
To edit additional settings, select Open JSON file from the bottom of that screen. The file settings.json will open in your default text editor (likely Notepad, but you can use a different text editor if you want).
Microsoft has directions for using the Settings JSON file. There are also example edits at Microsoft Developer Blogs.
Tips for Using Windows Terminal
The default shell is PowerShell, so every time you open Terminal, PowerShell will be the utility you see first (you can change this in the settings). This also means that the plus sign next to the tabs at the top of Terminal will always open PowerShell, regardless of the tool you’re currently using.
There are shortcut keys you can use to quickly open an item from the menu. These are the default key bindings for running these actions:
- Ctrl+Shift+1 opens Windows PowerShell
- Ctrl+Shift+2 opens Command Prompt
- Ctrl+Shift+3 opens Azure Cloud Shell
- Ctrl+Shift+F opens the find box
- Ctrl+, opens Settings
Use the Command Palette menu option (Ctrl+Shift+P) to see other shortcuts.
Terminal requires Windows 10 version 18362.0 or higher. If you can’t install it, update Windows to the latest version.
Thanks for letting us know!
Get the Latest Tech News Delivered Every Day
Subscribe
Welcome to the Windows Terminal, Console and Command-Line repo
This repository contains the source code for:
- Windows Terminal
- Windows Terminal Preview
- The Windows console host (
conhost.exe
) - Components shared between the two projects
- ColorTool
- Sample projects
that show how to consume the Windows Console APIs
Related repositories include:
- Windows Terminal Documentation
(Repo: Contribute to the docs) - Console API Documentation
- Cascadia Code Font
Installing and running Windows Terminal
Note
Windows Terminal requires Windows 10 2004 (build 19041) or later
Microsoft Store [Recommended]
Install the Windows Terminal from the Microsoft Store.
This allows you to always be on the latest version when we release new builds
with automatic upgrades.
This is our preferred method.
Other install methods
Via GitHub
For users who are unable to install Windows Terminal from the Microsoft Store,
released builds can be manually downloaded from this repository’s Releases
page.
Download the Microsoft.WindowsTerminal_<versionNumber>.msixbundle
file from
the Assets section. To install the app, you can simply double-click on the
.msixbundle
file, and the app installer should automatically run. If that
fails for any reason, you can try the following command at a PowerShell prompt:
# NOTE: If you are using PowerShell 7+, please run # Import-Module Appx -UseWindowsPowerShell # before using Add-AppxPackage. Add-AppxPackage Microsoft.WindowsTerminal_<versionNumber>.msixbundle
Note
If you install Terminal manually:
- You may need to install the VC++ v14 Desktop Framework Package.
This should only be necessary on older builds of Windows 10 and only if you get an error about missing framework packages. - Terminal will not auto-update when new builds are released so you will need
to regularly install the latest Terminal release to receive all the latest
fixes and improvements!
Via Windows Package Manager CLI (aka winget)
winget users can download and install
the latest Terminal release by installing the Microsoft.WindowsTerminal
package:
winget install --id Microsoft.WindowsTerminal -e
Note
Due to a dependency issue, Terminal’s current versions cannot be installed via the Windows Package Manager CLI. To install the stable release 1.17 or later, or the Preview release 1.18 or later, please use an alternative installation method.
Via Chocolatey (unofficial)
Chocolatey users can download and install the latest
Terminal release by installing the microsoft-windows-terminal
package:
choco install microsoft-windows-terminal
To upgrade Windows Terminal using Chocolatey, run the following:
choco upgrade microsoft-windows-terminal
If you have any issues when installing/upgrading the package please go to the
Windows Terminal package
page and follow the
Chocolatey triage process
Via Scoop (unofficial)
Scoop users can download and install the latest Terminal
release by installing the windows-terminal
package:
scoop bucket add extras
scoop install windows-terminal
To update Windows Terminal using Scoop, run the following:
scoop update windows-terminal
If you have any issues when installing/updating the package, please search for
or report the same on the issues
page of Scoop Extras bucket
repository.
Windows Terminal Roadmap
The plan for the Windows Terminal is described here and
will be updated as the project proceeds.
Project Build Status
Project | Build Status |
---|---|
Terminal | |
ColorTool |
Terminal & Console Overview
Please take a few minutes to review the overview below before diving into the
code:
Windows Terminal
Windows Terminal is a new, modern, feature-rich, productive terminal application
for command-line users. It includes many of the features most frequently
requested by the Windows command-line community including support for tabs, rich
text, globalization, configurability, theming & styling, and more.
The Terminal will also need to meet our goals and measures to ensure it remains
fast and efficient, and doesn’t consume vast amounts of memory or power.
The Windows Console Host
The Windows Console host, conhost.exe
, is Windows’ original command-line user
experience. It also hosts Windows’ command-line infrastructure and the Windows
Console API server, input engine, rendering engine, user preferences, etc. The
console host code in this repository is the actual source from which the
conhost.exe
in Windows itself is built.
Since taking ownership of the Windows command-line in 2014, the team added
several new features to the Console, including background transparency,
line-based selection, support for ANSI / Virtual Terminal
sequences, 24-bit
color,
a Pseudoconsole
(«ConPTY»),
and more.
However, because Windows Console’s primary goal is to maintain backward
compatibility, we have been unable to add many of the features the community
(and the team) have been wanting for the last several years including tabs,
unicode text, and emoji.
These limitations led us to create the new Windows Terminal.
You can read more about the evolution of the command-line in general, and the
Windows command-line specifically in this accompanying series of blog
posts
on the Command-Line team’s blog.
Shared Components
While overhauling Windows Console, we modernized its codebase considerably,
cleanly separating logical entities into modules and classes, introduced some
key extensibility points, replaced several old, home-grown collections and
containers with safer, more efficient STL
containers,
and made the code simpler and safer by using Microsoft’s Windows Implementation
Libraries — WIL.
This overhaul resulted in several of Console’s key components being available
for re-use in any terminal implementation on Windows. These components include a
new DirectWrite-based text layout and rendering engine, a text buffer capable of
storing both UTF-16 and UTF-8, a VT parser/emitter, and more.
Creating the new Windows Terminal
When we started planning the new Windows Terminal application, we explored and
evaluated several approaches and technology stacks. We ultimately decided that
our goals would be best met by continuing our investment in our C++ codebase,
which would allow us to reuse several of the aforementioned modernized
components in both the existing Console and the new Terminal. Further, we
realized that this would allow us to build much of the Terminal’s core itself as
a reusable UI control that others can incorporate into their own applications.
The result of this work is contained within this repo and delivered as the
Windows Terminal application you can download from the Microsoft Store, or
directly from this repo’s
releases.
Resources
For more information about Windows Terminal, you may find some of these
resources useful and interesting:
- Command-Line Blog
- Command-Line Backgrounder Blog
Series - Windows Terminal Launch: Terminal «Sizzle
Video» - Windows Terminal Launch: Build 2019
Session - Run As Radio: Show 645 — Windows Terminal with Richard
Turner - Azure Devops Podcast: Episode 54 — Kayla Cinnamon and Rich Turner on DevOps
on the Windows
Terminal - Microsoft Ignite 2019 Session: The Modern Windows Command Line: Windows
Terminal —
BRK3321
FAQ
I built and ran the new Terminal, but it looks just like the old console
Cause: You’re launching the incorrect solution in Visual Studio.
Solution: Make sure you’re building & deploying the CascadiaPackage
project in
Visual Studio.
Note
OpenConsole.exe
is just a locally-built conhost.exe
, the classic
Windows Console that hosts Windows’ command-line infrastructure. OpenConsole
is used by Windows Terminal to connect to and communicate with command-line
applications (via
ConPty).
Documentation
All project documentation is located at aka.ms/terminal-docs. If you would like
to contribute to the documentation, please submit a pull request on the Windows
Terminal Documentation repo.
Contributing
We are excited to work alongside you, our amazing community, to build and
enhance Windows Terminal!
BEFORE you start work on a feature/fix, please read & follow our
Contributor’s
Guide to
help avoid any wasted or duplicate effort.
Communicating with the Team
The easiest way to communicate with the team is via GitHub issues.
Please file new issues, feature requests and suggestions, but DO search for
similar open/closed preexisting issues before creating a new issue.
If you would like to ask a question that you feel doesn’t warrant an issue
(yet), please reach out to us via Twitter:
- Christopher Nguyen, Product Manager:
@nguyen_dows - Dustin Howett, Engineering Lead: @dhowett
- Mike Griese, Senior Developer: @zadjii@mastodon.social
- Carlos Zamora, Developer: @cazamor_msft
- Pankaj Bhojwani, Developer
- Leonard Hecker, Developer: @LeonardHecker
Developer Guidance
Prerequisites
- You must be running Windows 10 2004 (build >= 10.0.19041.0) or later to run
Windows Terminal - You must enable Developer Mode in the Windows Settings
app
to locally install and run Windows Terminal - You must have PowerShell 7 or later installed
- You must have the Windows 11 (10.0.22621.0)
SDK
installed - You must have at least VS
2022 installed - You must install the following Workloads via the VS Installer. Note: Opening
the solution in VS 2022 will prompt you to install missing components
automatically:- Desktop Development with C++
- Universal Windows Platform Development
- The following Individual Components
- C++ (v143) Universal Windows Platform Tools
- You must install the .NET Framework Targeting Pack to build test projects
Building the Code
This repository uses git
submodules for some of its
dependencies. To make sure submodules are restored or updated, be sure to run
the following prior to building:
git submodule update --init --recursive
OpenConsole.sln may be built from within Visual Studio or from the command-line
using a set of convenience scripts & tools in the /tools directory:
Building in PowerShell
Import-Module .\tools\OpenConsole.psm1 Set-MsBuildDevEnvironment Invoke-OpenConsoleBuild
Building in Cmd
Running & Debugging
To debug the Windows Terminal in VS, right click on CascadiaPackage
(in the
Solution Explorer) and go to properties. In the Debug menu, change «Application
process» and «Background task process» to «Native Only».
You should then be able to build & debug the Terminal project by hitting
F5. Make sure to select either the «x64» or the «x86» platform — the
Terminal doesn’t build for «Any Cpu» (because the Terminal is a C++ application,
not a C# one).
👉 You will not be able to launch the Terminal directly by running the
WindowsTerminal.exe. For more details on why, see
#926,
#4043
Coding Guidance
Please review these brief docs below about our coding practices.
👉 If you find something missing from these docs, feel free to contribute to
any of our documentation files anywhere in the repository (or write some new
ones!)
This is a work in progress as we learn what we’ll need to provide people in
order to be effective contributors to our project.
- Coding Style
- Code Organization
- Exceptions in our legacy codebase
- Helpful smart pointers and macros for interfacing with Windows in WIL
Code of Conduct
This project has adopted the Microsoft Open Source Code of
Conduct. For more information see the Code of Conduct
FAQ or contact opencode@microsoft.com with any
additional questions or comments.
Опубликовано 29.12.2020 11:37
Разработчик должен знать возможности командной строки операционной системы и уметь ими пользоваться. При этом важно выбрать правильный инструмент, помогающий работать в командной строке эффективно и удобно. В данной статье мы рассмотрим основные возможности Windows Terminal – это новый, удобный и красивый терминал для командной строки Windows и подсистемы WSL (Windows Subsystem for Linux), предлагаемый компанией Microsoft.
Но перед тем, как перейти к установке и запуску нового терминала, давайте разберёмся с терминами.
Что такое терминал, консоль и командная оболочка
Само слово терминал происходит от глагола terminate (завершить, положить конец) и означает «оконечное устройство», то есть устройство, находящееся на одном конце в процессе коммуникации с другим устройством (сервером). Задача терминала – отправлять вводимый с клавиатуры текст на сервер и отображать на дисплее текстовые ответы от сервера.
Первые терминалы подключались по телефонным линиям к большим компьютерам. Они представляли собой электрические печатные машинки – телетайпы (teletypewriters, TTY). Вводимые команды и ответы сервера телетайпы построчно печатали на рулоне бумаги.
Древний терминал-телетайп
Сейчас в операционных системах терминалами называют программные эмуляторы TTY. Это приложения, позволяющие вводить символьные команды, отправлять эти команды другому процессу и отображать на экране поступающие от этого процесса строки текста.
Слово консоль использовалось задолго до изобретения компьютеров и означало кронштейн или подставку под что-либо. Затем консолями стали называть пульты с кнопками и переключателями для управления электрическими устройствами.
В компьютерной терминологии консоль означает устройство со встроенной клавиатурой и монитором. Таким образом, консоль – это устройство, а терминал – это коммуникационная программа внутри консоли.
Консоль с запущенным терминалом
В случае персонального компьютера термины «консоль» и «терминал» можно считать синонимами.
Сами команды, поступающие от терминала, исполняются специальной программой, которая называется командной оболочкой (command shell). В зависимости от полученной команды оболочка выполняет определённые действия и генерирует символьные строки, которые посылаются обратно терминалу для отображения на экране.
Для каждой операционной системы существуют разные оболочки, отличающиеся набором команд. В Linux и Mac OS чаще всего пользуются оболочками bash, zsh, fish, tsh. В состав Windows входят две стандартные оболочки: командная строка cmd и PowerShell.
Важно понимать, что оболочки не имеют собственного пользовательского интерфейса, это не терминалы. С одной и той же командной оболочкой можно работать с помощью разных терминалов, а в одном терминале можно запускать разные оболочки.
Терминалы в Windows
Стандартный эмулятор терминала Windows Console появился ещё в первых версиях Windows NT почти тридцать лет назад. В этом терминале по умолчанию запускается оболочка командной строки (интерпретатор cmd), PowerShell и другие консольные утилиты.
Командная строка Windows (интерпретатор cmd.exe)
Оболочка Windows PowerShell
Также в Windows 10 поддерживается подсистема WSL (Windows Subsystem for Linux), позволяющая установить внутри Windows один из дистрибутивов Linux и пользоваться оболочками командной строки (например, bash или zsh) и стандартными утилитами (grep, sed, awk, …) из этой операционной системы.
Оболочка bash (WSL, Linux Ubuntu)
По правде говоря, за прошедшие десятилетия терминал Windows Console изменился совсем незначительно, работать в нём было неудобно.
Поэтому разработчики, которым часто приходилось пользоваться командной строкой, предпочитали пользоваться программными терминалами сторонних производителей (ConEmu, cmder, Console2, Hyper, Git Bash).
Установка и запуск Windows Terminal
Перед установкой нового терминала нужно проверить версию операционной системы, так как новый терминал поддерживается только в Windows 10 версии не ниже 1903 (соответствующее обновление вышло в мае 2019 года). Для этого выполните команду winver, в результате которой откроется диалоговое окно с нужной информацией.
Установить Windows Terminal проще всего из магазина приложений Microsoft Store (можно открыть с помощью ярлыка в меню Пуск или в браузере по ссылке https://www.microsoft.com/ru-ru/store/apps/windows ):
После установки в меню Пуск появится ярлык Windows Terminal:
Для запуска Windows Terminal можно воспользоваться этим ярлыком или нажать комбинацию клавиш +R и в окне Выполнить ввести имя wt запускного файла терминала.
В результате откроется новое окно терминала с оболочкой Windows PowerShell:
Рассмотрим основные возможности Windows Terminal, которых не было в предыдущем терминале.
Работа с вкладками
Windows Terminal поддерживает вкладки для открытия нескольких сеансов командных оболочек в одном окне. Для создания новой вкладки с оболочкой PowerShell нужно щёлкнуть мышью на значке + или нажать комбинацию клавиш ++t.
Если щёлкнуть по значку «стрелка вниз», то откроется список, где можно выбрать другой профиль (командную оболочку) для новой вкладки:
— стандартная командная строка Command Prompt (интерпретатор cmd.exe);
— Windows PowerShell;
— оболочка Bash операционной системы Linux (если подсистема WSL установлена и настроена).
Обратите внимание, что для каждого профиля в этом списке указана комбинация клавиш (++1, ++1 и т.д.), по которой его можно открыть в новой вкладке, не пользуясь мышью.
Переключаться между открытыми вкладками можно с помощью комбинации клавиш +.
Разделение окна на несколько панелей
Окно в каждой вкладке можно разбить на несколько панелей, как по вертикали, так и по горизонтали. В этом случае вы просматриваете сразу несколько сеансов работы с командной строкой, не переключаясь между вкладками.
При разделении по вертикали новая панель откроется справа от выбранной панели, а при разделении по горизонтали – под выбранной панелью.
— Автоматическое разделение панели текущего профиля: ++
— Вертикальное разделение панели профиля по умолчанию: ++<+>
— Горизонтальное разделение панели профиля по умолчанию: ++<+>
— Новая панель для профиля из списка: удерживать и щелкнуть мышью по нужному профилю.
Если во вкладке открыты несколько панелей, то переключаться между ними можно либо с помощью мыши, либо с помощью клавиш со стрелками, удерживая при этом . Можно изменять размер панелей, удерживая одновременно + и используя клавиши со стрелками.
Закрыть текущую панель можно клавишами ++W.
Запуск терминала с аргументами командной строки
Для запуска нового экземпляра Windows Terminal из командной строки используется команда wt. При этом с помощью дополнительных аргументов-команд можно задать текущий каталог, в котором будет открыт терминал, автоматически создать новые вкладки или разделить вкладку на несколько панелей. Команды для терминала разделяются между собой точкой с запятой.
Например, следующая команда:
wt -d C: ; split-pane -p "Windows PowerShell" ; split-pane -H wsl.exe
запустит новый терминал с тремя панелями на вкладке:
1. Сначала в корне диска C: открывается профиль по умолчанию, PowerShell (команда -d C:).
2. Затем панель делится по вертикали и в правой половине открывается PowerShell в домашнем каталоге пользователя (команда split-pane -p «Windows PowerShell»).
3. Наконец, правая панель делится по горизонтали в нижней половине открывается интерпретатор bash подсистемы WSL (команда split-pane -H wsl.exe).
Итак, мы рассмотрели некоторые возможности нового терминала для Windows, который Microsoft предлагает в качестве современной альтернативы своей консоли Windows Console. Исходный код Windows Terminal размещён на GitHub (https://github.com/microsoft/terminal), этот проект активно развивается, выходят новые версии с дополнительными возможностями. Если вы занимаетесь разработкой под Windows, то обязательно изучите этот инструмент (документация на сайте Microsoft: https://docs.microsoft.com/ru-ru/windows/terminal/) и возьмите его себе на вооружение!