Czy mogę zmienić czcionkę konsoli tekstowej?

36

Mam system operacyjny typu Unix zainstalowany bez środowiska okienkowego; tzn. tylko konsola tekstowa i brak GUI.

Czy można zmienić czcionkę używaną przez konsolę?

Dla jasności nie mówię o emulatorze terminali, który jest dostarczany ze środowiskiem graficznym takim jak KDE lub GNOME.

Jian Weihang
źródło
@Blender - witaj od 2019 roku! Ten zasób najwyraźniej się tu przeniósł: wiki.archlinux.org/index.php/Linux_console#Fonts
TheDudeAbides

Odpowiedzi:

39

Jeśli używasz konsoli Linux, najlepszym sposobem, jaki znalazłem, jest:

w

/etc/default/console-setup

na przykład

CHARMAP="UTF-8"
CODESET="Lat7"
FONTFACE="Terminus"
FONTSIZE="28x14"

Innym sposobem jest użycie setfontz kbdpakietu:

setfont /usr/share/consolefonts/Lat7-Terminus28x14.psf

Działa to dla mojego Debiana; może być dla ciebie inaczej.

W Debianie możesz także uruchomić, dpkg-reconfigure -plow console-setupaby zostać poproszony o podanie różnych ustawień konsoli i wybranie ich z menu.

Edycja - Złożyłem małą stronę, jak ustawić kolory czcionek . W sekcji dotyczącej tego postu znajduje się nagłówek „Linux VTs” (= ttys lub „console”).

Emanuel Berg
źródło
10
Rozmiary czcionek według dpkg-configure console-setup: 6x12, 8x14, 8x16, 10x20, 11x22, 12x24, 14x28 i 16x32.
Casey Watson,
1
Musiałem zrestartować, aby to
zadziałało
Użyłem dpkg-reconfigure console-setuprozwiązania i po dokonaniu wyboru opcji czcionek zmodyfikowałem je /etc/default/console-setupi uruchomiłem update-initramfs(przypuszczam, że z -uopcją). Jednak twoja odpowiedź nie wspomina o uruchomieniu update-initramfs. Czy to konieczne?
Alexey,
8

Jeśli chcesz użyć prawie dowolnej czcionki zgodnej z X, powinieneś rzucić okiem na pracę Davida Herrmana kmscon. Nazwa nieco przeczy projektowi, ponieważ ustawienie trybu jądra nie jest wymagane do jego działania - działa również z urządzeniami buforującymi ramkę - na przykład, jeśli używasz zastrzeżonych sterowników wyświetlania AMD lub NVIDIA. Dzięki temu kmsconmasz zarządzanie wieloma sesjami, xtermtakie jak obsługa klawiatury i czcionek UTF-8 oraz kontrola sesji. Zmianę czcionki można wykonać za pomocą opcji /etc/kmscon/kmscon.conflub wiersza polecenia.

mikeserv
źródło
6

/etc/default/console-setupi in. zostały zastąpione w systemowych systemach operacyjnych, chociaż okaże się, że niektóre systemy operacyjne, takie jak Debian, starają się zachować starszy system konfiguracji.

Sposobem na to w systemowym systemie operacyjnym jest edycja ustawień czcionek w /etc/vconsole.confpliku. Te ustawienia są stosowane przez systemd-vconsole-setupusługę, która jest w zasadzie chwalebnym sposobem działania setfonti loadkeysprzed uruchomieniem usług logowania.

Miałbyś FONT=Uni2-Terminus28x14na przykład w tym pliku.

Zauważ, że program serwisowy pozwala na opcje wiersza poleceń jądra, takie jak vconsole.fontzastąpienie /etc/vconsole.confzawartości. Jeśli robisz zakupy z opcjami wiersza polecenia jądra GRUB, pamiętaj o tym.

Dalsza lektura

JdeBP
źródło
Problem z tym podejściem polega na tym, że jest on systemdspecyficzny i zmienia domyślną wartość dla wszystkich użytkowników.
fpmurphy,
1

Korzystając z Ubuntu 16.04 (prawdopodobnie działa we wszystkich obsługiwanych wersjach), edytowałem ~/.bashrci tuż przed powitaniem terminala na końcu pliku wstawiłem setfontpolecenie:

# Set font when running in console
/bin/setfont /usr/share/consolefonts/Lat2-Terminus32x16.psf.gz    

# Splash Calendar and time
now

# ASCII Linux distribution display
screenfetch

Teraz po wybraniu Ctrl+ Alt+ F1do Ctrl+ Alt+ F6i uzyskaj ładne duże czcionki.

To największa dostępna czcionka i możesz zobaczyć pełną listę z lspoleceniem:

$ ls /usr/share/consolefonts
Arabic-Fixed15.psf.gz             Lat15-Terminus20x10.psf.gz
Arabic-Fixed16.psf.gz             Lat15-Terminus22x11.psf.gz
Arabic-VGA14.psf.gz               Lat15-Terminus24x12.psf.gz
    (... SNIP ...)
Lat15-Terminus14.psf.gz           Vietnamese-Fixed16.psf.gz
Lat15-Terminus16.psf.gz           Vietnamese-Fixed18.psf.gz

Przykładowy ekran

Jest to faks, a nie prawdziwe przechwytywanie ekranu z konsoli, gdzie ekran jest szerszy o 20%, a tło jest czarne:

Przykładowe czcionki konsoli

Przed zmianami nie mogłem odczytać ekranu na monitorze HDPI.

WinEunuuchs2Unix
źródło
-2

W terminalu Linux Mint 18.1:

  1. Kliknij prawym przyciskiem myszy w dowolnym miejscu czarnej przestrzeni.
  2. Wybierz „profile”, „preferencje profilu”.
  3. Umieść tik w polu „niestandardowa czcionka”.
  4. Kliknij duże pole próbki tekstu obok niego.
  5. Wybierz dowolny rozmiar i typ czcionki.

Zmiany pojawią się natychmiast.

Nigdy nie jest za stary na naukę
źródło
2
Myślę, że pytanie dotyczy konsoli Linux ( tty1- tty8).
Alexey,
Widziałeś słowa without desktop@Never Too Old To Learn?
Alamin