Поделиться через


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

В этом руководстве рассматриваются некоторые распространенные ошибки и препятствия, которые могут возникнуть при использовании терминала Windows.

Открытие параметров не делает ничего (или открывает непредвиденное приложение)

Если в раскрывающемся списке выбрана кнопка "Параметры", терминал пытается открыть файл параметров. settings.json Это действие приводит к запуску настроенного .json редактора файлов операционной системы. Этот редактор может быть Visual Studio, Блокнот или другое неожиданное приложение. Если в вашей системе не настроен .json редактор, ОС в конечном итоге показывает диалоговое окно Как вы хотите открыть этот файл.

Подсказка

Вы также можете использовать пользовательский интерфейс параметров для настройки параметров. Вы можете узнать, как открыть пользовательский интерфейс параметров на странице "Действия".

Настройка дистрибутива WSL для запуска в домашнем ~ каталоге при запуске в более ранних версиях терминала Windows

По умолчанию startingDirectory профиля равно %USERPROFILE% (C:\Users\<YourUsername>). Этот путь — это путь к Windows. Для дистрибутивов WSL, работающих под новой версией терминала Windows, файловые системы могут использовать ~, чтобы установить этот путь к домашней папке. В более старых версиях Windows Terminal вы можете ссылаться напрямую на свою домашнюю папку с помощью /home/<Your Ubuntu Username>. Например, следующая настройка запускает дистрибутив "Ubuntu-20.04" в домашнем каталоге.

{
    "name": "Ubuntu-20.04",
    "commandline" : "wsl -d Ubuntu-20.04",
    "startingDirectory" : "/home/<Your Ubuntu Username>"
}

Если вы используете очень раннюю версию терминала Windows, WSL может потребовать использования \\wsl$\ префикса при обращении к домашнему пути распространения для startingDirectory параметра. Например, следующая настройка запускает дистрибутив Ubuntu-18.04 в его домашнем каталоге:

{
    "name": "Ubuntu-18.04",
    "commandline" : "wsl -d Ubuntu-18.04",
    "startingDirectory" : "//wsl$/Ubuntu-18.04/home/<Your Ubuntu Username>"
}

Это важно

В более новых версиях Windows startingDirectory можно принимать пути в стиле Linux.

Задание заголовка вкладки

Чтобы оболочка автоматически задала название вкладки, посетите руководство по настройке заголовка вкладки. Если вы хотите задать название собственной вкладки, откройте файлsettings.json и выполните следующие действия:

  1. В профиле для выбранной командной строки добавьте "suppressApplicationTitle": true , чтобы отключить события изменения заголовка, отправляемые оболочкой. Добавление только этого параметра в ваш профиль задает заголовок вкладки как имя профиля.

  2. Если вы хотите, чтобы заголовок пользовательской вкладки не был именем профиля, добавьте "tabTitle": "TITLE". Замените "TITLE" на название предпочитаемой вкладки.

Аргументы командной строки в PowerShell

Сведения о работе аргументов командной строки в PowerShell см. на странице аргументов командной строки.

Аргументы командной строки в WSL

Сведения о работе аргументов командной строки в WSL см. на странице аргументов командной строки.

Постановка задачи startingDirectory

Если профиль игнорирует startingDirectory этот параметр, сначала проверьте синтаксис в файле settings.json. Чтобы помочь проверить этот синтаксис, "$schema": "https://aka.ms/terminal-profiles-schema" внедряется автоматически. Некоторые приложения, такие как Visual Studio Code, используют эту внедренную схему для проверки JSON-файла при внесении изменений.

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

Кроме того, если вы запускаете скрипт с помощью commandline параметра профиля, вы можете задать расположение в этом скрипте. Как и в профилях PowerShell, команды в скрипте имеют приоритет над параметром startingDirectory профиля.

Целью startingDirectory является запуск нового экземпляра терминала Windows в указанном каталоге. Если терминал запускает любой код, изменяющий каталог, проверьте этот код.

Ctrl+= не увеличивает размер шрифта

Если вы используете немецкий макет клавиатуры, вы можете столкнуться с этой проблемой. Ctrl+= десериализуется в Ctrl+Shift+0, если ваша основная раскладка клавиатуры установлена на немецкий. Это сопоставление правильно для немецких клавиатур.

Более важно то, что приложение никогда не получает сочетание клавиш CTRL+SHIFT+0. Эта проблема возникает, так как Windows резервирует ctrl+SHIFT+0 , если у вас есть несколько активных раскладок клавиатуры.

Если вы хотите отключить эту функцию, чтобы Ctrl+= работал правильно, следуйте инструкциям в разделе "Изменить горячие клавиши для переключения раскладки клавиатуры в Windows 10" в этой записи блога.

Измените параметр "Переключить раскладку клавиатуры" на "Не назначено" (или отключено ctrl +SHIFT), а затем нажмите кнопку "ОК ", а затем "Применить". Ctrl+SHIFT+0 теперь должен работать как привязка ключа и передается в терминал.

С другой стороны, если вы используете эту функцию горячего ключа для нескольких языков ввода, можно настроить собственную пользовательскую привязку ключей в файлеsettings.json.

Текст размыт

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

Мои цвета выглядят странно! На моем экране есть черные полосы!

Это важно

Эта проблема относится только к терминалу Windows версии 1.2+ . Если вы видите проблемы с цветом в Windows Terminal 1.0 или 1.1 или проблемы, которые здесь не упомянуты, пожалуйста, сообщите об ошибке.

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

Мы поддерживаем раздел по устранению неполадок в актуальном состоянии со списком известных проблем и их обходных решений.

Черные линии в PowerShell (5.1, 6.x, 7.0)

Терминал, при сочетании с библиотекой редактирования строк PowerShell PSReadline, может нарисовать черные линии на экране. Эти неправильно окрашенные области выходят за пределы интерфейса командной строки и распространяются по экрану там, где присутствуют параметры команды, строки или операторы.

PSReadline версии 2.0.3 содержит исправление этой проблемы. Если вы используете предварительную версию PSReadline, обратите внимание, что исправление еще недоступно.

Чтобы обновить до последней версии PSReadline, выполните следующую команду:

Update-Module PSReadline

Почему мои эмодзи не отображаются как иконки в списке переходов?

Только изображения, имеющие ссылку на расположение файла, можно отобразить как значки профиля в Jump List. Переходный список не поддерживает эмодзи для значков.

Технические примечания

Приложения, которые используют семейство API для получения активных цветов консоли в формате Win32 и затем пытаются преобразовать их в кроссплатформенные последовательности VT (например, преобразуя в ), могут препятствовать способности терминала определить, какой цвет фона приложение пытается использовать.

Выберите функции API Windows или последовательности VT для настройки цветов. Не смешивайте их.

Предупреждение службы клавиатуры

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

  1. В диалоговом окне выполнения выполните команду services.msc

    services.msc в диалоговом окне выполнения

  2. Найдите службу панели сенсорной клавиатуры и рукописного ввода.

    Служба сенсорной клавиатуры и рукописного ввода в Services.msc

  3. Откройте свойства этой службы

    Свойства службы

  4. Измените тип запуска на "Автоматический"

    Тип запуска службы

  5. Нажмите кнопку "ОК" и перезапустите компьютер.

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

Почему при использовании командной строки Git Bash происходит мигание?

При использовании командной строки Git Bash в Windows Terminal возможно возникновение мерцания или мигания. Это поведение именно так задумано. Терминал подчиняется тому, что Git Bash говорит ему делать (установка bell-style на visible, вызывая вспышку для ассоциации с реакцией на звонок), однако такое поведение может быть отвлекающим. Чтобы устранить эту проблему, откройте .inputrc файл для Git Bash с помощью текстового редактора. Этот файл, скорее всего, расположен в пути C:\Program Files\Git\etc. Чтобы открыть файл с текстовым редактором Nano, используйте команду: nano ~/.inputrc

Измените значение по умолчанию:

# none, visible or audible
set bell-style visible

bell-style Установите его значение на none или audible, чтобы удалить видимую вспышку:

set bell-style none

Нажмите клавиши CTRL+O и CTRL+X, чтобы сохранить и выйти.

Как сбросить параметры в терминале Windows обратно в параметры по умолчанию?

Чтобы сбросить параметры обратно в исходные параметры по умолчанию, удалите файлsettings.json. Это действие приводит к повторному созданию settings.json файла с исходными параметрами по умолчанию в терминале Windows.

Это важно

Начиная с версии 1.10 терминала Windows или более поздней, необходимо также удалить файл state.json в том же каталоге, что и файл settings.json, чтобы полностью сбросить настройки к значениям по умолчанию.

Почему прозрачность акрила не делает фон терминала Windows прозрачным?

Вы можете задать прозрачность окна терминала с помощью свойстваuseAcrylic. Существует несколько причин, по которым параметр непрозрачности может не работать для Акрила, в том числе:

  • В качестве политики на уровне системы акрил включен только для окна переднего плана. Если вы переключаетесь на любое другое окно, кроме терминала, акриловый эффект терминала отключается.
  • Акрил не работает, если ваше оборудование GPU не поддерживает его. Если вы запускаете приложение на виртуальной машине или на удаленном рабочем столе, акрил, скорее всего, не работает.
  • Операционная система отключает акрил по нескольким причинам, например в режиме экономии питания (низкой батареи) или при доступе к компьютеру с помощью удаленного рабочего стола.

Почему указатель мыши исчезает при наведении указателя мыши на окно и начал вводить текст?

Это поведение автоматического скрытия курсора является предусмотренным, но его можно отключить. В параметрах Windows выполните поиск параметров мыши>дополнительных параметров мыши>свойств мыши>параметров указателя> и снимите флажок «Скрыть указатель во время ввода». Чтобы это изменение вступило в силу, может потребоваться перезапустить терминал Windows.