Seite 1 von 1

[gelöst] tty Konsole. Schriftart & Schriftgröße auslesen.

Verfasst: 6. Jan 2018, 19:04
von Heinz-Peter
Hallo,

ich möchte die Schrift in der virtuellen Konsole (die man mit STRG+ALT+F1 (F2 usw...) öffnet) ermitteln.
Mich interessiert die Schriftart und die Schriftgrösse meiner tty Konsole.
Es handelt sich um die alte openSUSE 13.2

Danke im Voraus für Eure Hilfe

Heinz-Peter

Re: tty Konsole. Schriftart & Schriftgröße auslesen.

Verfasst: 6. Jan 2018, 23:18
von abgdf
Öhm, ich vermute, das sind Fonts aus dem BIOS (oder was man da heute hat, ich hab' noch ein BIOS):

https://int10h.org/oldschool-pc-fonts/fontlist/
https://superuser.com/questions/329027/ ... o-get-them

Die Schriftgröße dürfte von der Boot-Zeile in Grub2 abhängen, da irgendwas mit "video=640x480" (so bei mir, ja, ich boote in Standard-VGA :p) (siehe u.a. auch "/etc/sysconfig/bootloader").

-----
Für normale Terminals unter X (also nicht 'Strg+Alt+F1') wie xterm kann man das beim jeweiligen Start einstellen:

Code: Alles auswählen

xterm +sb -font '-*-terminus-*-*-*-*-28-*-*-*-*-*-*-*' -fg white -bg black
Der Terminus-Font ist ziemlich cool. Ist auch bei 13.2 dabei (muß man wahrscheinlich noch das rpm installieren). "xfontsel" hilft einem, die korrekte Zeile zu finden.
Natürlich gibt man die Zeile oben so nicht ein, sondern legt sich das auf einen Shortcut (oder macht zumindest ein alias).

Re: tty Konsole. Schriftart & Schriftgröße auslesen.

Verfasst: 7. Jan 2018, 00:16
von josef-wien

Re: tty Konsole. Schriftart & Schriftgröße auslesen.

Verfasst: 7. Jan 2018, 01:07
von susejunky
Hallo Heinz-Peter,
Heinz-Peter hat geschrieben:
6. Jan 2018, 19:04
... ich möchte die Schrift in der virtuellen Konsole (die man mit STRG+ALT+F1 (F2 usw...) öffnet) ermitteln.
Vorab: Ich nutze openSUSE 42.3 und kenne kein Programm, mit dem man sich anzeigen lassen kann, welcher Font aktuell in einer virtuellen Konsole eingestellt ist.

Trotzdem hier ein paar Informationen, die Dir ggf. weiterhelfen:
  • Unter "/usr/share/kbd/consolefonts" sind die Fonts abgelegt, die in der/n virtuellen Konsole(n) eingesetzt werden können.
  • "systemd-vconsole-setup.service" initialisiert beim Systemstart die virtuelle(n) Konsole(n). Es setzt mit Hilfe von "setfont" den in der Datei "/etc/vconsole.conf" mit "FONT=Fontname" festgelegten Font (für alle virtuellen Konsolen gleich).
  • Wenn beim Systemstart in der Kernel-Befehlszeile der Parameter "vconsole.font=Fontname" übergeben wird, so überschreibt das die Einstellung in "/etc/vconsole.conf".
  • Ist die Datei "/etc/vconsole.conf" nicht vorhanden oder enthält keine Einstellung "FONT=Fontname", dann kommt die Einstellung "CONSOLE_FONT=fontname" aus "/etc/sysconfig/console" zur Anwendung.
  • Wird "setfont" in einer virtuellen Konsole aufgerufen, so verändert es nur den Font dieser Konsole.
  • Wird "setfont" ohne Fontname aufgerufen, dann wird der Font "default" geladen.
Ob das Alles für openSUSE 13.2 auch zutrifft, kann ich allerdings nicht sagen. Eventuell helfen Dir
  • man systemd-vconsole-setup.service
  • man vconsole.conf
  • man setfont
weiter.

Viele Grüße

susejunky

Re: tty Konsole. Schriftart & Schriftgröße auslesen.

Verfasst: 7. Jan 2018, 14:22
von robi
Es gibt wohl keine einfache Möglichkeit herauszufinden aus welcher Datei die Fonts geladen wurden.
Das liegt daran das das Format dieser Dateien auf einfaches PBM-Format beruht und beim laden einfach in eine entsprechende Struktur eingelesen wird. Diese Fonts haben intern keinen Namen der Inhalt der Datei besteht im wesentlichen nur aus einer Anzahl von Bildern (128 oder 256) welche eine bestimmte Pixelgröße haben X * Y haben. Aus welcher Datei dieses mal geladen wurde ist vollkommen uninteressant, Dateinamen sind wie Schall und Rauch.

Welche Größe der aktuelle Font hat, ist dagegen einfach zu ermitteln

Code: Alles auswählen

lux001:~ # showconsolefont -i -v -C /dev/tty2
Character count: 256
Font width     : 8
Font height    : 16
Normalerweise wird default....... geladen , eventuell auch was irgendwo konfiguriert ist zB in /etc/sysconfig/console
CONSOLE_FONT=
Wenn das aber später vom User geändert wird, ist es fast unmöglich festzustellen von welcher Datei das geladen wurde.
Fast unmöglich desshalb, weil nichts wirklich ganz unmöglich ist.

du kannst versuchen zB mit

Code: Alles auswählen

setfont -o dateiname 
den aktuellen Font als Datei zu speichern und dann diese Datei mit den auf dem Rechner vorhandenen Consolefonts zu vergleichen. Leider muss die so erzeugte Datei nicht in der gesamten Größe 100% gleich sein, mit den Dateien die unter /usr/share/kbd/consolefonts rumliegen, der Kopf und das Ende der Datei kann durchaus entsprechend kürzer oder länger sein. Die Daten der PBM-Font-Bilder und derene Reihenfolge sind aber gleich wenn du sie mit die richtige Datei vergleichst.

Um sowas zu vergleichen müsste man sich entweder die unterschiedlich möglichen Dateiformate genauer anschauen und entsprechend ein Script dann so schreiben, dass es nur die reinen Bilddaten vergleicht. oder man versucht es mit heuristischen Methoden die Datei mit den Dateien aus dem Fontsverzeichnis zu vergleichen.

Ich würde zB mal versuchen die Anzahl der Übereinstimmungen der Ausgaben von "strings DATEI | head -40" mit den Ausgaben von "zcat DATEI.gz | strings | head -40" aus dem Fontsverzeichnis zu ermitteln. Ich denke wenn man dort ein bisschen experimentiert und anpasst, müsste sowas durchaus gehen.

robi

Re: tty Konsole. Schriftart & Schriftgröße auslesen.

Verfasst: 21. Jan 2018, 19:46
von Heinz-Peter
Hallo,

möchte mich bei Euch bedanken. Dank Euren Tipps konnte ich mein Luxus Problem lösen.

Grüße Heinz-Peter