Windows Terminal — новое терминальное приложение в Windows для разработчиков и системных администраторов. Инструмент позволяет в одном окне в режиме вкладок запускать различные оболочки командной строки, PowerShell и WSL. В одной вкладке может отображаться несколько панелей.
Windows Terminal — больше чем терминал
Можно сказать, что я уже перешёл на использование Windows Terminal вместо старой доброй командной строки. Действительно, удобно. Но хочется, чтобы было ещё удобнее. Сегодня подкручиваем гайки у Windows Terminal, чтобы было удобнее работать.
Я не буду останавливаться на том, как украсить терминал, как добавить консольные утилиты, как настроить прозрачность, шрифт, цвета. Запустите — сами настроите.
C:\>_
Я чаще работаю с командной строкой, мне хотелось бы, чтобы по умолчанию в терминале запускалась именно она. Это очень просто сделать в настройках в разделе Запуск → Профиль по умолчанию.
Запускаю терминал.
Всё хорошо, открывается командная строка, но мне не нравится название вкладки "Командная строка", тем более, что если терминал запустить под администратором, то вкладка будет называться "Администратор: Командная ". Что-то не то.
Обратим внимание на значок щита, он отображается в том случае, если Windows Terminal запущен с правами администратора.
В настройках профиля командной строки можно сменить стандартный заголовок вкладки. Я напишу "C:\>_".
Сохранить.
Вот так будет удобнее.
И ретро-курсор ещё... Так, стоп, хватит рюшечек, у нас сегодня не про дизайн.
Запуск от имени администратора
Для сисадмина командная строка с обычными правами практически бесполезна. Нужен запуск с правами администратора. Каждый раз выбирать в меню "запустить от имени Администратора" можно, но не нужно. Я работаю на ноутбуке один, мне командная строка постоянно нужна со всеми правами.
В настройках профиля командной строки ставим чекбокс "Запустить этот профиль от имени администратора". Сохранить.
То же самое можно сделать в файле конфигурации (Открытие файла JSON в левом нижнем углу настроек). Этот параметр аналогичен опции:
"elevate": true
Теперь при запуске терминала откроется командная строка с правами администратора. Вот только при каждом запуске срабатывает контроль учётных записей и нам нужно подтверждать разрешение.
Это не очень удобно. Бесит, если честно. Можно, конечно, понизить уровень безопасности UAC или отключить его. Но это не наш метод, пока оставляем так как есть, потом обойдём это окно подтверждения другим способом без понижения уровня безопасности. Ведь каждый админ в душе немного безопасник.
Quake Mode
В Windows Terminal имеется специальный режим Quake, который позволяет запускать новое окно терминала в верхней половине экрана. Этот режим похож на окно терминала в игре Quake от iD Software.
Поиграли, продолжим.
Для запуска в режиме Quake нужно в любом окне терминала одновременно нажать клавиши Win+`, или Win+ё. Ту же комбинацию клавиш можно использовать, чтобы снова закрыть его.
Не секрет, что в Linux и MacOS такой режим уже давно используют разработчики и админы. Теперь и до нас дошло. Мне не нравится сама комбинация клавиш, кнопка Пуск (Win) у меня неудобно расположена. Меня устроит сочетание Ctrl+`. Можно в GUI настроить, Действия → Показать/скрыть окно Quake.
Но у меня почему-то настройки иногда слетали. Ещё мне не нравится эффект при разворачивании консоли, красиво, но бесит задержка. Перенастроим в файле конфигурации. При добавлении комбинации Win+` следует не забывать о букве "ё". Чтобы комбинация работала во всех раскладках, используем Win+sc(41). Скорость эффекта разворачивания регулируем параметром dropdownDuration. Добавляем в массив actions:
{
"command":
{
"action": "globalSummon",
"desktop": "toCurrent",
"dropdownDuration": 5,
"monitor": "toMouse",
"name": "_quake",
"toggleVisibility": true
},
"keys": "ctrl+sc(41)"
}
В GUI появится новая настройка, Действия → Показать/скрыть окно Терминала, name: _quake. Теперь режим Quake запускается любой комбинацией клавиш: Win+` или Ctrl+`.
Вкладки в режиме Quake
Большая часть радости от удобства терминала заключается в использовании вкладок, а в режиме Quake их нет. Можно пользоваться горячими клавишами, тогда несколько сессий работают, но в каком именно окне мы находимся в данный момент, непонятно.
Нажимаем Ctrl+Shift+p. В открывшемся окне поиска выбираем "Переключить режим фокусировки".
В консоли появляются вкладки. Пока нет настройки, чтобы вкладки отображались всегда, но они не всегда и нужны.
Таким способом переключать режим фокусировки неудобно. Назначим комбинацию клавиш, даже две. Сделаем так, чтобы включать и выключать вкладки можно было комбинациями Ctrl+F12 и Win+F12.
Добавляем в массив actions:
{
"command": "toggleFocusMode",
"keys": "ctrl+f12"
},
{
"command": "toggleFocusMode",
"keys": "win+f12"
}
Теперь вкладки можно сворачивать и разворачивать комбинациями клавиш Ctrl+F12 и Win+F12. Кстати, работает это не только в режиме Quake. Комбинацию клавиш можно вспомнить, нажав Ctrl+Shift+p, одна из комбинаций указывается справа от опции "Переключить режим фокусировки".
Только если нажать крестик справа от вкладок, то терминал потом придется запускать вручную.
Автозапуск Windows Terminal в режиме Quake
Красоту навели, комбинации клавиш назначили, вкладки научились включать. Теперь нужно заставить всё это работать. Как это должно выглядеть: мы загружаем компьютер, потом нажимаем Ctrl+`, у нас разворачивается Quake-терминал уже под администратором. И никакие окошки подтверждения UAC нам не нужны.
Для этого после загрузки компьютера нам просто нужно запустить Windows Terminal под администратором в режиме Quake в свёрнутом виде. Это тот самый момент, над которым я бился пару дней.
В Планировщике Заданий создаём папку "internet-lab.ru" (без этого магия не произойдёт). В папке создаём новую задачу "Start WT in Quake mode".
На вкладке Общие выполняем задачу только для пользователей, вошедших в систему. Указываем пользователя — себя любимого, чтобы под этим пользователем запустился терминал. Ставим галку "Выполнить с наивысшими правами", это позволит запустить процесс под администратором, при этом UAC не пискнет.
Триггеры: запускаем при входе в систему.
Действия: запускаем программу "cmd" с аргументами "/c start /min "" wt.exe -w _quake". Мы запустим командную строку в которой выполним команду, в команде запустим в свёрнутом виде wt.exe в окне _quake. Кстати, wt.exe с атрибутом _quake у меня почему-то только под админом и работает.
В остальных вкладках уж галки сами расставите, не маленькие. Перезагружаем компьютер, нажимаем Ctrl+`. Потом Ctrl+f12.
Проверяю в Windows 11:
Проверяю в Windows 10:
Всё работает.