Ärgerliche Probleme der OO-Integration in KDE 4

Wieder mal was aus dem schönen, bunten Linux-Alltag. Diesmal zu Openoffice. In letzter Zeit schreibe ich nämlich mal wieder häufiger große Dokumente mit Openoffice Writer (Version 3.2). Leider hat man da unter KDE 4 nicht immer Grund zur Freude.

Hier ein paar der ärgerlichsten Problem, zu denen ich – bis auf eine Ausnahme – leider auch keine Lösung anbieten kann. Die Fehler sind z.T. schon länger bekannt, harren aber ihrer Behebung. Ob das an Problemen mit Qt-Bliotheken unter KDE liegt, kann ich nicht wirklich beurteilen. Ich meine aber, dass alle Punkte ein Zeichen für die problematische Integration von Openoffice (ggf. auch anderen GTK-Applikationen) in den KDE4-Desktop sind.

Fehler Nummer 1: Verzögerungen beim Aufruf der Speicher- und Öffnen-Dialoge

Auf meinem Opensuse 11.2 (64 Bit) mit KDE 4.4.3 ist OO aus den Opensuse-Repositories installiert. Als Standard ist in den OO-Einstellungen vorgegeben, dass für das Speichern von Dateien die KDE-Dialoge gezogen werden sollen. Die öffnen sich auch – oft allerdings erst nach mehreren Sekunden. Selbst nach dem Öffnen des KDE-Dialogs dauert es noch ein weiteres Weilchen, bis dann schließlich auch der Name der Datei editiert werden kann Dieses Problem haben auch andere beschrieben.

http://www.linux-club.de/viewtopic.php?f=24&t=108919&start=0

Was immer da abläuft, dieses Problem läßt sich noch relativ einfach durch folgenden “Trick” umgehen. Man aktiviere unter
“Extras > Optionen > Allgemein” in der Rubrik “Öffnen/Speichern-Dialoge” die Option “OpenOffice.org Dialoge verwenden”. Die Dialogfenster zum Speichern sehen nun etwas anders aus. Sie haben auch einige Nachteile – dafür arbeiten sie aber sehr schnell – wie man es als viel beschäftigter Benutzer gerne hätte. Auf meinem Laptop hat das geradezu Wunder bewirkt.

Fehler Nummer 2: Die OO Statuszeile – Elemente der Fußzeile erscheinen gar nicht oder verschwinden – z.B. bei Änderungen der Fenstergröße

Die Statuszeile im Fußbereich von Writer erscheint unter KDE seit einigen neueren KDE-Versionen 4.3X/4.4X und OO 3.2.X oft nicht mehr vollständig. Genauer: Der Fußleistenbereich ist schon da, aber von den üblichen Elementen erscheinen nur die Rahmen – kein Zoom-Tool, keine Anzeige der Seitenzahlen, keine Anzeige der Sprach etc. ….

Damit geht eine wesentlicher Teil an Information und nützlicher Funktionalität gerade für größere Dokumente verloren. Das Verhalten ist relativ irregulär: Beim Starten im Vollbildmodus ist die Leiste oft noch in voller Bestückung da – nach einigen Aktionen speziell bei Änderungen der Fenstergröße leert sie sich aber wieder. Manchmal hilft ein Klick in den Bereich der Leiste, wo man z.B. das Zoom-Tool erwartet, um es wieder zum Erscheien zu bewegen. Aber das wirkt nicht auf Dauer.

Ich habe mir das Ganze mal unter Gnome angesehen – dort gibt es keine Probleme. Also scheint es was mit der Integration in KDE 4.3/4.4 zu tun zu haben – möglicherweise mit der GTK-Unterstützung in Qt. Mir kommt es so vor, als ob Signale zum Update des entsprechenden Fensterbereichs nicht richtig umgesetzt werden. Als Benutzer finde ich das einfach nur ärgerlich – damit kann man auch keine Werbung für die Kombination KDE4.4 ud OO 3.2 machen.

Dieser Fehler erscheint unter Opensuse bislang unabhängig vom verwendeten Repository für die OO-Pakete (Stable-Zweig und Unstable-Zweig). Er ist auch unabhängig vom KDE-Theme oder den GTK-Einstellungen in den KDE “system-settings”.

Ich kenne hierfür keinen Umgehungstrick. Auch dieser Fehler ist keine neue Sache :

https://bugzilla.novell.com/show_bug.cgi?id=550979
https://bugzilla.novell.com/show_bug.cgi?id=567886

Siehe auch meinen Beitrag in einem Opensuse Forum unter

http://forums.opensuse.org/get-help-here/applications/433096-bugs-openoffice-3-2-a-3.html

Fehler Nummer 3: Checkboxen in den Untermenü-Dialogen – speziell von
“Ansicht >> Symbolleisten”

Die Checkboxen im Submenü für die Aktivierung/Deaktivierung der Toolbars erscheinen praktisch alle gesetzt, wenn man dieses Submenü öffnet. Das hat natürlich mit der Realität nichts zu tun, sondern ist ein Bug. Beim Überfahren der Submenü-Punkte mit der Maus wechseln die Checkboxen nämlich zum tatsächlichen Status. Auch hier liegt offenbar ein Problem in der Signalverarbeitung unter Qt/Gtk vor.

Ansicht beim Öffnen:
Bug_OO_Menue_1

Ansicht nach Überfahren mit der Maus
OO_Bug_Menue_2

Auch dieses Problem tritt unter Gnome und älteren KDE-Versionen (3.5.X) nicht auf. Es kam mit irgendeiner OO 3.2-Version. Auch hierfür kenne ich persönlich keine Lösung.

Fazit: Fehlende QS ?

Openoffice sollte aus meiner Sicht ein repräsentables Flagschiff im Opensource-Bereich sein. Das Gleiche gilt für KDE 4.4. Für den Anwender sind solche Fehler wie die oben beschriebenen deshalb nicht nur nervig – gerade wenn man von früheren Versionen was anderes gewohnt ist. Ich finde vielmehr, dass solche Dinge Zeit und Geld kosten und einer professonellen Arbeitsumgebung nicht würdig sind.

Man kann nun alles auf Schwierigkeiten mit KDE 4, Qt und auf Trolltech (bzw. inzwischen Nokia) schieben.

Aus meiner Sicht ist das aber nicht der Punkt. Ich glaube schlicht, das die Qualitätssicherung im Opensource-Bereich bei der Kombination von mehreren sich schnell entwickelnden und großen Projekten wie KDE 4 und OO 3.X nicht mehr funktioniert. Denn was ich oben beschrieben habe, ist nur die Spitze eines Eisbergs. Tatsächlich könnte ich mich Tage hinsetzen und ununterbrochen Fehler aus einer Vielzahl von Anwendungen melden. Kein Witz, leider. (Gerade stürzt z.B. Amarok beim Abspielen des vierten Stückes von einer CD aus unerfindlichen Gründen ab, … aber meine Meinung, dass Amarok 2 eh’ besch …en ist, wird sich sowieso nicht mehr ändern .. )

Es ist auch nicht so, dass man gar nicht unter Linux arbeiten könnte. Im Gegenteil. Aber mein Eindruck aus dem letzten Jahr ist zunehmend der, das der Power-User in einer Opensource-Umgebung nichts anderes als ein Beta-Tester wird – für die Einzel-Applikationen, für den Desktop insgesamt und die Integration der Anwednungen in diesen Desktop. Irgendwie fühle ich mich an unheilige Zeiten erinnert, als ich noch Microsoft-Produkte benutzt habe. Liebe Leute – es kostet einfach zuviel Zeit, sich mit solchen Fehlern herumzuschlagen !

Die große Frage ist, wer hier im Opensource-Bereich eigentlich versagt. Die Entwicklungsteams? Die Distributoren? Die Provider der Tools? Oder stößt Open Source mit seinen Tendenzen zur Selbstorganisation wegen der Komplexität der Projekte schlicht an die Grenzen?

Ich stelle nur fest, dass es die Leute am meisten trifft, die täglich mit Opensource-Produkten umgehen wollen oder müssen. Und in einer professionellen Linux-Umgebung mit mehreren hundert Anwendern möchte ich z.Z. nicht derjenige sein, der die Update-Politik für den Desktop verantworten muss.

Bei uns als sehr kleiner Firma kann man fast alles kompensieren. Bei großen Umgebungen mit vielen Benutzern geht das nicht mehr. Als Anwender bei uns stößt man auf Fehler, seufzt und denkt sich seinen Teil. Und dann sind unsere Systeme so
reichhaltig bestückt, dass man zur Not immer eine komplette ältere Installation booten kann. Aber diesen Luxus, mehrere Systeme parallel auf jedem Desktop vorzuhalten, kann man sich da draußen in größeren Betrieben kaum leisten.

Aber das Thema Upgrade/Update-Politik unter Linux ist ein eigenes Thema für sich.

Meine Hoffnung ist, dass es bald mal wieder eine Kombination aus KDE 4 und OO gibt, bei der OO rundum gut funktioniert. Die Hoffnung stirbt zuletzt … und solange halte ich auch KDE die Treue. Bemerkenswert fand ich letzte Woche nur den Kommentar eines Arbeitskollegen, der auf Gnome schwört: “Das neue Ubuntu ist echt nicht gut ….” Dabei stehen doch die wirklichen Änderungen im Gnome-Bereich erst an …

Ich merke schon, ich muss mal wieder was Positives schreiben. Werde ich tun. Versprochen…..

Ergänzung 30.05.2010: Was Positives – Problem 1 und 2 sind anscheinend behoben

Kaum lässt man Frust ab, passiert auch schon was. Gestern Abend habe ich mir die neueste verfügbare Openoffice-Version von Opensuses OO-“Unstable”-Repository geholt.

OpenOffice.org 3.2.1
OOO320m18 (Build:9502)
ooo-build 3.2.1.2

Faktisch sieht es nach ersten Tests so aus, als ob die oben beschriebenen Probleme 1 und 2 behoben sind. Die KDE-Dialoge für Öffnen/Speichern kommen schnell und sind sofort bedienbar. Und die Statuszeile ist nun wieder permanent sichtbar.
Nicht behoben ist allerdings der Punkt 3 : Die Checkboxen für die Toolbars werden beim Öffnen des Submenü-Dialogs immer noch mit falschen Flags angezeigt.

Aber: es tut sich was – was Positives ! Ich freue mich …..

Spellchecking, KDE 4, OO 3, Thunderbird

Wieder mal ein Beitrag aus dem bunten Linux-Alltag. Diesmal zum Thema Wörterbücher. Auch hier nimmt die Vielfalt und damit die Verwirrung des Anwenders zu, wie ich heute wieder erfahren durfte.

Das Vielfalts-Problem

Meine liebe Anne ist Norwegerin und benutzt ein Opensuse Linux mit deutschem KDE 4. Nun steht sie natürlicherweise immer mal wieder vor folgenden Aufgaben

  • Verfassen von E-Mails auf Norwegisch mit Thunderbird
  • Verfassen von E-Mails auf Norwegisch auch mal mit Kmail
  • Verfassen von norwegischen Texten mit Openoffice

In all diesen Fällen möchte sie natürlich gerne eine Prüfung der Rechtschreibung der Wörter in norwegischer Sprache vornehmen lassen, um Tippfehler schnell korrigieren zu können.

Leider ist es nun nicht so, dass für diese Aufgabe unter Linux/KDE ein einheitlicher Spell-Checking-Mechanismus herangezogen würde, der sich auch einheitlich bedienen ließe. Und deswegen lief bei der guten Anne heute das Linux-Frustrations-Fass mal wieder über – mit der unmissverständlichen Aufforderung, ihr gefälligst ein brauchbares Arbeitsgerät bereitzustellen.

Tatsächlich muss man feststellen, dass in puncto “spell checking” zur Verzweiflung des Anwenders eine Vielfalt blüht, die nicht nur applikations- sondern auch noch versionsabhängig ist. Und in den von meiner Frau benutzten Anwendungen muss man doch recht spezielle Schritte unternehmen, um zum Erfolg zu kommen.

So wurde bei Openoffice mit dem Übergang von OO 2.4 auf OO 3.0 von “myspell” auf “hunspell” gewechselt. Gleichzeitig kam für den Anwender (oder den Admin) die Notwendigkeit, “add-ons” installieren zu müssen. So mancher Admin, der sich nicht um individuelle EInstellungen kümmern mochte, vergaß allerdings, seine Kollegen/innen auf diesen Umstand hinzuweisen.

Ähnliches gilt für Thunderbird und Firefox; auch hier wurde mit der Version 3 auf “hunspell” gewechselt. Blöd nur, dass einige der für Firefox und Thunderbird bereits etablierten “add on” Wörterbucher – leider auch die norwegischen – wegen Kleinigkeiten eine ganze Weile lang nicht mehr mit Firefox Version 3.6 und Thunderbird Version 3.x kompatibel waren.

KDE 4 setzt dagegen auf die GNU “aspell”-engine, die “ispell” ablöste und mit UTF-8 umgehen kann. Hier müssen die notwendigen Basis-Einstellungen für eine Reihe von KDE-Applikationen nicht in den Applikationen selbst, sondern in den KDE-Systemeinstellungen vorgenommen werden.

Was also muss man unter Opensuse 11.2 und KDE 4.4.3 für die oben genannten Anwendungen genau tun, um z.B. ein norwegisches Spell Checking hinzubekommen?

Maßnahmen für KDE und damit auch für Kontact/Kmail

Man installiere (z.B. über Yast) zunächst die erforderlichen “aspell”-Sprach-Pakete (myspell-Pakete nutzen hier nix!). Im Fall von Norwegisch sind das die Pakete “aspell-nb” (bokmaal) und “aspell-nn” (nynorsk). Danach kann man unter KDE4 über die Systemeinstellungen

“Systemeinstellungen >> Land/Region und Sprache >> Rechtschreibprüfung”

kontrollieren, dass die Korrekturmöglichkeiten für die neuen Sprachen zur Verfügung stehen. Die “automatische Prüfung” aktiviert man über die entsprechende Checkbox. Einzelne KDE-Applikationen haben aber wieder eigene Schalter, die die Aktivierung oder Deaktivierung einer automatischen Rechtschreib-Prüfung während der Texteingabe steuern.

rechtschreib_KDE

Als Standardsprache haben wir in unserem
Fall “Deutsch” als Einstellung belassen. (Wenn man aber eher Texte in einer anderen Sprache verfasst, lohnt sich ggf. eine andere Einstellung.)

Unter Kmail setzt man das Spell Checking für Norwegisch dann nach dem Öffnen des Mail-Editors für eine neue E-Mail wie folgt ein:

Erst einmal die “automatische Rechtschreibprüfung” über den Menüpunkt “Optionen >> automatische Rechtschreibprüfung” deaktivieren, um bei der Eingabe des norwegischen Textes nicht von vornherein durch irritierende rote Linien gestört zu werden. Danach die ersten Zeilen schreiben. Dann “Extras >> Rechtschreibung” wählen. In der Dialogbox die richtige norwegische Sprache auswählen und nach Bedarf korrigieren. Danach kann man übrigens die “Automatische Korrektur” auch wieder anschalten. Der Spell Checker merkt sich diese Einstellung für die aktuelle Mail.

Es gibt jedoch ein vereinfachtes Vorgehen: Im Kopf der zu verfassenden Mails kann man sich eine Combox anzeigen lassen, die einem eine Combox “Wörterbuch” zur Sprachauswahl für die zu erstellende Mail anbietet. Diese Anzeige steuert man im E-Mail-Editor über den Menüpunkt “Ansicht” und die dort verfügbaren Optionen.

rechtschreib_KDE_Kmail

Das vereinfacht den Einsatz des Spell Checkings pro Mail natürlich kolossal: Im Gegensatz zum oben beschriebenen “Umweg” über die Menüpunkte legt man die für die neue E-Mail geltende Sprache gleich nach dem Öffnen des Mail-Editors fest. Die automatische Korrektur kann dann immer aktiviert bleiben.

rechtschreib_KDE_Kmail_2

Die Combobox ist vor allem dann wirklich sehr nützlich, wenn man abwechselnd Mails in unterschiedlichen Sprachen erstellt und dabei fortlaufend den Spell Checker einsetzen will.

Maßnahmen für Openoffice (OO) 3.x

Zunächst prüft man mit Hilfe des Paketmanagers seines Vertrauens, dass “hunspell” installiert ist. Bei dieser Gelegenheit das Paket für den Openoffice-Thesaurus für “Norwegeisch-Bokmaal” installieren (Paket “OpenOffice_org-thesaurus-nb”), falls das Paket angeboten wird.

Danach ein aktuelles “Add-on” für die norwegische Sprache aus dem Fundus der OO 3 Extensions installieren. Fündig wird man auf der Webseite

http://extensions.services.openoffice.org/en/dictionaries

Von dort lädt man für das Norwegische das oxt-File

“dictionary-no-NO-1.0.oxt”

herunter und installiert es in OO 3.0 über den Menüpunkt “Extras >> Extension Manager”. Danach OO neu starten. (oxt steht für Openoffice extension).

Die Rechtschreibungprüfung steht unter OO 3 ggf. bereits über ein Symbol in der Haupt-Toolbar-Leiste zur Verfügung. Wenn nicht kann man sich die Leiste um das entsprechende Icon erweitern. Ansonsten benutzt man “F7” und/oder die Sub-Menüpunkte unter dem Menüpunt “Extras” :

“Rechtschreibung und Grammatik, Sprache, Language Tool”

Im Dialogfenster zur “Rechtschreibung und Grammatik” kann man schließlich die Sprache für die Analyse des Dokumentes oder eines markierten Abschnittes auswählen. In unserem Fall stehen nach Installation des oben genannten oxt-Files die zwei norwegischen Sprachen “bokmaal” und “nynorsk” zur verfügung. Die Anwendung der Rechtschreibhilfe im Rahmen des Dialog ist intuitiv möglich. Auch die (begrenzte) Prüfung der Grammatik kann
man aktivieren.

Für das Anschalten einer automatischen Prüfung ist ein Punkt unter “Optionen” im Dialog-Fenster zuständig. (Oder alternativ ein Icon in der Toolbar).

Erstellt man Dokumente mit Abschnitten, die in unterschiedlichen Sprachen verfasst sind, legt man die Sprache pro Abschnitt über den Menüpunkt

“Extras >> Sprache >> Für den Absatz ”

fest. Das ist aus meiner Sicht eine wirklich nützliche Funktion! OO merkt sich die Sprach- und damit auch die einzusetzenden Prüf-/Korrektur-Module für die jeweilige Sprache abschnittsweise.

Natürlich kann man aber auch die Sprache für das gesamte Dokument festlegen. Diese Einstellung oder noch globalere sind auch über

“Extras >> Optionen >> Spracheinstellungen >> Sprachen ”

und

“Extras >> Optionen >> Spracheinstellungen >> Linguistik”

möglich. Der letztere Menüpunkt gibt zudem einen interessanten Einblick in die verwendeten Sprach- und Hyphenation-Module – es lohnt sich, da mal reinzuschauen.

Maßnahmen für Thunderbird und Firefox 3.x

Der Entwickler Håvar Henriksen hat für Bokmaal und Nynorsk schon im Jahr 2008 geeignete Wörterbücher als Add-Ons zu den Mozilla-Applikationen zur Verfügung gestellt. Leider liefen diese eine Weile nicht mit den neuesten Versionen von FF und Thunderbird zusammen. In der aktuellen Form der Bereitstellung gibt es aber keine Probleme mehr. Die folgenden Schritte sind praktisch identisch für FF und Thunderbird:

Zunächst den Menüpunkt “Extras >> Add-ons ” anklicken.

Im sich öffnenden Dialog den Menüpunkt “Alle Add-ons ansehen” wählen . Auf der sich öffnenden Webseite in der rechten oberen Combobox den Punkt “Wörterbücher” für die Suche auswählen. Dann die Suche starten und in der Liste blättern. Ca. auf Seite 3 findet man dann die “Norsk Bokmaal ordliste”. Das entsprechende xpi-File

“norsk_bokm__l_ordliste-2.0.10.0-fx+tb+sm.xpi”

lädt man sich am besten auf seinen Rechner herunter (für den Fall späterer Neuinstallationen).

Danach wechselt man wieder zum immer noch offenen “Add-On”-Dialog-Fenster der Mozilla-Applikation (das Fenster hatte man mit “Extras >> Add-ons” geöffnet). Dort findet man links unten einen Button “Installieren …”, den man anklickt. Der Rest der Installation wird über Dialogboxen geführt; man sucht die eben heruntergeladene Datei und startet den Installationsvorgang.

In Thunderbird 3..0.2 bedient man sich des installierten Wörterbuchs nun über einen entsprechenden Punkt in der Toolbar. Hier verbirgt sich rechts neben dem Schalter übrigens (ähnlich wie bei Kmail) auch eine Combobox; diese erlaubt einem, das einzusetzende Wörterbuch für die jeweilige Sprache auf einfache Weise auszuwählen.

Ansonsten kommt man auch über den in diesem Zshg. missverständlich lautenden Menüpunkt “Einstellungen” zum Ziel. Dort findet man den Submenü-Punkt “Rechtschreibprüfung”, den man anklickt. Die sich öffnende Dialogbox ist einfach zu bedienen. Eine automatische Prüfung während der Texteingabe aktiviert man in Thunderbird über “Einstellungen >> Sofort-Rechtschreibprüfung”.

Fazit

Das Einstellen der Rechtschreibprüfung auf der Basis passender Wörterbücher zeichnet sich unter
Linux noch durch eine wenig anwenderfreundliche Heterogenität aus, ist aber durchaus möglich. Selbst meien Anne war nach getaner Arbeit zufrieden.

In diesem Sinne wünsche ich den Linux-Usern also viel Spass in Zukunft beim Einsatz des “Spell Checkings” für unterschiedliche Sprachen unter KDE, Kontact/Kmail, Openoffice und Firefox/Thunderbird !

Von den Entwicklern wünsche ich mir dagegen eine Strategie zur Vereinigung der “Spell Checking”-Verfahren.

Anhang 1 – Tastaturlayouts nicht vergessen!

Unter KDE ist es natürlich flankierend wichtig, Tastatur-Layouts einzurichten. Das Norwegische kennt wie vele andere Sprachen auch Sonderzeichen, die auf bestimmte Tasten gelegt sind. Die Anne will beim Tippen in norwegischer Sprache natürlich so arbeiten wie auf einer norwegischen Tastatur.

Zu den Tastatur-Layout-Einstellungen gelangt amn unter KDE 4 über die “Systemeinstellungen >> Land/Region und Sprache >> Tastaturlayout”. Im Dialogfenster aktiviert man die gewünschten Tastaturbelegungen für unterschiedliche Sprachen und das Anzeigesymbol in der KDE Kontroll-Leiste. Da Leute wie die Anne mit unterschiedlichen Anwendungen in unterschiedlichen Sprachen arbeiten, habe ich ihr unter dem Reiter “Umschalt-Einstellungen” das Umschaltverfahren auf die jeweilige “Anwendung” bezogen eingestellt – statt der Einstellung “Global”, die die Sprache für die gesamte Oberfläche und alle Anwendungen umschaltet.

Anhang 2 – KDE-Koffice-Frust

In den aktuellen Koffice2-Programmen funktioniert das Spell Checking unter Opensuse 11.2 und KDE 4.4 überhaupt nicht.

Aber das ist eh’ egal, weil die Koffice-Entwickler nicht willens sind oder zu wenig Ressourcen haben, um das grauenvolle Font-Rendering unter Koffice 2 abzustellen. Die wiederholten Hinweise im Web, doch für KOffice2 bitte das Subpixel-Hinting bei der Font-Glättung abzustellen, ist einfach indiskutabel. Hier wedelt aus Anwendersicht der Schwanz mit dem Hund. KOffice2 soll sich bitte in KDE einfügen und seinen Einsatz nicht von einer Maßnahme abhängig machen, die zur Verschlechterung der Schriftendarstellung auf der gesamten Oberfläche führen würde. Tja, der User hat’s mit einigen KDE-Entwicklern nicht immer leicht. Sorry ….

Links

http://en.wikipedia.org/wiki/MySpell
http://en.wikipedia.org/wiki/Hunspell
http://en.wikipedia.org/wiki/GNU_Aspell

KDE 4, Sortierung, Groß-Klein-Schreibung, Bash

Hier wieder mal eine Geschichte aus dem Linux-Alltag. Gestern kam meine Frau zu mir und wollte unbedingt und kurzfristig ein kleines “KDE 4 -Problem” auf ihrem Opensuse 11.2-System gelöst bekommen.

Auftakt: Reihenfolge-Problem bei Bild-Dateien mit Gross- und Kleinbuchstaben unter Dolphin und Gwenview (KDE 4)

Mein Frau hatte diverse Bilder, die mit 2 verschiedenen Kameras und verschiedenen Chips gemacht worden waren, in einem Verzeichnis zusammengeführt. Im Nachhinein stellte sich dann heraus, dass es Dateibezeichnungen der Form “IMG_xxx.jpg” und der Form “img_xxx” gab. Insgesamt führte dies bei einer Betrachtung der Bilder über “dolphin” und “gwenview” unter KDE zu einer heillosen Verwirrung und “falschen” Reihenfolge der Bilder. Und das in der Gegenwart von Gästen, die natürlich alle Windows benutzen …

In meiner Naivität habe ich meiner lieben Frau in einem ersten Anlauf süffisant empfohlen, doch bitte unter Dolphin eine Sortierung nach dem Dateinamen durchzuführen und dann die großgeschriebenen Files, die alle an erster Stelle erscheinen würden, zu markieren und in einen separaten Ordner zu transportieren. Ganz so einfach gestaltete sich die Angelegenheit dann aber leider nicht – und die dann folgende Schelte hatte ich auch wirklich verdient.

Akt 1: Seltsame Sortierreihenfolge unter Dolphin und Konqueror

Was war das Problem? Der Punkt aus Sicht meiner Frau war der, dass bei der Sortierung in den genannten Programmen die Gross- und Kleinschreibung (scheinbar) nicht beachtet wurde. Dies führte im Fall der Bilder zu einer Vermischung von JPGs aus unterschiedlichen Aufnahme-Situationen. So führte eine Sortierung unter Dolphin nach dem Dateinamen zu einer Reihenfolge wie

img_010.jpg
IMG_010.jpg
IMG_011.jpg
img_012.jpg

wobei die “IMG_xxx” -Dateien eben zu einer anderen Aufnahme-Session gehörten als die “img_xxx”-Dateien.

Nun hatte meine bessere Hälfte natürlich selbst schon ein wenig eigene Recherche betrieben und auch alle ihr zugänglichen Einstellungsoptionen unter KDE durchgekämmt. Am Schluss beklagte sie sich dann vehement darüber, dass Dolphin, Konqueror und Gwenview unter KDE 4 zwar die Option zum Sortieren der angezeigten Dateien nach dem Dateinamen anböten, dass dabei aber eben die Groß/Klein-Schreibung vollständig ignoriert würde. Im Gegensatz zur Suche gäbe es auch keine Option, über die man die Beachtung der Groß/Kleinschreibung hätte aktivieren können. Noch schlimmer: Unter Dolphin reagierten auch Filterkriterien, die man in die zuschaltbare Filterleiste eingeben kann, nicht auf Unterschiede in der Groß/Klein-Schreibung.

Der normale User könne zudem auch unter den Systemeinstellungen keine Option finden, die einer Beachtung der Groß/Kleinschreibung bei Sortiervorgängen unter KDE geichkäme. Und nun wäre sie mit ihrem Latein am Ende und ich sei an der Reihe, was zu tun und zwar schnell – wegen der Gäste. Mein Vorschlag, die Bilder halt “händisch” umzusortieren, wurde mit ungläubigen Blicken und einem Hinweis auf die Anzahl der Bilder abgelehnt – und dann die obligatorische Frage nach dem Leistungsvermögen von Linux und dessen Administratoren, die ein zu diesem System überredet hätten ……

Intermezzo: Problembehebung über die Shell

Um das akute Problem zu beheben griff ich erstmal zu Hausmitteln: Terminalfenster, “cd” in das betroffene Verzeichnis, “mkdir gross” und “mkdir klein” abgesetzt und dann

find . -maxdepth 1 -name “img*” -exec cp -pv {} ./klein \;

sowie

find . -maxdepth 1 -name “IMG*” -exec cp -pv {} ./gross \;

und die Vorführung der Bilder war gerettet.

Akt 2: Ursachenforschung

Aber was war eigentlich mit Sortierung unter KDE los? War das Ganze überhaupt ein KDE-Problem?

Ich musste und muss zu meiner Schande gestehen, dass mir das von meiner Frau präsentierte Verhalten unter KDE
noch nie bewusst aufgefallen war. Ich konnte das erst auch nicht so recht glauben. (Im Kopf hatte ich natürlich die klassische ASCII-Reihenfolge und typische Wildcardgeschichten wie “[a-z]”, etc.)

Ich wurde jedoch eines Besseren belehrt, als ich folgenden Test mit “ls” und “sort” in einem Verzeichnis mit 4 Dateien “test_1.txt, test_2.txt, TEST_1.txt, TEST_2.txt” unternahm:

… > ls
test_1.txt TEST_1.txt test_2.txt TEST_2.txt

Das gleiche Ergebnis erschien auch mit

…> ls | sort
test_1.txt TEST_1.txt test_2.txt TEST_2.txt

– und das Durchprobieren diverser Optionen von “sort” änderte rein gar nichts. Das konnte doch nicht wahr sein ! Zur Sicherheit habe ich dann das Gleiche mal mit dem Root-Account ausprobiert – und siehe da, die Reihenfolge war nun wie erwartet:

… # ls
.directory TEST_1.odt TEST_2.odt test_1.odt test_2.odt

Nun wirklich misstrauisch geworden, sehe ich mir die “profile”-Einstellungen der Bash genauer an. Unter SUSE werden dabei Festlegungen unter “/etc/sysconfig” gezogen – interessant ist hier die Datei

/etc/sysconfig/language

mit dem Eintrag

RC_LANG=”de_DE.UTF-8″

Das Kommando “env | grep LANG” brachte denn unter einem normalen Useraccount auch konsistenterweise

LANG=de_DE.UTF-8

als Ergebnis. Hm, das wirkt ja eigentlich nicht so ungewöhnlich. Dann fällt einem ein, dass die LANG-Variable alle anderen “LC_….”-Variablen ersetzt also auch “LC_COLLATE”. Also Quercheck bei root:

… # env | grep LANG
LANG=POSIX

Aha – offenbar war das “Problem” an die Locale-Einstellungen gebunden. Ein Test mit “export LC_ALL=C” (C entspricht hier den Posix-Default-Einstellungen) bestätigte die Vermutung: Ab jetzt erschien auch unter dem normalen User-Acccount die gewünschte Reihenfolge.

…> export LC_ALL=C
…> echo $LC_ALL
C
…> ls | sort
TEST_1.odt TEST_2.odt test_1.odt test_2.odt

Was also war die Konsequenz? Die Sortier-Reihenfolge der “de_DE.UTF-8”- Collation entspricht nicht der gewohnten POSIX- bzw. ASCII-Reihenfolge, die man in jedem Linux-Anfängerkurs eingebläut bekommt.

de_DE.UTF-8 entspricht der Sortierung
“aAbB …. zZ”.

POSIX entspricht dagegen der Sortierung
“AB …Zab … z”

Akt 3: Nachdenken über potentielle Gefahren ?

Nun kam ich richtig ins Grübeln – was würde z.B. beim Löschen von Dateien und gleichzeitiger Verwendung der Wildcardsequenz [a-z] unter der Collation “de_DE.UTF-8” geschehen?

…> echo $LANG
de_DE.UTF-8
…> rm [a-z]*
…> ls

Tatsächlich ! Alle (!) Dateien – auch die mit großem Anfangsbuchstaben – waren gelöscht worden ! Oh, oh, … Das muss man sich wirklich merken !

Akt 4: Nachlesen unter den GNU-Definition zur Bash und LC_COLLATE

Unter folgender Quelle
http://www.gnu.org/software/bash/manual/bashref.html

liest man dementsprechend Folgendes:

“LC_COLLATE
This variable determines the collation order used when sorting the results of filename expansion, and determines the behavior of range expressions, equivalence classes, and collating sequences within filename expansion and pattern matching (see Filename Expansion). ”

Und bei “filename expansion” findet man:

“The sorting order of characters in range expressions is determined by the current locale and the value of the LC_COLLATE shell variable, if set.

For example, in the default C locale, ‘[a-dx-z]’ is equivalent to ‘[abcdxyz]’. Many locales sort characters in dictionary order, and in these locales ‘[a-dx-z]’ is typically not equivalent to ‘[abcdxyz]’; it might be equivalent to ‘[aBbCcDdxXyYz]’, for example. To obtain the traditional interpretation of ranges in bracket expressions, you can force the use of the C locale by setting the LC_COLLATE or LC_ALL environment variable to the value ‘C’. ”

Fazit und Nachspiel

Auf neueren Linux-Systemen (wie etwa SUSE 11.2) mit deutscher Lokalisierung wird für normale User meist eine “de_DE.UTF8”-Collation verwendet. Deshalb entspricht die Sortierung und die Abhandlung von Shell-Wildcards wie [a-z] nicht mehr den erwarteten Posix-Verhältnissen ! Das schlägt natürlich auch auf die KDE-Programme durch. (Das Gleiche gilt übrigens auch für Kollationen anderer Sprachbereiche).

Das sollte und muss man natürlich im Kopf behalten!

Die eigentliche potentielle Gefahr liegt aber im Einsatz von Wildcards der Form “[a-z]” bei Dateioperationen, da dadurch keineswegs – wie eigentlich erwartet – immer nur Kleinbuchstaben erfasst werden. Tja, eigentlich weiss man das ja …. theoretisch …. aber denkt man im Alltag wirklich immer drüber nach?

Wenn nicht, lohnt es sich jedenfalls, alte Shellscripts auf eventuelle Probleme, die durch den Einsatz von collation-abhängigen Wildcards verursacht werden könnten, durchzusehen.