Fonts in X ohne xorg.conf

Vril

Well-Known Member
Hallo,

irgendwie verstehe ich das mit den Fonts in X (NeuInstallation 11.0)ueberhaupt nicht:-(

also ich habe jetzt u.a. biststream-vera, urw-fonts, webfonts in /usr/local/share/fonts liegen.
Eine local.conf habe ich dort nicht angelegt.

Eine alte xorg.conf nutze ich auch nicht, habe nur fuer die nvidia-Karte unter
/usr/local/etc/X11/xorg.conf.d eine 10-nvidia.conf mit
Code:
Section "Device"
    Identifier     "NVIDIA CARD"
    VendorName     "NVIDIA Corporation"
    Driver        "nvidia"
EndSection

( wenn ich TTF will - wo und wie sage ich denn dann "load freetype"? -

unter X starte ich fluxbox manuell mit der startx - nutze also die .xinitrc

Code:
export LANG=de_DE.UTF-8
xset fp+ /usr/local/share/fonts/bitstream-vera
xset fp+ /usr/local/share/fonts/webfonts
xset fp+ /usr/local/share/fonts/urwfonts
xset fp rehash
# starte rxvt daemon -o beendet daemon mit x-session , settings in .Xdefaults - starten mit urxvtc
/usr/local/bin/urxvtd -o &
.
.
.
exec startfluxbox

Ist das alles so richtig?

gibt es jetzt eine Art globale Font-Einstellung, eine Art default auf den dann alle X Applikationen zugreifen - oder muss ich ueberall in den Einstellungen ( wie z.B. in der .Xdefaults fuers Terminal ) den Font explizit
angeben?

Gibt es (vielleicht in den Ports) ein geniales Tool, dass die installierten Fonts anzeigt, so dass man einen Ueberblick bekommt - und letztendlich auch weiss, welche Schriftart man auswaehlen soll?

Gruesse
 
Hallo Walter,

ich kann jetzt nur von meinen Installationen (xfce4 und kde4) sprechen - und ich habe das auch so mit der 10-nvidia.conf ohne separate xorg.conf:

Wenn ich Schriften installiere, stehen sie einfach so unter X zur Verfügung ohne weiteres händisches Eingreifen, u.z. in diversen Applikationen und auch den Einstellungswerkzeugen von xfce oder kde.

Gibt es (vielleicht in den Ports) ein geniales Tool, dass die installierten Fonts anzeigt, so dass man einen Ueberblick bekommt - und letztendlich auch weiss, welche Schriftart man auswaehlen soll?
Ich kenne nur die Schriftenverwaltung unter den Systemsettings von KDE4 (was Dir wohl kaum weiterhilft, da Du mit Fluxbox arbeiten möchtest), die zeigt Dir das an und lässt Dich auch Schriften entweder User bezogen oder systemweit (dann über Root Passwort) hinzu fügen.

Viele Grüße,
Holger
 

Anhänge

  • systemsettings_kde4.png
    systemsettings_kde4.png
    182,3 KB · Aufrufe: 321
https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/x-fonts.html

den Artikel wirst du sicher kennen. Der beschreibt eigentlich die Grundlagen. Du speicherst die Schriften in einem zugänglichen Verzeichnis, vielleicht auch dort noch in passende Unterverzeichnisse verteilt und führst evtl die folgenden drei Befehle aus. Das muss nicht jedesmal bei Systemstart oder Start von X gemacht werden, sondern nur dann, wenn neue Schriften hinzukommen.
Code:
% xset fp+ /usr/local/share/fonts/urwfonts
% xset fp rehash

# fc-cache -f
X durchforstet selbst beim Start die Verzeichnisse und "lädt" die Fonts.
https://www.math.utah.edu/~beebe/fonts/X-Window-System-fonts.html ist vielleicht etwas veraltet, erklärt dazu aber ein wenig etwas.
https://wiki.archlinux.org/index.php/fonts ist beinahe 1 zu 1 auch auf FreeBSD anwendbar.

Den Befehl, mit dem man sich unter X die Fonts ansehen kann und dann welche aussuchen, kriege ich im Augenblick nicht zusammen. Die Fonts müssen unter Umständen mit ziemlich kryptischen Namen aufgerufen werden, die alle möglichen Eigenschaften enthalten, wie die Größe und ob italic oder normal usw. Das kann man einigermaßen mit der SW sehen, die ich da im Kopf habe. Irgendeines der zahlreichen Pakete, die zu X gehören. Ich komme einfach nicht drauf...
Jedenfalls ist das nur eine Möglichkeit, sich Fonts anzusehen und dann zu entscheiden, welche man nutzen will.
Die Nutzung selbst muss dann für jede Anwendung nach deren Art konfiguriert werden. Mein Fenstermanager etwa ist OpenBox und der macht das in einer Konfigurationsdatei. Manche DEs haben GUIs dafür und wählen womöglich auch Fonts dann irgendwie Systemweit für verschiedene Anwendungen, aber in der Regel musst du das selbst machen, wobei außer Fenster-Texten meist nur noch die Shell interessant ist. Ich sehe bei mir immer Anwendungen, die gar nicht meine Fonts wählen und forsche da nicht weiter nach, denn viele Anwendungen können meine Lieblings-Fonts mitunter nicht (weil sie vielleicht kein UTF können), aber ich bin sicher, dass ich da auch eine eigene Konfigurationsdatei finden müsste, um das zu ändern. Denn, die meisten Anwendungen, die auf bestimmte Fonts angewiesen sind, installieren diese auch gleich mit und binden sie ein.
Programme, in denen du Fonts nutzen möchtest, wie etwa LibreOffice oder GIMP, die integrieren in der Regel alle Fonts aus dem Xorg-Cace und halten sie dann bereit.
 

Exaketelly!
Ich sag's ja, wenn man alt wird...
Dran gewöhnt habe ich mich bis heute nicht, aber immerhin ist es ein guter Anfang, Schriften auch zu betrachten.
Danke.

Nebenbei: selbst im OS-X (wenn man einen optionalen X-Server installiert hat) funktioniert die Geschichte ganz ähnlich. Das ist nämlich alles X-spezifisch. Deshalb kann man sich auch die Informationen aus so vielen verschiedenen Quellen ansehen, denn fast alle benutzen den Xorg-Xserver und sind sich deshalb an der Stelle sehr ähnlich. Das ist ungefähr, wie auch fast jeder LibreOffice benutzt und das ist ja auch ziemlich ähnlich, egal ob mit einem Windows, auf einem OS-X, FreeBSD oder GNU/Linux oder wo auch immer.


% xset fp+ /usr/local/share/fonts/urwfonts
Das habe ich natürlich direkt so aus dem Handbuch kopiert und es soll nur ein Beispiel sein. Da muss dann natürlich der jeweils tatsächliche neue Pfad zu den neuen Schriften stehen. Kopierst du neue Schriften in einen bereits bekannten Ort, brauchst du (wenn ich nicht sehr irre) nur den fc-cache neu einzulesen.
Interessant ist auch die Frage, ob diese Schriften Systemweit oder vielleicht nur für einen bestimmten User gelten sollen. Meist macht man das ja heute Systemweit und ich habe das deshalb auch gar nicht weiter unterschieden. Aber grundsätzlich kann auch ein User seine eigenen Schriften (zusätzlich) haben.
 
Das ist ja beruhigend @pit234a, das ich nicht alleine älter werde.;) Ich habe den ganzen Nachmittag darüber nachgedacht, das es unter X eine Fontanzeige gibt, kam aber nicht mehr drauf. Von Linux kannte ich nämlich xfontsel. Allerdings muß das Paket xfontsel noch nachinstalliert werden. Dann aber hat man schon einen kleinen Überblick.
 
Von Linux kannte ich nämlich xfontsel. Allerdings muß das Paket xfontsel noch nachinstalliert werden. Dann aber hat man schon einen kleinen Überblick.

Bei Open ist das automatisch dabei - mEn gehört das immer mit zum X-Server.

Wobei das nicht das Grundproblem des OP lösen wird: xfonsel zeigt ja nur die Schriften an, die der X-Server kennt. Und der sucht nur in /usr/X11R6/lib/X11/fonts/...
andere Verzeichnisse(Ghostscript z.B) muß man ihm zum Start bekannt machen - und das machten wir in seeligen Zeiten mit der xorg.conf, die aber heute keiner mehr anlegt...

Wie lautet also die Variante für die xorg.conf.d?


:confused:
 
Gut wie hier bereits schon gepostet, bringen die großen Desktop Systeme eigene Fontmanager mit. Bei KDE kann auf die Schnelle im Dolphin mit F6 die Adresszeile eingeblendet werden, in die dann fonts: eingegeben wird. Dann öffnet man den Ordner System, dort werden alle installierten Fonts sichtbar. Wird auf eine Fontdatei geklickt, öffnet sich ein Schriftartenbetrachter. Unter Einfachen Windowmanagern befindet sich zumindest standardmäßig kein Fontmanager. Um einzelnen Programmen einen Font zuzuweisen wie einem Terminal, muß das natürlich explizit konfiguriert werden. Font die zusätzlich installiert werden, werden dann einfach in die entsprechenden Ordner kopiert und der Pfad in die xorg.conf eingetragen, damit er auch beim nächsten Rechnerneustart gefunden wird und allen Anwendungen zur Verfügung steht. So kenne ich das. Hab das jetzt in keinem Handbuch nachgelesen, sondern aus der Erinnerung geschrieben.
 
xfontsel ist wirklich nur zum Anzeigen einer Schrift, die man dann vielleicht wählen möchte und zum Betrachten der jeweiligen Eigenschaften, die man einer Schrift zuweisen kann. Es ist ein umständliches Werkzeug, muss bei FreeBSD tatsächlich extra installiert werden (x11-fonts/xfontsel) (was ich auch anders in Erinnerung hatte) und löst ansonsten keine Probleme. Dass es nicht mal alle Schriften im System anzeigt, ist mir bisher gar nicht aufgefallen. Ich habe einfach zu viele installiert und deshalb ist das schon unübersichtlich.

Nunja, ich kann da auch nicht wirklich mitreden, weil ich immer noch eine xorg.conf nutze und das auch viel praktischer finde, als diesen neumodischen Gedöns ohne xorg.conf. Nun sind ja aber doch beide Methoden ziemlich gleich, zumindest in der Funktion identisch. Deshalb behaupte ich mal, dass es dieser Einträge von Pfaden zu Fonts nicht bedarf, ich habe sie nämlich auch nicht gemacht.
X findet trotzdem beim Start klassische Fonts, wie die Xorg.0.log zeigt:
Code:
(==) FontPath set to:
	/usr/local/share/fonts/misc/,
	/usr/local/share/fonts/TTF/,
	/usr/local/share/fonts/OTF/,
	/usr/local/share/fonts/Type1/,
	/usr/local/share/fonts/100dpi/,
	/usr/local/share/fonts/75dpi/
Nun habe ich aber eine ganze Reihe von Fonts in meinem ~/.fonts Verzeichnis liegen und diese habe ich wie oben beschrieben irgendwann nach der Installation meinem System bekannt gemacht. Deshalb sind diese Fonts auch mit fc-list aufgelistet. Also, unabhängig von dem, was da an Pfaden in einer xorg.conf eingetragen ist.
Deshalb vermute ich, dass diese Pfadangaben quasi obsolet sind und der Weg über das hinzufügen der neuen Fonts durch xset und Angabe der Pfade mit anschließendem Neubau des fc-caches genügt. Ich glaube, dass wohl die meisten Programme sich heute des fontconfig-Satzes bedienen, wenn ich das mal so ausdrücken will.

Dies alles hilft natürlich nicht dabei, die passenden Schriften auch den gewünschten Anwendungen zuzuweisen.
Bei mir startet etwa
/usr/local/bin/osd_clock -o 1060 -t -c orange -f "-b&h-lucida-medium-i-normal-sans-14" -s 1 -F 'Tag %j, KW %V, %a, %d.%m.%Y %X' &
eine osd-clock immer an einer gewünschten Position auf dem Bildschirm, mit einer Schrift, die ich mir mit xfontsel mal ausgesucht hatte. Ähnlich rufe ich etwa urxvt auf, wenn ich einen bestimmten Font sehen will. Manchmal ist es ziemlich schwierig zu sehen, welcher Font sich eingestellt hat und manchmal sehe ich gar keinen Unterschied. Das ist ein grund, weshalb ich da nie gründlich nachgeforscht habe und nicht genau weiß, welche Schriften wie denn noch erzwungen werden könnten, also Schriften, die mit xfontsel dann gar nicht dargestellt werden.
Bei urxvt ist es gerade ein gutes Beispiel, denn außer dem direkten Aufruf mit einer bestimmten Schrift, kann man da auch eine grundlegende Konfiguration festlegen.
Das wiederum ist bei vielen Programmen so und leider nicht einheitlich.

Bei OpenBox sagte ich schon, dass die Schriften für die Fenster in einer Konfigurationsdatei gesetzt werden können (~/.config/openbox/rc.xml), aber das ist auch wieder ein gutes Beispiel, denn es gibt auch x11-wm/obconf als GUI dazu. Mit obconf kann grafisch einiges eingestellt werden, so auch die Schriften der Fenster, was dann automatisch passende Einträge in der rc.xml erzeugt.
Auch der Dialog innerhalb von obconf greift auf die font-Liste zu, also so, wie LibreOffice und GIMP.

Mir ist nicht klar, woran ich erkenne, wann welches Programm was braucht. Bisher komme ich da nur mit Versuch und Irrtum weiter.
Wie oben gezeigt, kann ich nur mit einem solchen Aufruf eine Schrift in passender Größe und Erscheinung der osd-clock zuweisen. Wenn ich dort einfach "arialbd" (eine Schrift aus meinem ~/.fonts, arial-bold) schreibe, funktioniert das nicht. Manchmal scheint sich das Ergebnis zu ändern, also eine andere Schrift als die Default zu zeigen, aber zuverlässig gelang es mir nur solche Fonts zu verwenden, die ich zuvor mit xfontsel ermittelt hatte. Laut man-page ist das aber nur eine Untermenge aller installierten Fonts. Das gilt auch für xterm oder andere Programme.

xmms ist nun wieder so ein Programm, das offenbar auch nicht auf den font-cache zugreift, sondern genau die gleichen Schriften vorschlägt, wie xfontsel. Allerdings braucht man da nicht erst mit xfontsel zu suchen, sondern xmms bietet eine eigene GUI und generiert aus der Auswahl einen passenden String für die gewünschte Schrift, die dann in Playliste oder Hauptfenster zum Einsatz kommt. Das beeinflusst aber nicht die Fenster-Schrift, also die Schrift für die Menüs. So stellt xmms bei mir Umlaute nicht bzw falsch dar. Es wird eindeutig nicht mein Setup aus OpenBox übernommen und ich habe mir auch nicht die Mühe gemacht und gesucht, wo xmms seine Schrift herholt und welche das ist oder ob ich das ändern kann. xmms kommt auch nicht in meinem gewünschten WIndows-Setup, hat also keinen Rahmen in meiner Farbe etc. Er fügt sich also nicht in mein gewünschtes Design, auch nicht bei den Schriften.

Deshalb fürchte ich, das Thema ist nicht so einfach zu überblicken und war froh, wenn viele GTK und QT Anwendungen, LibreOffice und andere meine Fonts (vor allem die zusätzlich installierten) finden und nutzen konnten. Die Details verstehen, wollte ich mir bisher nicht antun.

Ein weiteres Programm, in dem Desktopweit eine Schrift gesetzt werden kann, ist lxappearance (x11-themes/lxappearance). Es ist eigentlich ein Theme-Manager vom LXDE-Desktop, aber sobald man sich für eine Theme-Engine entschieden hat, kann man damit auch einige Einstellungen einfach vornehmen.

Das hängt alles von vielen Entscheidungen ab, die man selbst treffen mag, wenn man einen eigenen Desktop baut (etwa mit fluxbox).
Neben dem Forum hier ist mir persönlich das Ubuntu-Wiki dabei eine gute Hilfe gewesen. Aber ich hatte auch Glück und setzte auf OpenBox und dafür gibt es einfache und ausreichende Dokumentation mit Beispielen im Netz. Das lässt einen relativ schnell voran kommen.
 
Oha ... so ein "grosses Fass" wollte ich nun wegen der Suche nach ner schoenen Schriftart gar nicht oeffnen.,

Klar, solche Fragen -bzw. die Zeit die man damit verbraucht- eruebrigen sich, wenn man KDE, Gnome usw. nutzt und sind auf jeden
Fall ein dicker Pluspunkt fuer die Desktop Environments, bei der Frage ob man nun ein so komplexes System unter X nutzen will oder
ob man es minimalistischer mit Fluxbox, Openbox, I3 oder Herbstluftwm angehen will.

Xfontsel ist natuerlich sehr rudimentaer und auch steinalt. Die man-Page von xfontsel deutet auf einen
Autor von DEC hin, der beim Athena Projekt des MIT mitgearbeitet hat...

OT:
( ... und laesst sich somit in die
Zeit-Aera der spaeten 80er einnorden - also eine Zeit, in der z.B. unsere heutige Bundeskanzlerin noch
mit blauer FDJ-Bluse "Freundschaft", "Frieden" und "Solidaritaet" kreischend in die "siegreiche Sowjetunion"
delegiert wurde - um sich auf den weltweiten Sieg des Sozialismus vorzubereiten)



 
Xfontsel ist natuerlich sehr rudimentaer und auch steinalt. Die man-Page von xfontsel deutet auf einen
Autor von DEC hin, der beim Athena Projekt des MIT mitgearbeitet hat...

Irgendwann mußte ja mal einer damit anfangen - sei froh, daß er es gemacht hat, sonst hättest Du jetzt gar nichts!


:belehren:
 
Zurück
Oben