49

Это тривиальная проблема, но меня раздражает, что я не могу до конца разобраться:

Я использую Windows 8, Powershell версии 3.0. Щелкнув правой кнопкой мыши на строке заголовка, я могу зайти в Свойства и без проблем изменить шрифт, размер, цвет фона и т.д.

После закрытия и перезапуска Powershell все изменения, которые я сделал, залипают, за исключением того, что если я установил шрифт Lucida Console, то при повторном открытии я получаю шрифт Raster.

(Обратите внимание, что все вышеизложенное относится к случаю, когда я запускаю Powershell от имени администратора.)

Так:

  • Если я установлю шрифт Lucida, то он переключится на Lucida до конца сеанса.
  • Если я установлю шрифт на что-либо кроме Lucida, то он останется таким же после закрытия и повторного открытия.
  • Если я изменю размеры окна или цвета текста или что-то еще, эти изменения сохранятся после повторного открытия.
  • Единственное , что идет не так, это то, что если я установлю шрифт на Lucida, он переключится на «Растровые шрифты», когда я снова открою.
  • Но у cmd и powershell ISE такой проблемы нет - только консоль powershell.

Кто-нибудь может подсказать, что может пойти не так?

(Одно наблюдение, которое я сделал, заключается в том, что после повторного открытия Powershell после установки шрифта на Lucida, сначала ширина окна будет такой, какой она была бы, если бы это был шрифт Lucida, но затем, через секунду, он немного расширяется, чтобы вместить растровый шрифт.)

9 ответов9

17

У этого парня тоже была проблема. Его решение сработало и для меня:

Однако моя оболочка в Windows 7 отказалась сохранять настройки и настояла на том, чтобы вернуться к растровым шрифтам, когда я снова открыл PowerShell. С Консоласом все работало нормально, но я хотел Люциду

Обходной путь: Выберите размер шрифта, отличный от 12 пунктов.

12

Я обнаружил такое поведение раньше, даже с Windows 7. Попробуйте это - откройте окно PowerShell в режиме администратора (щелкните правой кнопкой мыши значок «Открыть как администратор»), измените шрифт и закройте окно. Теперь откройте окно PowerShell с обычными правами пользователя, и ваши изменения должны остаться.

4
  1. Проверьте, какую кодовую страницу вы используете
    Я нашел используемую текущую кодовую страницу не UTF-8 (65001). Вы можете найти текущую кодовую страницу в свойствах -> Параметры. ИЛИ, вы можете найти его с помощью команды 'chcp'

  2. Измените кодовую страницу на UTF-8
    используя команду 'chcp 65001'

  3. Изменить другой шрифт
    Вы можете использовать другой шрифт, изменив свойства powershell

3

У меня тоже была эта проблема, и я просто исправил ее, изменив системный язык моей английской установки Windows (США). Шведский язык, по- видимому, не был поддержан Lucide Console в командной строке PowerShell. Не знаю почему, но я кратко написал об этом здесь: http://www.meadow.se/wordpress/setting-the-font-of-a-powershell-console-to-lucida-console-wont-work/

Надеюсь это поможет.

2

Это может прийти несколько поздно, но у меня тоже была эта проблема. Я решил эту проблему, сняв флажок Properties > Options > Use legacy console . После этого я мог изменить шрифт и размер, и меня спасли.

Имейте в виду, что я сделал это с Windows 10.

2

Я тоже это испытал - похоже, это связано со шрифтами с пробелом в имени!

В конце концов, я сдался и остался с Consolas в качестве шрифта CLI по умолчанию (не так просто, как Lucida Console, IMHO, но лучше, чем растровые шрифты). Я нашел потенциальное исправление (но не могу проверить его, поскольку у меня нет прав администратора на моей машине); однако стоит также взглянуть на модуль SetConsoleFont из галереи TechNet (есть пост в блоге 4sysops, который может помочь его установить / импортировать, но у меня недостаточно высокой репутации на этом сайте, чтобы публиковать столько ссылок в ответе ).

Мне показалось, что я получаю что-то с этим, потому что я могу изменить шрифт и размер изнутри сеанса PSH (так, вероятно, могу сделать это в своем профиле), но я действительно не хотел идти по маршруту неподдерживаемого кода ...

1

Ubuntu Mono (скачивается со многих сайтов с бесплатными шрифтами) @ 18pt выглядит почти так же, как Lucida Console 14pts.
Чтобы оно появилось в консоли, просто добавьте его в Windows и добавьте новую строковую запись в:
HKLM\Software\Microsoft\Windows NT\CurrentVersion\console\TrueTypeFont.
Имя - 000 (возможно ... добавьте еще 0 к предыдущей записи), а имя - Ubuntu Mono. Мне просто пришлось перезапустить Powershell, чтобы найти его (Win8.1)

0

Если вы используете ярлык для запуска PowerShell, попробуйте запустить exe-файл напрямую (как администратор) и изменить там свойства по умолчанию. В вашем случае убедитесь, что Lucida выделена на вкладке Font. При необходимости создайте ярлык заново, как только вы закончите изменение свойств.

Щелкните правой кнопкой мыши по ярлыку и выберите "Открыть файл", чтобы легко найти исполняемый файл.

Я проверял это с PowerShell 5.0 в Windows 10

-1

Я работал над этой проблемой уже два дня в Powershell на 2012 Server в виртуальной машине, и, наконец, сегодня я нашел сайт с решением. Судя по прочтению сайта, основной причиной проблемы является то, что имена шрифтов имеют двойной пробел в шрифте.

РЕШЕНИЕ. Установите новый шрифт и обновите раздел реестра, чтобы он соответствовал имени, а затем установите свойства окна командной строки Powershell как обычно.

Подробности здесь и все благодаря им :)http://www.bdhphoto.com/script-snippits/windows-powershell-snippits/powershell-font-fix-lucida/

WJDrury, АНГЛИЯ

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .