Руководство. Настройка пользовательского запроса PowerShell или WSL с помощью O My Posh
В этом руководстве представлены ресурсы и указания, которые помогут вам настроить командную строку для PowerShell или подсистемы Windows для Linux (WSL) с помощью Oh My Posh. Oh My Posh предоставляет возможности выбора темы для полностью настраиваемой пользовательской командной строки с цветовым кодированием состояния и командной строки Git.
В этом руководстве описано следующее:
- Установка шрифта Nerd
- Настройка командной строки PowerShell с помощью Oh My Posh
- Настройка командной строки WSL с помощью Oh My Posh
- Добавление отсутствующих значков папок или файлов с помощью Terminal-Icons
Установка шрифта Nerd
В настраиваемых командных строках для изменения стиля часто используются глифы (графические символы). Если шрифт не содержит соответствующие глифы, в командной строке может появиться несколько символов замены Юникода ▯. Чтобы в терминале отображались все глифы, рекомендуем установить шрифт Nerd.
(Если вам нужен шрифт, который выглядит как Cascadia Code, используйте шрифт Caskaydia Cove Nerd Font, созданный из репозитория Cascadia Code участником сообщества.)
После скачивания необходимо распаковать и установить шрифт в системе. (Добавление нового шрифта в Windows.)
Чтобы установить шрифт Nerd для использования с Oh My Posh и значками Терминала, откройте пользовательский интерфейс параметров Терминала Windows, выбрав Настройки (CTRL+,) в раскрывающемся меню Терминала Windows. Выберите профиль, в котором вы хотите применить шрифт (например, PowerShell), а затем щелкните вкладку Внешний вид. В раскрывающемся меню Начертание шрифта выберите CaskaydiaCove Nerd Font или любой другой шрифт Nerd, который вы хотите использовать в пользовательской командной строке.
Если вы решите использовать шрифт терминала, не поддерживающий глифы, например Cascadia Code PL, вы можете рассмотреть возможность использования темы Oh My Posh, которая содержит функцию minimal , указывающую, что дополнительные значки не требуются.
Настройка командной строки PowerShell с помощью Oh My Posh
Oh My Posh позволяет использовать полный набор цветов для определения и визуализации командной строки терминала, включая возможность использования встроенных тем или создания пользовательской темы.
Установка Oh My Posh для PowerShell
Чтобы настроить командную строку PowerShell, можно установить Oh My Posh с помощью winget. Введите команду :
winget install JanDeDobbeleer.OhMyPosh
- oh-my-posh.exe — исполняемый файл Windows;
- themes — последние темы Oh My Posh.
Вы должны будете согласиться с исходными условиями, при этом вам может встретиться экземпляр, доступный нескольким пакетам. В этом случае выберите идентификатор пакета, который вы хотите использовать, и повторно введите команду: winget install .
Чтобы использовать версию Oh My Posh из Microsoft Store, которая будет автоматически обновляться при наличии новых версий, используйте следующую команду:
winget install XP8K0HKJFRXGCK
Введите oh-my-posh version , чтобы подтвердить номер версии установки Oh My Posh. Чтобы убедиться, что у вас есть последние обновления, можно использовать следующую команду: winget upgrade oh-my-posh .
Если вы хотите установить последнюю версию Oh My Posh в PowerShell, возможно, сначала потребуется удалить кэшированные файлы модуля OMP и удалить старый модуль. Инструкции по выполнению этих действий можно найти в документации по Oh My Posh. Если вы лучше знакомы с установщиком Scoop или методом установки вручную, который предусматривает автоматизацию, их также можно использовать для установки в Windows. Просто следуйте инструкциям из документации по Oh My Posh.
Выбор и применение темы командной строки PowerShell
Полный список тем можно найти на странице тем для Oh My Posh.
Выберите тему и обновите профиль PowerShell с помощью следующей команды (вы можете заменить notepad предпочитаемым текстовым редактором):
notepad $PROFILE
Если вы получаете ошибку пути, возможно, у вас еще нет профиля для PowerShell. Чтобы создать его, используйте следующую команду PowerShell для создания профиля и повторите попытку открыть его с помощью текстового редактора.
new-item -type file -path $profile -force
Добавьте следующий фрагмент в конец файла профиля PowerShell, чтобы задать тему paradox (замените paradox предпочитаемой темой):
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\paradox.omp.json" | Invoke-Expression
Теперь каждый новый экземпляр PowerShell будет запущен с импортом Oh My Posh и установкой темы командной строки.
Если при попытке открыть новый экземпляр PowerShell возникает ошибка скрипта, политика выполнения для PowerShell может быть ограничена. Чтобы настроить политику выполнения PowerShell неограниченной, необходимо запустить PowerShell от имени администратора, а затем использовать следующую команду:
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
Это не профиль Терминала Windows. Профиль PowerShell является сценарием, который выполняется при каждом запуске PowerShell. Ознакомьтесь с дополнительными сведениями о профилях PowerShell.
Часто задаваемые вопросы и ответы на распространенные вопросы или проблемы см. в часто задаваемых вопросов и проблемах о О Мой Пош. Дополнительные сведения о конфигурации и общих параметрах, таких как восстановление текущего рабочего каталога, см. в документации по «О Мой Posh».
Настройка командной строки WSL с помощью Oh My Posh
Oh My Posh теперь позволяет настроить командную строку WSL, так же как и командную строку PowerShell, используя встроенные темы.
Установка Oh My Posh для WSL
Рекомендуем установить Oh My Posh для WSL, используя Bash, Zsh или другое средство, следуя инструкциям по установке в Linux из документации по Oh My Posh.
Сейчас в рекомендуемом пути настройки командной строки WSL с помощью Oh My Posh для установки используется менеджер пакетов Homebrew. (Homebrew уже работает с WSL!) При установке Homebrew для Linux обязательно выполните инструкции из раздела Next steps (Дальнейшие действия), чтобы добавить Homebrew в используемый путь (PATH) и в скрипт профиля оболочки Bash.
- oh-my-posh — исполняемый файл, который будет добавлен в каталог /usr/local/bin;
- themes — последние темы Oh My Posh.
Выбор и применение темы командной строки WSL
Темы Oh My Posh находятся в каталоге oh-my-posh в виде файлов JSON. Чтобы найти их, введите команду cd $(brew —prefix oh-my-posh) , затем просто cd themes , а затем — ls для построения списка. Для ОС Ubuntu 20.04, работающей через WSL, путь будет выглядеть примерно так: \\wsl.localhost\Ubuntu-20.04\home\linuxbrew\.linuxbrew\Cellar\oh-my-posh\6.34.1\themes . Вы также можете просмотреть темы в документации по Oh My Posh.
Чтобы использовать тему, скопируйте ее из папки themes в папку $Home , а затем добавьте в конец файла .profile , находящегося в папке $Home , следующую строку:
eval "$(oh-my-posh init bash --config ~/jandedobbeleer.omp.json)"
jandedobbeleer.omp.json можно заменить именем любой выбранной темы, если она скопирована в папку $Home .
В качестве альтернативы, если вы используете oh-my-posh и в Windows с PowerShell, и в WSL, вы можете использовать тему PowerShell также в WSL, указав ее в домашней папке пользователя Windows. В пути к файлу .profile используемого дистрибутива WSL вместо ~ укажите путь /mnt/c/Users/ , заменив своим именем пользователя Windows.
Добавление отсутствующих значков папок или файлов с помощью Terminal-Icons
Terminal-Icons — это модуль PowerShell, который добавляет значки файлов и папок, которые могут отсутствовать при отображении файлов или папок в терминале Windows, и ищет соответствующий значок на основе имени или расширения. Он пытается использовать значки хорошо известных файлов и папок, но если значок не найден, использует универсальный значок файла или папки.
Чтобы установить Terminal-Icons с помощью PowerShell, выполните следующую команду:
Install-Module -Name Terminal-Icons -Repository PSGallery
Дополнительные сведения, в том числе об использовании и командах, см. в репозитории Terminal-Icons на сайте GitHub.
Дополнительные ресурсы
- Документация по Oh My Posh
- Репозиторий Terminal-Icons
- Документация по Posh-Git. Posh-Git — это модуль PowerShell, который объединяет Git и PowerShell, предоставляя сводную информацию о состоянии Git, которая может быть отображена в командной строке PowerShell.
- Документация по PowerLine. Powerline — это подключаемый модуль строки состояния для Vim. Кроме того, он предоставляет строки состояния и командные строки для ряда других приложений, включая Zsh, Bash, tmux, IPython, Awesome, i3 и Qtile.
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.
Как посредством командной строки скопировать и установить новый Шрифт
Доброе утро.
Есть шрифт в папке по сети, надо установить посредством групповой политики на компьютеры в сети
в домене в политике (конфигурация компьютера- конфигурация windows — сценарии- автозагрузка- втыкаю батник \\s2003\NETLOGON\addFont.bat) но почему то шрифты не появляются в папке Font на клиенте помогите пробовал
1 2 3
echo off xcopy "\\s2003\NETLOGON\fonts\old-standard-tt-bold.ttf" %systemroot%\Fonts /Y regedit /s fontReg.reg
где fontReg.reg добавляет информацию о шрифтах в реестр.
так же пробовал
1 2 3 4
@echo off @echo off xcopy \\s2003\NETLOGON\fonts\old-standard-tt-bold.ttf %systemroot%\Fonts /Y reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "Old Standard TT Bold (TrueType)" /t REG_SZ /d old-standard-tt-bold.ttf /f
1 2 3 4
Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.Namespace("\\s2003\NETLOGON\fonts") Set objFolderItem = objFolder.ParseName("old-standard-tt-bold.ttf") objFolderItem.InvokeVerb("Install")
Помогите=) В батнике пишется что шрифт с копировался но по факту его нет в папке %systemroot%\Fonts на клиенте
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Как из командной строки скопировать всю папку?
Такая проблема. Надо сделать bat файл который будет копировать всю папку из одного места в другое.
как можно открыть TCP-порт посредством командной строки?
Здравствуйте! Подскажите, пожалуйста, как можно открыть TCP-порт посредством командной строки.
Как установить msi пакет из командной строки?
Как установить msi пакет из командной строки?
Как из командной строки установить параметры в trust and assembly?
Как из командной строки установить в framework следующие параметры в trust and assembly: .
6228 / 2670 / 1051
Регистрация: 06.06.2017
Сообщений: 9,128
В виртуальной папке отображается название шрифта, а не файла. Последний код должен работать, если речь об установке на локальную машину с шары.
Регистрация: 09.02.2016
Сообщений: 19
Спасибо да заработал тока \ перед fonts надо еще, а как сделать проверку если уже есть этот шрифт то не устанавливать заного, а если его нет то установить?
1 2 3 4
Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.Namespace("\\s2003\NETLOGON\fonts\") Set objFolderItem = objFolder.ParseName("old-standard-tt-bold.ttf") objFolderItem.InvokeVerb("Install")
6228 / 2670 / 1051
Регистрация: 06.06.2017
Сообщений: 9,128
Сообщение от keeb
тока \ перед fonts надо еще
Может, после? Обычно не требуется.
1 2 3 4
With CreateObject("Shell.Application") If Not CreateObject("Scripting.FileSystemObject").FileExists(.NameSpace(20).Self.Path & "\old-standard-tt-bold.ttf") Then _ .Namespace("\\s2003\NETLOGON\fonts\").ParseName("old-standard-tt-bold.ttf").InvokeVerb "Install" End With
Регистрация: 09.02.2016
Сообщений: 19
А может ктото знает как в XP установить ниже код не хочет работать.В семерке все подхватывает.
1 2 3 4
Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.Namespace("\\s2003\NETLOGON\fonts\") Set objFolderItem = objFolder.ParseName("old-standard-tt-bold.ttf") objFolderItem.InvokeVerb("Install")
6228 / 2670 / 1051
Регистрация: 06.06.2017
Сообщений: 9,128
Только запрашивалась проверка — и опять возвращаемся к прежнему? Дубль 2:
1 2 3
With CreateObject("Shell.Application").NameSpace(20) If Not CreateObject("Scripting.FileSystemObject").FileExists(.Self.Path & "\old-standard-tt-bold.ttf") Then .CopyHere "\\s2003\NETLOGON\fonts\old-standard-tt-bold.ttf" End With
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Установить новый шрифт в delphi xe2
Нужно чтоб в редакторе кода можно было установить новый шрифт, скачанный из нета. Как это сделать.
Копирование содержимого одного файла в другой посредством командной строки
Здравствуйте, Передо мной встала задача написать программу, которая работала бы через командную.
Как с помощью командной строки в Windows 7 в разделе на диске установить тип раздела 0х12
Всем добрый день. Извините за вторжение. Вопрос вот какой. Как с помощью командной строки в.
Реализовать программу в виде исполняемого файла, запускаемого посредством аргументов командной строки
не могу понять что это означает и как это реализовать: Работа должна быть выполнена в виде 1.
Или воспользуйтесь поиском по форуму:
Как установить шрифт через командную строку
Знаете ли Вы, что в свойствах окна командной строки можно использовать не только 2 шрифта? Все, что нужно знать для этого — просто применить хак реестра, чтобы разрешить другие шрифты, включая весьма удобочитаемые, которые стали доступны с Windows Vista и Office 2007.
Вы можете разрешить несколько шрифтов с фиксированной шириной. Давайте рассмотрим, как это работает.
[Как поменять шрифт по умолчанию для консоли команд]
Чтобы поменять шрифт, сделайте правый клик на плашке заголовка окна и выберите Properties (Свойства) из контекстного меню. Если Вы хотите установить значение по умолчанию для всех окон командной строки, то можете вместо этого выбрать опцию Defaults (Умолчания).
Теперь на закладке Font (Шрифт) вы сможете выбрать любой из шрифтов, который разрешен (через настройку в реестре, см. далее) для использования в окне консоли командной строки.
На скриншоте можно увидеть, что в списке разрешенных имеется шрифт Consolas. Этот шрифт по умолчанию не разрешен, но теперь мы научимся, как можно его разрешить.
[Разрешение использования дополнительных шрифтов для окна командной строки]
Чтобы разрешить использование дополнительных шрифтов в командной строке, Вам нужно ввести в реестр изменение. Для этого откройте редактор реестра regedit.exe, и с помощью поиска, или навигацией по дереву найдите следующий ключ реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont
Зайдите в просмотр этого ключа, и в правой части окна редактора Вы увидите список разрешенных шрифтов True Type. Чтобы добавить туда еще один, добавьте новое значение типа String (Строка) под именем 00, и установите его значение в имя шрифта, который Вы хотите разрешить.
! Обратите внимание, что может понадобиться перезагрузить Ваш компьютер после внесения изменений, чтобы стало доступным использование новых шрифтов в окне консоли.
Как Вы видите на скриншотах, здесь был разрешен шрифт Consolas. Этот шрифт имеется на Windows Vista или в составе Office 2007. Но если Вы используете Windows XP, то можете получить этот шрифт, если просто установите у себя бесплатный Powerpoint 2007 Viewer (он содержит этот шрифт).
Даже на маленьких размерах шрифта буквы Consolas остаются хорошо читаемыми.
[Какие шрифты можно использовать для консоли cmd.exe]
Командная строка может принять только лишь шрифты с фиксированной шириной, так что даже не пытайтесь разрешить шрифты наподобие Comic Sans. В консоли работают шрифты наподобие White Rabbit:
Чтобы разрешить дополнительный шрифт, сохранив при этом разрешенным Consolas, сначала Вам нужно загрузить и установить его (правый клик на файле шрифта, выбрать Установить), после чего нужно в регистре добавить новую запись, но убедиться при этом, что у неё будет другое имя. Если имя 00 уже имеется, то можно использовать имена наподобие 000, или 00, 01, 02, и т. д.
После того, как шрифты разрешены, можно выбрать для консоли любой из них на той же закладке Font свойств окна (помните, что возможно понадобится перезагрузка или перелогин, чтобы изменения вступили в силу).
Некоторые шрифты в консоли не работают. Например, иногда со шрифтами фиксированного размера операционная система выдавала ошибку при попытке открыть свойства окна консоли:
Если такое случилось с Вами, то не волнуйтесь, просто вернитесь в редактирование реестра и удалите ссылку на неработающий шрифт.
[Ссылки]
1. Enable More Fonts for the Windows Command Prompt site:howtogeek.com .
Developing.ru
Собственно это и есть вопрос: как? Или из batch файла? Нужна ли после этого перезагрузка компьютера. Если да, то как ее прописать в batch файле?
Romeo Сообщения: 3091 Зарегистрирован: 02 мар 2004, 17:25 Откуда: Крым, Севастополь Контактная информация:
Специальных способов не знаю — честное слово, хотя не уверен, что таковые отсутствуют. Самый простой способ: написать маленькую программку, корорая меняет какой-либо системный шрифт (я так понял именно о системном шрифте был вопрос), а потом перезагружает PC. Написание batch-файла отныне сводится к вызове этой самой программки — одна гениальная строчка
Entites should not be multiplied beyond necessity @ William Occam
—
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
—
Сообщение «Спасибо» малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой «Reputation» в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
interalex1 Сообщения: 25 Зарегистрирован: 15 июн 2004, 12:25
Это мне понятно. Извини, а ты — не гений, не знаешь как написать эту гениальную строчку?
Romeo Сообщения: 3091 Зарегистрирован: 02 мар 2004, 17:25 Откуда: Крым, Севастополь Контактная информация:
Программку или bat’ик?
Entites should not be multiplied beyond necessity @ William Occam
—
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
—
Сообщение «Спасибо» малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой «Reputation» в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
interalex1 Сообщения: 25 Зарегистрирован: 15 июн 2004, 12:25
Bat-ик.
В сущности я написал несколько html-страниц, связанных между собой, как WEB-сайт, и записал все это на CD-RW. Прописал запуск index.htm в autorun.inf. Но один красивый шрифт, который я использовал в этих html-страницах, редко установлен в Windows, а я хочу, чтобы любой человек с любого компьютера мог увидеть эти html-страницы с этим шрифтом.
Как скопировать шрифт с CD-RW в нужную папку шрифтов Windows я уже знаю, но шрифт цепляется только после перезагрузки Windows. Вот я и ищу способ,который в принципе должен выглядеть следующим образом:
В autorun.inf прописываю запуск start.bat.
В start.bat прописываю условия, если мойшрифт.ttf установлен в Windows, то дальше идет запуск index.htm и все. А если мойшрифт.ttf не установлен в Windows, то этот шрифт копируется в папку шрифтов Windows, затем происходит перезагрузка компьютера, а после нее — запуск index.htm.
Если это не сложно — скажи как, или хотя бы подскажи в каком направлении мне копать.
Заранее спасибо.
Romeo Сообщения: 3091 Зарегистрирован: 02 мар 2004, 17:25 Откуда: Крым, Севастополь Контактная информация: