Устаревший режим консоли

Устаревший консольный режим — это средство обеспечения совместимости, разработанное для облегчения работы пользователей со старыми программами командной строки в Windows 10. Для любой программы командной строки, которая не отображается или не работает правильно в консоли Windows 10 по умолчанию, этот режим предоставляет простое решение для возврата системы в предыдущую версию среды размещения консоли.

Использование устаревшего режима консоли

Чтобы использовать устаревший режим консоли, сначала откройте любое окно размещения консоли. Обычно это делается путем запуска одного из интерпретаторов команд CMD или PowerShell.

Щелкните правой кнопкой мыши заголовок окна приложения и выберите пункт меню Properties. Выберите первую вкладку Options. Затем установите флажок в нижней части страницы с описанием Use legacy console. Нажмите кнопку OK, чтобы применить.

Чтобы отменить параметр, вернитесь в то же меню страницы свойств и снимите флажок, а затем нажмите кнопку OK.

Примечание.

Этот параметр глобально применяется ко всем сеансам, которые запускаются после изменения параметра. Уже открытые сеансы не будут изменены.

Различия между режимами

Группа разработки узла консоли стремится минимизировать различия между устаревшими и текущими режимами консоли, чтобы как можно большее количество пользователей могли запускать наиболее актуальную версию. Если у вас возникла ошибка, требующая использования устаревшей консоли, которая не описана здесь, обратитесь за помощью в группу разработчиков на странице microsoft/terminal репозитория GitHub или через Центр отзывов.

16-разрядные приложения в 32-разрядной версии Windows

Некоторые 16-разрядные приложения в 32-разрядной версии Windows используют технологию виртуальной машины под названием NTVDM. Часто эти приложения для работы используют графический режим буферизации экрана в сочетании со средой размещения консоли. Только устаревший интерфейс консоли обеспечивает поддержку этих графических режимов буферизации и дополнительную поддержку API консоли, что необходимо для работы этих приложений. При запуске одного из этих приложений система автоматически выберет устаревшую консольную среду.

Внедрение IME

В устаревшем узле консоли внедрена часть предложения IME внутри окна размещения путем резервирования строки в нижней части экрана для предложений. В текущей среде узла консоли это действие делегируется подсистеме IME, чтобы отобразить наложенное окно над узлом консоли с предложениями. В среде, в которой наложение окон невозможно (например, с определенными средствами удаленного взаимодействия), может потребоваться устаревший узел консоли.

Различия в API

Основное известное отличие между устаревшим и текущим — это реализация UTF-8. Устаревший узел обеспечивает крайне примитивную и часто неправильную поддержку UTF-8 с кодовой страницей 65001. Текущий же узел консоли содержит добавочные улучшения в каждом выпуске Windows 10 для улучшения этой поддержки. Приложения, которые пытаются полагаться на прогнозированные "известные неправильные" интерпретации UTF-8 из устаревшей консоли, будут получать разные ответы по мере улучшения поддержки.

О других различиях в API-интерфейсах необходимо сообщить на странице репозитория GitHub или через Центр отзывов для рассмотрения и возможных исправлений.