Чому запуск PowerShell змінює шрифт консолі?


15

У мене на ноутбуці є дивна проблема - коли я запускаю Powershell в межах наявного консольного вікна, вибір шрифту для цього вікна змінюється.

Наприклад, це cmd.exe відразу після відкриття вікна: при відкритті командної консолі

Шрифти, розмір вікна та кольори, які використовуються, є правильними - шрифт - Lucida Console в 16pt.

Потім я бігаю, PowerShellі це результат:

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

Шрифт змінився на "Растровий шрифт" на 12х16 пікселів! Інші властивості вікна - кольори, кількість рядків, кількість стовпців - не змінюються.

Будь-яка ідея, чому вона перемикається?

Зауважте: під час дослідження цього - оскільки Raster Font жахливо некрасивий, і він мене помиляє - я виявив, що інші повідомляють про проблеми зі встановленням шрифту для вікна консолі powerhell (наприклад, питання " Неможливо змінити шрифт за замовчуванням powerhell на Lucida Console "). Хоча моя проблема інша (оскільки я запускаю Powershell з існуючого вікна консолі, а не зі стартового екрану), я підозрюю, що рішення одного може допомогти іншому.


Ви можете використовувати ConEmu і взагалі уникнути проблеми.
dangph

@ChrisLively ах, я не зрозумів, що відповідь була розміщена лише сьогодні. Я чомусь думав, що він набагато старший. я видалю свій коментар.
барлоп

Відповіді:


2

У мене були точно такі ж проблеми, і це мене зводило нанівець. Ось що я зробив, щоб виправити це, сподіваємось, він також спрацює і для вас:

1.) Перебуваючи в cmd.exe, запустіть команду powerhell.

2.) Перебуваючи у вікні powerhell у cmd.exe, перейдіть до налаштувань та змініть шрифт на консоль Lucida.

3.) Вийдіть із запиту powerhell і, перебуваючи в cmd.exe, перейдіть до налаштувань і змініть шрифт на консоль Lucida.

4.) Як додатковий крок для хорошого виміру я перебіг start powershellз cmd.exe і там також змінив шрифт.

5.) Посміхніться тепер, коли мій ОКР може відпочити. Тепер, коли я переходжу до запуску-> run-> cmd.exe і використовую команду powerhell, вона залишається на консолі Lucida.

Я перезапустив комп’ютер і знову відкрив усе, і поки що, здається, це дотримується мене.

Я сподіваюся, що це допоможе вам у ваших пошуках =)


1
Дякую за пропозицію - але це не змінило мого ноутбука. :-(
Беван

1

Це FYI принаймні на випадок, якщо він допомагає комусь швидко вирішити. Це може не відповісти ЧОМУ, але це дає можливість потенційно виправити або виправити швидко просуваючись вперед, якщо це необхідно.

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

Тут надходить модуль SetConsoleFont. Перш ніж використовувати командлет Set-ConsoleFont, потрібно імпортувати модуль. Спочатку скопіюйте модуль у локальний редактор. Зауважте, що коли я копіював текст, в останньому рядку стався небажаний розрив рядка. Переконайтесь, що останній рядок модуля виглядає так:

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

Далі потрібно зберегти файл у папці модуля. За допомогою $ env: PSModulePath на консолі PowerShell ви можете отримати список папок свого модуля. Наприклад, ви можете зберігати модуль SetConsoleFont у папці модуля PowerShell в каталозі Документи, використовуючи назву файлу 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.