Linux-Kleinigkeiten

Mir selbst und anderen will ich hier Lösungen von Linuxproblemen dokumentieren. Alles bezieht sich auf SuSE, 9.2 .. derzeit 9.3






couldn't open fontconfigs chosen font with Xft!!!

Von einem Tag auf den anderen starteten Acrobat-Reader und Firefox nicht mehr. (Hab im Internet gelesen, dass dies auch Opera betreffen kann). Rief man diese Programme in einem Terminalfenster auf, so erhielt man obige Meldung. Alles klappte aber richtig, wenn man sich als root anmeldete. Muss also ein Rechteproblem sein, aber wo stecken die entsprechenden Dateien?

Ich hab gegoogelt, und dabei zu diesem Thema nur Anfragen gefunden (auch auf italienisch...), aber keine Lösungen. Daraufhin hab ich den kostenpflichtigen Support von SuSE angerufen. Die  Supporter empfahlen mir als erstes, einen neuen Benutzer anzulegen. Wenn der die Programme hätten starten können, dann hätte es an den Dateien unter /home/.fonts gelegen. Ging aber nicht.

Wo die Dateien seien, deren Rechte falsch gesetzt waren, konnte mir so schnell auch niemand sagen. Stattdessen empfahl man mir, den Output von strace acroread anzusehen. Das hat letztlich geholfen, dort konnte ich erkennen, dass die ttf-Dateien unter /usr/local/share/fonts/truetype nicht geladen werden konnten.
Tatsächlich, diese Dateien hatten nur Leserechte für den Besitzer Root. Also hab ich ihnen Leserechte für alle gegeben, und damit war das Problem behoben.

Das Ganze noch einmal detaillierter:


Problembeschreibung:
beim Aufruf von Acrobatreader auf der Konsole: Ebenso beim  Aufruf von firefox
couldn't open fontconfigs chosen font with Xft!!!
couldn't open fontconfigs chosen font with Xft!!!
couldn't open fontconfigs chosen font with Xft!!!
couldn't open fontconfigs chosen font with Xft!!!

** (acroread:5969): WARNING **: Cannot open font file for font Arial 10

** (acroread:5969): WARNING **: Cannot open fallback font, nothing to do
couldn't open fontconfigs chosen font with Xft!!!
couldn't open fontconfigs chosen font with Xft!!!
couldn't open fontconfigs chosen font with Xft!!!
couldn't open fontconfigs chosen font with Xft!!!
Speicherzugriffsfehler

Diagnose:
Was ich unternommen habe:
1) Das Problem taucht nicht auf, wenn ich mich als root anmelde. (Das hatte auch auf einer der gegoogelten Seiten gestanden)
2) Es taucht aber auf, wenn ich einen neuen Benutzer anlege, muss also mit Rechten zu tun haben, und nicht mit irgendwelchen dateien im home-Verzeichnis des Benutzers.
3) Es bleibt auch bestehen, wenn ich im Yast unter Sicherheit und Benutzer statt Benutzerdefiniert den Level 1 (Workstation ohne Netz) einstelle.

strace acroread führte zu einer Menge output in einem Konsolenfenster, aber dann war der kde abgestürzt.

mit  strace -o filename acroread  ging es, der kde inklusive Konsolenfenster blieb am Leben.

Die entscheidenden Zeilen des sehr langen strace-Outputs:
open("/usr/local/share/fonts//truetype/arial.ttf", O_RDONLY) = -1 EACCES (Permission denied)
write(2, "couldn\'t open fontconfigs chosen"..., 50) = 50
open("/usr/local/share/fonts//truetype/arial.ttf", O_RDONLY) = -1 EACCES (Permission denied)
write(2, "couldn\'t open fontconfigs chosen"..., 50) = 50
open("/usr/local/share/fonts//truetype/arialbd.ttf", O_RDONLY) = -1 EACCES (Permission denied)
write(2, "couldn\'t open fontconfigs chosen"..., 50) = 50
open("/usr/local/share/fonts//truetype/arialbd.ttf", O_RDONLY) = -1 EACCES (Permission denied)
write(2, "couldn\'t open fontconfigs chosen"..., 50) = 50

Lösung:
Hier erkennt man, dass die *.ttf  Dateien  im Verzeichnis /usr/local/share/fonts//truetype/ nicht geladen werden konnten. Im Konqueror (oder mc) kann man nun die Rechte der Dateien  ansehen und ändern. Das hat bei mir geholfen.

Bleibende Frage:
Wodurch wurden die Rechte umgebogen? Eigentlich kommen nur zwei Aktionen in den entsprechenden Tagen in Frage, denn sonst hab ich mich ganz sicher nicht irgendwo außerhalb meines Homeverzeichnisses bewegt:
  1. Ich habe von der ct-Software-cd den html-Editor NVU (Mozilla) installiert. Diese Installation, gestartet von der htm-Seite der CD, rief ihrerseits den Yast auf (was mich wunderte), es lief alles anscheinend wie gewohnt. Anschließend konnte ich den NVU auch starten, aber wenn ich einen Menupunkt anwählte, z.B. Datei Oeffnen, dann stürzte er ab.  (Nun, nach obriger Rechtereparatur läuft er ok, diese Seite ist mit dem NVU erstellt.
  2. Ich habe unter Windows XP von der Ct-Software-CD das Programm für den Zugriff auf die EXT3-Partitionen installiert. Bei der Installation muss man den Partitionen Laufwerksbuchstaben zuordnen. Es wurden mir 3 Ext3-Partitionen geboten. Da ich nicht wusste, welche davon meine /home-Partition war, hab ich allen dreien zunächst einen Laufwerksbuchstaben zugeordnet. Anschließend konnte ich diese "Laufwerke" tatsächlich in der Arbeitsumgebung öffnen, und so mein Homeverzeichnis identifizieren. Daraufhin hab ich die Installation noch einmal laufen lassen, denn anscheinend kommt man nur so an die Laufwerkszuordnung heran, und hab für die nicht-/home-Partitionen die Zuordnung rückgängig gemacht.  Als später der Virenscanner startete (Kaperski), hat er tatsächlich auch begonnen, das /home-Verzeichnis zu scannen. Das hab ich dann abgebrochen.
Natürlich kann ich mir bei beiden Aktionen kaum vorstellen, wodurch die falsche Rechtevergabe zustande kam, aber es muss dabei geschehen sein.

top

Retten der EMails bei Neuinstallation


Zwar bin ich dazu übergegangen, halbjährlich mein SuSE-Linux upzudaten, aber beim letzten Update auf 9.3 hab ich versehentlich das ACPI nicht abgestellt. Wie gewohnt, nach längerer Arbeit am Rechner hängt Linux total. Nur Neustart mit Knopfdruck möglich,- und danach startete der KDE nicht mehr. Ich hab dann versucht, das Update neulaufen zu lassen, und was weiß ich, irgendwann sagte mir der SuSE-Support: Das ist so ein Durcheinander, installieren Sie neu. Bei der letzten Neuinstallation hatte ich aber eine Menge E-Mails verloren. Jetzt weiß ich, wie es gegangen wäre:

1) Den alten Mailordner vor der Neuinstallation irgendwo speichern.
 Problem: Wo ist der denn? Bis SuSE 9.1 war der Ordner Mail im Homeverzeichnis. (Bei meiner jetzigen 9.3 Neuinstallation ist er unterm Homeverzeichnis in .kde/share.apps/kmail oder so (Der SuSE-Supporter wollte mir partout nicht glauben, dass bei meiner Hyperstandardinstallation der Mailordner nicht in /home/ich läge, er hat mich fast angeschriehen. Aber dann doch den guten Vorschlag gehabt, in KMail einen Ordner anzulegen,. und dann nach diesem ZU suchen. Soi hab ich obigen Pfad herausgefunden).

2) Jetzt kommt das Entscheidende: KMail kennt zwei Arten von Mailordnern: MBox und MailDir.
a) Die Maildir sind unproblematisch, sie erschienen auch als Unterordner im Dateisystem (und haben ihrerseits Unterordner cur, new und tmp). Diese Ordner kann man nach der Neuinstallation einfach in das neue Mailverzeichnis kopieren.
b) Meine älteren Ordner in KMail waren aber anscheinend mbox-Ordner.  Diese sind im Verzeichnissystem nicht als Ordner, sondern als dateien. Im Kde-Konquror werden diese Dateien mit einem kleinen a drauf angezeigt, als Typ wird E-Mail angegeben. Diese dateien in das neue Mailverzeichnis kopieren bringt leider nichts. Ich bin so vorgegangen:
In KMail hab ich diese Ordner im Menupunkt Etras-Import reingezogen: Dort kann mann den Typ der zu importioerenden Mails angeben: Wähle mbox und navigiere zum gesicherten Mailverzeichnis. Dort müsste man nun die alten MBox-Ordner angeboten bekommen. Man mehrere auf einmal selektieren und importieren.
In Kmail erschienen diese Ordner bei mir mit einem mbox davor, also der Ordner bw7 wurde zu mbox-bw7.
Das ist nicht so schön. Ich hab dann in KMail einen neuen MailDir-Ordner bw7 angelegt, und alle Mails von Mbox-bw7 dorthin verschoben. Sie sind nach dem Import übrigens als ungelesen markiert. Wenn man mit Ctrl-A alle markiert, kann man im Kontexmenu unter Nachricht-markieren sie als gelesen markieren. Den Mbox-Ordner MBox-bw7 hab ich dann gelöscht.
top

Umstellung auf UTF8

Erst mal muss ich meckern: Da hat man ein seit Jahren irgendwie funktionierendes System, und dann auf einmal nach einem Update klappen die wichtigsten Programme nicht mehr:  Etwa beim Übergang auf SuSE 9.2 taten es acrobat und xfig nicht mehr, und latex kannte keine Umlaute mehr. Zwar läuft die ganze Installation von Version zu Version immer reibungsloser, aber was nicht KDE und sonst irgendwie WindowsKlon ist, wird bei den neuen Versionen anscheinend weniger gepflegt. Im Internet fand ich dann, dass es an der UTF-Kodierung liegen müsse.
a) Utf-8 Einstellung im Yast:
Man kann im Yast2 unter Sprache rechts oben ein Kästchen anklicken, und kommt kann ich eine Maske, in der man das UTF abstellen kann. Ich traue mich aber nicht so recht, ich muss befürchten, dass mittlerweile das System immer mehr darauf abgestellt ist.

b) UTF-8 für einzelne Programme abstellen:
Für einzelne Programme kann man aber UFT abstellen. So konnte xFig wieder Dateien exportieren, nachdem ich eine (ausführbare) Datei myXfig angelegt hatte mit dem Inhalt
export LC_NUMERIC="en_GB.iso885915"
xfig
  Dem Startknopf von xFig in meinem KDE hab ich unter Eigenschaften (rechte Maustaste) als Programmaufruf diese Datei myxFig unterschoben. Den Trick fand ich per Google in der SuSE-Mailingliste. Der obige Befehl lässt übrigens die UTF-Kodierung bestehen, aber macht irgendwas mit dem Zahlenformat.

Gute Informationen zu den Sparch- und Kodierungseinstellungen:
http://www.suse.de/~mfabian/suse-cjk/locales.html
http://www.gentoo.de/main/de/presentations/UTF-8.pdf
Diesen beiden Seiten entnehme ich, dass man in eine Datei, die wie oben das myXfig zum Starten eines Programmes ohne UTF-8 Kodierung schreiben müsste:
export LC_All ="de_DE.iso88591"
Programmaufruf
Nach der Installation von SuSE 9.3 hab ich allerdings keinerlei Probleme mehr mit Utf-8 gehabt, außer:

c) UTF-8 und Latex:
Hier muss man im Header der .tex-Datei
die Zeilen
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
durch die Zeilen
\usepackage{ucs}
\usepackage[utf8]{inputenc}

ersetzen. Diese Pakete sind bei SuSE bereits mitinstalliert.

d) Konvertierungen: Alte Dateinamen werden durch die Umstellung auf UTF-8 eventuell nicht mehr richtig dargestellt, es gibt aber ein Programm zum Konvertieren von Dateinamen (Hab es nicht probiert). Wichtiger ist, dass auch der Inhalt der Dateien konvertiert werden kann. Auf der Internetseite von Herrn Kofler (gegoogelt) hab ich gefunden, dass man durch eines der beiden folgenden Kommandos die Dateien Konvertieren kann:
recode latin1..u8 < altedatei > neuedate
iconv -f latin1 -t utf-8 altedatei >> neuedatei
Meine Erfahrungen dazu: iconv kannte nicht latin1. Die ct (Ausgabe 18 2005, Seite 189) schlägt vor: iconv -f iso-8859-1 -t utf-8 -o <neuedatei> <altedatei>. Ich glaub, das hat bei mir geklappt. Allerdings muss hier der Name der Neuen Datei von dem der alten Datei unterschieden sein (scheint mir). Prima ging es jedesfalls mit recode, mit
recode latin1..u8 *.tex 
konnte ich ein ganzes Verzeichnis konvertieren, und alle Dateinamen blieben erhalten. Problematisch war, dass ich in einigen Verzeichnissen bereits tex-Dateien in utf8-Kodierung gemischt mit anderen habe. recode auf eine utf-8 kodierte Datei angewandt führt zu einem falschen Ergebnis. Bereits in kodierte Kodierte dateien musste ich also vor dem recode in ein anderes Verzeichnis auslagern. Ich erkannte sie entweder am Änderungsdatum, und wenn im Zweifelsfall durch Laden der Datei im XEmacs: Der zeigt tatsächlich unten links in der Statuszeile die Kodierung an! Da stand entweder utf8 oder noconvert.

Vorher hab ich mir so geholfen: Ich habe sowieso alle meine Latex-Header und eigenen Definitionen in einer Headerdatei, die ich  (per XEmacs-Keyboardmakro) am Anfang jeder Latex-Datei einbinde (\input{header}). Nun hab ich zwei weitere Header namens UTF.tex und Latin.tex kreiert, die die Zeilen aus der rechten bzw. linken Tabellenseite oben enthalten, und zwei XEmacs-Makros gleichen Namens, welche vor der sonstigen Headerdatei den utf bzw Latin-Header einbinden. So kann ich die alten Dateien weiter Kompilieren, allerdings nicht in ihnen editieren.

e) Dateinamen in der vFat-Partition von WINXP: Wenn die Dateinamen Umlaute enthalten, sind sie unter Linux nun nicht mehr lesbar. (Man kann die Dateien aber unter Linux umlautfrei umbenennen.) Das ist aber nicht nötig. In die fstab hab ich in die Zeile zu dieser vfat-Partition als Option geschrieben:
utf8=true
Mit diesem Tipp von der ct (odi) lassen sich alle Dateinamen richtig lesen.

KAdressbuch: Beim Erstellen neines neuen Eintrags kam die Meldung:
 kde/share/apps/kabc/std.vcf' gesperrt durch Programm".

Hab die Meldung in Google eingegeben, dort gab eine Mail in http://lists.kde.org/ die Antwort: Dort schrieb jemand, der mit bmg anzeichnete:
Bist Du sicher, daß nichts mehr läuft was das Adressbuch belegen
könnte? Schau mal in ~/.kde/share/apps/kabc/lock nach ob die alte
lockfiles liegen.

Die Adressen liegen in ~/.kde/share/apps/kabc/std.vcf. Das ist ein
Klartextfile, schau einfach mal rein.
Hab die Lockfilfes dort gelöscht, und es ging wieder alles. Nebenbei hab ich so erfahren, wo die Adressen liegen. Bei meinem letzten Neu-Erstellen des KDE-Verzeichnisses hatte ich nämlcih die Adressen nicht retten und übernehmen können, weil ich sie unter KAdressbuch gesucht hatte...



Sound

Soundkarte scheint erkannt. Aber, ich höre nichts, aus keinem der Programme. Es hat bei mir an der Einstellung der Lautstärke gelegen. Und zwar muss man sie an zwei Stellen einstellen! Einmal im Yast2/Harware/Sound, dort kann man auf Lautstärke klicken. Um eine mp3 zu hören, musste ich den Schieber PCM hochstellen. Das Abspielen einer CD wurde hörbar und lauter, wenn ich sowohl bei Kopfhörer als auch bei CD auf 100 ging. Die zweite Stelle ist das Programm Lautstärkeregler, im KDE-Menu unter Multimedia, das Programm heißt wohl auch kmix. Auch dort hab ich alles mögliche hochgestellt. Jetzt hör ich was.


Nach oben Zur Homepage