Dlaczego uruchomienie programu PowerShell zmienia czcionkę konsoli?


16

Mam dziwny problem na laptopie - kiedy uruchamiam Powershell w istniejącym oknie konsoli, wybór czcionek w oknie się zmienia.

Na przykład jest to cmd.exe natychmiast po otwarciu okna: konsola poleceń po otwarciu

Użyte czcionki, rozmiar okna i kolory są prawidłowe - czcionka to Lucida Console w 16pt.

Następnie uruchamiam PowerShelli to jest wynik:

wprowadź opis zdjęcia tutaj

Czcionka zmieniła się na „Raster Font” o wymiarach 12 x 16 pikseli! Pozostałe właściwości okna - kolory, liczba wierszy, liczba kolumn - pozostają niezmienione.

Wiesz, dlaczego to się zmienia?

Uwaga: podczas badania tego - ponieważ czcionka rastrowa jest strasznie brzydka i mnie wkurza - znalazłem innych zgłaszających problemy z ustawieniem czcionki w oknie konsoli PowerShell (np. Pytanie „ Nie można zmienić domyślnej czcionki PowerShell na konsolę Lucida ”). Chociaż mój problem jest inny (ponieważ uruchamiam PowerShell z istniejącego okna konsoli, a nie z ekranu startowego), podejrzewam, że rozwiązanie dla jednego może pomóc drugiemu.


Możesz użyć ConEmu i całkowicie uniknąć problemu.
dangph

@ChrisLively ah Nie zdawałem sobie sprawy, że odpowiedź została opublikowana tylko dzisiaj. Z jakiegoś powodu myślałem, że jest znacznie starszy. usunę mój komentarz.
barlop

Odpowiedzi:


2

Miałem dokładnie ten sam problem i doprowadzało mnie to do szału. Oto, co zrobiłem, aby to poprawić, mam nadzieję, że zadziała również dla Ciebie:

1.) W programie cmd.exe uruchom polecenie powershell.

2.) W wierszu polecenia powershell w cmd.exe przejdź do ustawień i zmień czcionkę na Lucida Console.

3.) Wyjdź z monitu PowerShell i będąc jeszcze w cmd.exe przejdź do ustawień i zmień czcionkę na Lucida Console.

4.) Jako dodatkowy krok dla dobrego pomiaru uruchomiłem program start powershellcmd.exe i tam też zmieniłem czcionkę.

5.) Uśmiechnij się teraz, gdy mój OCD jest w stanie odpocząć. Teraz, gdy idę do start-> run-> cmd.exe i używam polecenia powershell, pozostaje on w Lucida Console.

Ponownie uruchomiłem komputer i ponownie otworzyłem wszystko, a jak dotąd wydaje mi się, że się trzymam.

Mam nadzieję, że to pomoże ci w twoim zadaniu =)


1
Bardzo dziękuję za sugestię - ale to nie miało znaczenia na moim laptopie. :-(
Bevan

2

To jest FYI przynajmniej na wypadek, gdyby pomógł komukolwiek w szybkim rozwiązaniu. To może nie odpowiedzieć DLACZEGO, ale daje sposób, aby potencjalnie naprawić lub naprawić szybkie przejście do przodu, jeśli lub w razie potrzeby.

Przejdź do TechNet SetConsoleFont i zobacz tam szczegółowe informacje, a następnie postępuj zgodnie z instrukcjami poniżej i spójrz również na sekcję zasobów poniżej.

W tym miejscu pojawia się moduł SetConsoleFont. Przed użyciem polecenia cmdlet Set-ConsoleFont należy zaimportować moduł. Najpierw skopiuj moduł do lokalnego edytora. Zauważ, że kiedy skopiowałem tekst, ostatni wiersz miał niechciany podział linii. Upewnij się, że ostatni wiersz modułu wygląda następująco:

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

Następnie musisz zapisać plik w folderze modułu. Dzięki $ env: PSModulePath na konsoli PowerShell możesz uzyskać listę folderów modułów. Na przykład można przechowywać moduł SetConsoleFont w folderze modułu PowerShell w katalogu Dokumenty, używając nazwy pliku SetConsoleFont.psm1, w następujący sposób:

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

Następnie możesz zaimportować moduł za pomocą:

Import-Module SetConsoleFont

Teraz możesz uzyskać listę dostępnych czcionek i ich wymiarów za pomocą:

Get-ConsoleFontInfo | Format-Table -AutoSize

Aby ustawić rozmiar czcionki, musisz wybrać liczbę z kolumny nFont:

Set-ConsoleFont 8

Aby zmienić rozmiar czcionki na domyślny, możesz uruchomić Set-ConsoleFont bez argumentu

ZASOBY

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.