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


16

У меня странная проблема на моем ноутбуке - когда я запускаю Powershell в существующем окне консоли, выбор шрифта для окна меняется.

Например, это cmd.exe сразу после открытия окна: командная консоль при открытии

Используемые шрифты, размер окна и цвета являются правильными - шрифт Lucida Console в 16pt.

Затем я бегу, PowerShellи вот результат:

введите описание изображения здесь

Шрифт Raster Font изменился на 12x16 пикселей! Другие свойства окна - цвета, количество строк, количество столбцов - остаются неизменными.

Есть идеи, почему он переключается?

Примечание: во время исследования этого вопроса - поскольку растровый шрифт ужасно уродлив и это меня беспокоит - я обнаружил, что другие сообщали о проблемах при настройке шрифта для окна консоли powershell (например, в вопросе « Невозможно изменить стандартный шрифт powershell на Lucida Console »). Хотя моя проблема в другом (так как я запускаю Powershell из существующего окна консоли, а не со стартового экрана), я подозреваю, что решение одного может помочь другому.


Вы можете использовать ConEmu и вообще избежать этой проблемы.
dangph

@ChrisLively ах, я не понял, что ответ был опубликован только сегодня. По некоторым причинам я думал, что это было намного старше. я удалю свой комментарий
Барлоп

Ответы:


2

У меня была точно такая же проблема, и это сводило меня с ума. Вот что я сделал, чтобы исправить это, надеюсь, это будет работать и для вас:

1.) В cmd.exe выполните команду powershell.

2.) Находясь в командной строке powershell в cmd.exe, перейдите в настройки и измените шрифт на Lucida Console.

3.) Выйдите из командной строки powershell и, находясь в cmd.exe, перейдите в настройки и измените шрифт на Lucida Console.

4.) В качестве дополнительного шага для хорошей меры я запустил start powershellcmd.exe и также изменил шрифт там.

5.) Улыбнись теперь, когда мой ОКР может отдохнуть. Теперь, когда я иду в start-> run-> cmd.exe и использую команду powershell, он остается в консоли Lucida.

Я перезапустил компьютер и снова открыл все, и до сих пор он, кажется, торчит для меня.

Я надеюсь, что это поможет вам в ваших поисках =)


1
Большое спасибо за предложение - но это не имело никакого значения на моем ноутбуке. :-(
Беван

2

Это по крайней мере на тот случай, если это поможет кому-либо для быстрого разрешения. Это может не отвечать ПОЧЕМУ, но это дает возможность потенциально исправить или исправить быстро движущееся вперед, если это необходимо.

Перейдите к TechNet SetConsoleFont и просмотрите подробности там, а затем следуйте инструкциям ниже и посмотрите также раздел ресурсов ниже.

Вот тут-то и появляется модуль SetConsoleFont. Прежде чем вы сможете использовать командлет Set-ConsoleFont, вы должны импортировать модуль. Сначала скопируйте модуль в локальный редактор. Обратите внимание, что когда я копировал текст, последняя строка имела нежелательный разрыв строки. Убедитесь, что последняя строка модуля выглядит так:

Export-ModuleMember -Variable _DefaultFont, _hConsoleScreen -Function Set-ConsoleFont, Get-ConsoleFontInfo

Затем вы должны сохранить файл в папке вашего модуля. С $ env: PSModulePath на консоли PowerShell вы можете получить список папок вашего модуля. Например, вы можете сохранить модуль SetConsoleFont в папке модуля PowerShell в каталоге Documents, используя имя файла SetConsoleFont.psm1, например:

%USERPROFILE%\Documents\WindowsPowerShell\Modules\SetConsoleFont\SetConsoleFont.psm1

Затем вы можете импортировать модуль с помощью:

Import-Module SetConsoleFont

Теперь вы можете получить список доступных шрифтов и их размеры с помощью:

Get-ConsoleFontInfo | Format-Table -AutoSize

Чтобы установить размер шрифта, вы должны выбрать число из столбца nFont:

Set-ConsoleFont 8

Чтобы изменить размер шрифта по умолчанию, вы можете запустить Set-ConsoleFont без аргумента

РЕСУРСЫ

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.