Wine/Crossover Office – Positionierung und Größenänderung von KDE-Fenstern für MS Office 2007/2010

Im Rahmen von Beratungsaufträgen für Kunden bin ich immer mal wieder gezwungen, auf Windows Office-Anwendungen zurückzugreifen. Denn leider funktioniert in etlichen Fällen mit komplexeren Dokumenten oder Präsentationen der Weg

LibreOffice => Zip-File/Mail => MS Office => Zip-File/Mail => LibreOffice => Zip-File/Mail => MS Office

nicht völlig verwerfungsfrei.

Um Kundenbeschwerden aus dem Weg zu gehen, nutze ich deshalb – wenn erforderlich – MS Office 2010 Applikationen unmittelbar über Wine (in Form von Crossover Office) auf meinem Linux/KDE-Desktop. Nun habe ich mir kürzlich einen neuen Laptop zugelegt; zwangsläufig musste ich meine komplette SW-Umgebung vom Altsystem um- und nachziehen. Dabei stößt man dann im Zuge der Wine-, der Crossover Office- und der nachfolgenden MS Office-Installation unter einer passenden “Wine-Bottle” als MS-Laufzeit-Umgebung (oder nach einem Bottle-Ex/Import) zwangsläufig auf folgendes Thema:

Die KDE-Fenster für die Wine basierten MS Office-Applikationen lassen sich nach einer einmal durchgeführten Full-Screen-Maximierung nicht mehr wie andere Standardfenster mit der Maus über einen Drag-Vorgang mit der Maus auf der Menüleiste bewegen. Ferner funktionieren danach freie Größenänderungen des Fensters mit der Maus nicht mehr. Man kann nur zwischen maximaler Größe und einem vordefinierten Größen-Format hin und her schalten.

Das ganze Problem hatte ich früher schon mal durchlitten – und schließlich über KDE-Einstellungen gelöst – nur leider vergessen wie. Ärgerlich! Die Zeit zum Rumprobieren kann man sich beim nächsten Mal wirklich sparen. Deshalb hier eine Zusammenstellung der erforderlichen Schritte.

Einstellungen für die betroffene Wine/Crossover Bottle (“Flasche”) der Windows-Applikation

Hierzu das zentrale “CrossOver” Verwaltungsapplikation öffnen (im Terminal nach einer Standardinstallation z.B. über den Aufruf von “/opt/cxoffice/bin/crossover”).

Dort den Menüpunkt “Werkzeuge >> Flaschen verwalten” wählen. Die jeweilige “Flasche” für die Windows-Office-Installation im linken Seitenbereich auswählen, rechts den Tab “Systemsteuerung” wählen und darunter den Punkt “Wine Konfiguration” anklicken.

Im sich öffnenden Konfigurationsfenster den Reiter “Grafik” anklicken. Dort folgende Optionen auswählen:

  • Erlaube dem Fenstermanager die Fenster zu dekorieren
  • Erlaube dem Fenstermanager die Fenster zu kontrollieren

bottle1

Diese Einstellungen dienen dazu, dass der Window-Manager (ob unter Windows oder nicht) – zumindest grundsätzlich – die Kontrolle über die Applikationsfenster zu bekommt.

Wenn man bei einem Umzug auf ein anderes System die Export/Import-Funktionalität für Wine-Bottles nutzt, sollten diese Einstellungen auf dem neuen System bereits gegeben sein – soweit man sie auf dem Altsystem schon vorgenommen hatte.

Sonderregeln für KDE-Fenster-Einstellungen

Nun müssen wir noch die andere Seite – nämlich die des Window-Managers unter KDE betrachten. Hierzu die KDE Systemeinstellungen öffnen (im Terminal über das Kommando: systemsettings &).

Dort unter der Rubrik “Erscheinungsbild und Verhalten der Arbeitsfläche”
den Punkt “Fensterverhalten” anklicken. Im sich öffnenden Fenster “Fensterregeln” wählen. Dann den Button “Neu” klicken.

Wir landen im Reiter “Fensterübereinstimmung” eines sich neu öffnenden Dialogfensters.
Das Feld “Beschreibung” füllen wir mit Stichwörtern unserer Wahl (“MS Office 10 Regeln”). Nun ein Klick auf Button “Fenstereigenschaften ermitteln”. Dies hilft uns, Informationen dazu zu erhalten, unter welcher sog. Fensterklasse KDE die wine-basierten MS Office-Applikationen eigentlich führt. Klickt man mit dem angebotenen Kreuz-Cursor nun auf ein geöffnetes Crossover Fenster für Winword, so öffnet sich ein Fensterchen, in dem man bzgl. der sog. “Klasse” den Ausdruck “Wine (WINWORD.EXE Wine)” vorfindet.

Nach dieser Information klicken wir im Informationsfensterchen auf “Abbrechen” und landen wieder im Dialog zur “Fensterübereinstimmmung”.

bottle2

Bei der Combobox zum Punkt “Fensterklasse” nun den Punkt “Regulärer Ausdruck” wählen. Wir müssen einen Regex-Ausdruck festlegen, der die Fensterklassen, die KDE (bzw. X-Windows) den betroffenen Crossover-Fenstern zuordnet, am besten erfasst. In Anlehnung an die oben bereits ermittelte Information, die wir auf Excel und Powerpoint erweitern wollen, nehme ich

.*\b(winword.exe|excel.exe|powerpnt.exe)\b.*

Bzgl. evtl. Sorgen bzgl. einer Groß-/Kleinschreibungs-Thematik siehe den letzten Kommentar unter https://bugs.kde.org/show_bug.cgi?id=173544. Wer dem Regex wegen der Großschreibung z.B. der MS Office 2010-EXE-Dateien dennoch nicht traut, kann ja versuchsweise “i”-Modifikatoren einsetzen, wird aber feststellen, dass das i.d.R. Fehler nach sich zieht. Zusätzlich ist ein Haken beim Feld “Übereinstimmung mit gesamter Fensterklasse” erforderlich.

Wichtige Ergänzung 20.11.2015:

Speziell im Falle von Powerpoint gibt es mit den bisherigen und den nachfolgenden Einstellungen Probleme, da auch kleine Grafiken bei Verschiebungen und Größenänderungen zur Erzeugung kleiner Fenster führen, die z.B. die Verschiebung während der Mausaktion anzeigen. Man muss daher die Anwendung der nachfolgenden Regeln von vornherein weiter auf die Hauptfenster einschränken. Ein wenig Experimentieren führte mich dann zu folgender Lösung: Für das Feld “Fenstertitel” wählt man erneut “regulärer Ausdruck” und

.*\b(.*)\b.*

crossover_5_800

Nicht besonders elegant- aber wirksam. (Sicher gibt es bessere Lösungen, aber ich komme grad nicht drauf.)

Nun weiter zum Reiter “Größe und Position”. Wir wollen verhindern, dass der Fenstertyp sich beim erneuten Öffnen an eine evtl. vorgenommene Maximierung erinnert und dass wir auf eine bestimmte Geometrie festgelegt werden. Deshalb sind folgende Einstellungen erforderlich:

  • Vollbild => Erzwingen => Nein
  • Angeforderte Geometrie ignorieren => Erzwingen => Ja

bottle3

Wir bestätigen diese Einstellungen durch OK. Nach dem Schließen der Dialogfenster zu den konkreten Einstellungen aktivieren wir die geänderten Einstellungen noch über den Button “Anwenden”.

Danach verhalten sich die Crossover Fenster für MS Office Applikationen unter KDE
wie normale Fenster nativer Linux-Applikationen. Falls nicht: Einmal abmelden und dann wieder in den KDE-Desktop einloggen.

beispiel1_red

Alternative Fensterhandhabung

Ein “Alt-Klick” auf ein Fenster ermöglicht grundsätzlich dessen Verschiebung auf dem Desktop. Das gilt auch für Crossover-Fenster. Das Gleiche erreicht man über einen Klick mit der rechten Maustaste auf das Fenstersymbol zu unserem Crossover-MS-Office-Fenster in der KDE Fensterleiste und eine nachfolgende Wahl des Punktes “Weitere Aktionen” im sich öffnenden Menü. Dies führt uns zu einer Auswahl von Fensteroperationen, die sich auf diesem Wege auch für Crossover Fenster ausführen lassen. Eine dieser Fensteroperationen ist auch die Größenänderung.

Links

https://www.codeweavers.com/compatibility/crossover/forum/microsoft-office-2010?msg=157908
https://bugs.kde.org/show_bug.cgi?id=329227
http://www.linuxforen.de/forums/showthread.php?230623-Wine-Fenster-l%E4sst-sich-nicht-verschieben-und-ist-immer-im-Vordergrund
https://forum.winehq.org/viewtopic.php?f=8&t=20006

Viel Spaß dann noch mit Wine und Crossover Office! Dass man mit MS Office Spaß haben wird, ist bei den Lesern eines Linux-Blogs kaum zu erwarten. Seit MS Office 2007 frage ich mich persönlich immer wieder, welcher Wahnsinnige sich wohl die aus meiner Sicht chaotische und den Arbeitsfluss nicht fördernde, sondern eher behindernde Benutzerführung ausgedacht hat … Na ja, eingefleischte MS Fans können das sicher erklären. Ich bin jedenfalls froh, dass es ein inzwischen relativ ausgereiftes LibreOffice gibt und mir das Leben leichter macht.

Mouse / Keyboard frieren nach KDE-Login ein – ein .cache-Problem im Plasma-Desktop

In der letzten Woche hatte ich nach einigen Updates und Experimenten mit diversen Gnome Programmen (nautilus, tracker, …) unter KDE massive Probleme mit der Maus unmittelbar nach dem Einloggen in den KDE-Desktop (Opensuse 13.2; KDE 4.14.X mit KDE 5 Komponenten). Angemerkt sei, dass ich den aktuellen proprietären Nvidia-Treiber “352.41” benutze.

Die Maus ließ sich anfangs bewegen und man konnte auch genau einmal in ein Fenster – z.B. ein Terminal – klicken. Danach zeigten weder die Maus noch Navigationstasten des Keyboards eine Wirkung – und wenn doch, dann mit ganz erheblicher Zeitverzögerung.

Das Einzige was noch funktionierte war Ctrl-Alt-Del; man konnte danach zwar unter den erscheinenden Optionen nicht mehr per Tastaur/Maus wählen – aber nach 30 sek. wurde der automatische Logout durchgeführt. Nach einem erneuten Login gab es dann seltsamerweise keinerlei Probleme mehr mit der Maus oder Tastatur.

Interessant war auch, dass das Problem offenbar User-spezifisch war. Ein initialer Login nach dem Booten unter einer anderen UserID führte zu keinen Freezes.

Es war praktisch unmöglich zu beurteilen, ob das Problem an Plasma, anderen KDE-Komponenten oder eben den Gnome-Programmen lag. Die üblichen Log-Einträge (systemd journal, .xsession-errors) gaben nichts her.

Nach ein wenig Recherche im Internet fand ich folgende Artikel:
https://bugs.kde.org/show_bug.cgi?id=341963
https://forum.kde.org/viewtopic.php?f=289&t=124690

Ich hatte keineswegs dort angesprochene Probleme mit einer voll-laufenden Partition oder ähnlichem. Aber einer der dort besprochenen Lösungsansätze half:

Nach einem Löschen der Einträge/Subverzeichnisse im Verzeichnis “~/.cache” lief alles wieder wie es sollte. Das geschilderte Problem ist seither nicht wieder aufgetaucht.

Herzlichen Dank an all diejenigen, die im Rahmen der Bewältigung ihrer eigenen Probleme das Thema potentieller “.cache”-Probleme des KDE-Plasma-Desktops herausgefunden haben! Es ist wert, diesen Punkt als KDE-Nutzer im Kopf zu behalten.

Welches der Programme, das im “.cache”-Verzeichnis Einträge hinterlegt, Schuld war, konnte ich nicht mehr nachvollziehen, da ich die “.cache”-Subverzeichnisse leider und idiotischerweise pauschal gelöscht habe. Es wäre besser gewesen, es für spätere Analysen einfach umzubenennen ….. Als potentiell schuldige Programme kommen in meinem Fall in Frage :
chromium, fontconfig, gstreamer, ibus, mozilla, tracker, webkit, xine-lib.

Kmail 4.9 – Datenverlust durch Spamfilterung

Bin letzte Woche unter Opensuse 12.1 auf KDE 4.9 umgestiegen, was mir generell ganz gut gefällt. Besonderes Augenmerk habe ich jedoch wieder mal auf KMail im Zusammenspiel mit IMAP-Servern und (OX-) Adressbüchern gelegt.

Hierzu erste Eindrücke:

Zuerst das Positive:

Mit etwas Mühe und viel Geduld kann man Kmail 4.9 im Gegensatz zu Kmail 4.8.2 – 4.8.4 x nun sogar davon überzeugen, dass die automatische Adress-Suche und -Vervollständigung beim Erstellen neuer Mails halbwegs funktioniert. (Als Linux Fan einen solchen Satz schreiben zu müssen, ist eigentlich peinlich!) Zur “address autocompletion” etwas mehr in einem späteren, separaten Beitrag.

An die Mängel bei der Adress-Autocompletion hatte man sich als Anwender ja schon seit einiger Zeit gewöhnt (siehe https://bugs.kde.org/show_bug.cgi?id=259949 ). Damit und zugehörigen Workarounds kann man leben

Nun aber das Negative:

Der Suchdialog funktioniert nach wie vor nicht:
Der Kmail-Suchdialog zum Suchen von Mails ist nach wie vor nicht benutzbar. Bei mir werden nun gar keine Treffer mehr angezeigt. Das ist fast besser als das, was früher am Schirm erschien. Also: Das Einzige, was bzgl. der Suche von Mails wirklich funktioniert, ist unter Kmail die Schnellsuchleiste oberhalb der Anzeige der Mailliste. Alles andere funktioniert nicht oder nicht richtig. Dieser Punkt allein disqualifiziert Kmail im Moment für den professionellen Einsatz.

Leider, leider, leider … Viel schlimmer ist aber noch Folgendes: Im Moment besteht die Gefahr eines (ggf. umfänglichen) Datenverlustes durch Spamfilterung an KDE’s E-Mail-Client.

Spamfilter eliminieren Mailinhalte:
Meine Frau hat gestern Abend Bogofilter für die Spam-Elimination auf ihrem Kmail eingerichtet. Hauptgrund ist, dass sie auch Mailkonten auf externen IMAP-Servern und nicht nur unserem eigenen benutzt. (Auf unserem eigenen Server werkelt Spamassassin und macht dort einen guten Job). Der Einsatz von Bogofilter unter Kmail sah anfänglich auch gut aus. Mails, die bereits als gelesen markiert waren und danach der Spamfilterung unterzogen wurden, wurden richtig und wie in den Filtereinstellungen vorgesehen behandelt. Die große Überraschung kam jedoch am nächsten Morgen:

Aus allen neuen Mails, die von Bogofilter als Spam eingestuft wurden, wurde der Mail-Body entfernt. Sprich: Diese Mails waren danach leer!

Dies betraf alle neuen ungelesen Mails – egal aus welcher IMAP-Quelle. Das ist keineswegs nur ein Darstellungsproblem am (K-)Mail-Client: Die Mails werden über Akonadi als leere Mails mit den jeweiligen IMAP-Server “abgeglichen”. Ein kurzer Test zeigte übrigens, dass das gleiche Problem unter Kmail auch bei Einsatz des Perl-basierten Spamassassin auftritt.

Irgendwie führt die Modifikation des Mailheaders durch Bogofilter/Spamassassin am Kmail-Client dazu, dass im Zusammenspiel von KMail – Akonadi – IMAP-Server die Mailinhalte von Mails gelöscht werden, die noch nicht als gelesen markiert wurden.

Nebenbei: Ein weiterer Bug ist der, dass diese derart malträtierten Mails nicht – wie in den Filterregeln vorgesehen – in einen SPAM-Ordner verschoben wurden. Und Spamassassin braucht beim Durchkämmen von größeren Verzeichnissen unglaublich viel CPU. Aber was solls … ich rege mich nicht mehr auf – sonst kommt gleich wieder ein Entwickler und macht mich mit Nachdruck darauf aufmerksam, dass seine Arbeit freiwillig ist und nicht bezahlt wird. (Das finde ich auch schlimm, meine aber trotzdem, dass SW-Qualität primär etwas mit vernünftigen Change Management und Release-Prozessen zu tun hat …)

Jedenfalls finde ich: Das Entfernen des Mailinhalts macht nicht nur keinen Spaß – das ist ein echtes Problem ! Und es ist keineswegs neu – wie ich nach ein wenig Recherche lesen musste:
https://bugs.kde.org/show_bug.cgi?id=295484

Ich habe die Spamfilterung bei meiner Frau jedenfalls vorläufig abgestellt. Sie hofft jetzt auf bessere Zeiten und sucht mal wieder nach Alternativen …

Um böse Überraschungen zu vermeiden, kann ich jedem Kmail-Anwender im Moment nur raten, Spam-Filter vor einem Einsatz wirklich ausführlich zu testen und auf umfängliche Trainingsläufe mit produktiven Mailfoldern zu verzichten – bis man sicher ist, dass nichts passiert.

Fazit:
Seit der Einführung von Akonadi, Nepomuk, Strigi reißen die Probleme mit Kmail für die Anwender leider immer noch nicht ab.

Kmail 4.8 – Suchfunktionalität weiterhin im Eimer

Seit der Umstellung auf das akonadi-basierte Kmail2 (unter Opensuse passierte das nach KDE 4.6.4) gibt es Probleme mit der Suche nach Mails unter Kmail. Diese Feststellung ist mehr als traurig, denn im täglichen professionellen Einsatz von Mail-Programmen benötigt man Suchfunktionen, die einen schnell mehrere Suchkriterien miteinander kombinieren lassen – z.B. für den Mail-Text und für das Absender-Feld.

Kmail 1.13.7 wies hierfür einen voll funktionsfähigen eigenen Such-Dialog auf. Auf einem unserer Rechner ist die alte Version noch unter KDE 4.6.4 installiert. Da läuft alles noch prima – auch im Zusammenspiel mit IMAP-Servern.

Wie ist der Zustand seit KDE 4.7 und auch jetzt noch unter KDE 4.8 ?

  • Weder unter Kmail 4.7.4 noch unter Kmail 4.8 gibt der Suchdialog einem eine Möglichkeit zur Eingabe eines Mailverzeichnisses, den man durchsuchen will.
  • Wenn gesucht wird, so wird (manchmal) in allen Mailverzeichnissen gesucht.
  • Unter KDE 4.7.4 liefern viele Suchvorgänge Ergebnislisten mit leeren Zeilen am Anfang.
  • Unter KDE 4.8 liefert eine Suche mit mehreren kombinierten Such-Kriterien leere Resultsets, obwohl es viele Mails gibt, die die Kriterien erfüllen.
  • Manche Suchen nach Begriffen im vollständigen Mailtext liefern Resultsets – aber auch die nicht immer zuverlässig. Die Suchergebnisse sind nicht immer vollständig.

Das Ganze ist so fehlerhaft, dass man den Suchdialog unter Kmail im Moment als nicht benutzbar ansehen muss. Im Grunde ein Desaster! Hingewiesen hat mich darauf übrigens Martin Lüchem. Ich wollte es ihm zunächst gar nicht glauben, aber leider hat er recht.

Die einzige Suche, die bei mir z.Z. noch funktioniert, ist die über die Eingabezeile im normalen Kmail-Fenster. Das ist eine Volltext-Suche. Die scheint zu klappen. Aber wie gesagt, das reicht für den professionellen Einsatz überhaupt nicht.

Da fragt sich der KDE-Anwender erneut: Wie kann es sein, dass sich solche Mängel über zwei größere Releases von KDE 4 hinweg halten können?

Update KDE 4.8 – Nepomuks hohe CPU-Last

Habe gerade unter Opensuse 12.1 auf KDE 4.8 upgegraded. Danach erzeugt Nepomuk samt virtuoso-t ähnlich wie früher bei KDE 4.6 eine enorm hohe CPU-Last, die sich leider nicht so ohne weiteres beseitigen lässt.

Bei mir hat folgendes geholfen:

  • Stoppen von Nepomuk über die KDE-Systemeinstellungen.
  • Stoppen von Akonadi (man benutze das Kommando “kcmshell4 kcm_akonadi”,
    gehe dann im sich öffenenden Fenster auf den 2-ten Reiter für die “Einrichtung des Akonadi-Servers”
    und stoppe dort den Akonadi-Server).
  • Zur Sicherheit : Herunterfahren in den Runlevel 3
  • Löschen des Verzeichnisses ~/.kde4/share/apps/nepomuk
  • Löschen aller Konfigurationsdateien der Form ~/.kde4/share/config/nepomuk*
  • Löschen aller Konfigurationsdateien der Form ~/.kde4/share/config/akonadi_nepomuk_*
  • Hochfahren in den Runlevel 5 und Log in in den KDE-Desktop.

Danach wurden bei mir neue Konfigurationsdateien angelegt und auch das Nepomuk-Verzeichnis wurde erneuert.

Nepomuk begann dann mit einer Reindizierung aller möglichen Ressourcen, aber beanspruchte die CPU dabei viel, viel weniger als zuvor. Ferner verhält sich Nepomuk jetzt bei mir sogar adaptiv und begrenzt die CPU-Belastung auf Zeiten, in denen ich mit anderen Programmen nicht so viel macht.

Siehe hierzu auch https://bugs.kde.org/show_bug.cgi?id=289932, Kommentar #3 und weitere Kommentare.

Schade, dass die KDE-Entwickler immer wieder solche Schnitzer produzieren. Es muss doch möglich sein, die Programme neuer Versionen so zu gestalten, dass es möglich wird KDE-Updates durchzuführen, ohne Konfigurationsdateien von Schlüsselkomponenten löschen und neu anlegen zu müssen.

Nachtrag 15.02.2012:

Ich habe ein anderes System, auf dem folgende Voraussetzungen gegeben waren:

1) Opensuse 12.1 wurde von scratch neu installiert – und zwar zunächst ohne KDE, aber mit XFCE.
2) Danach habe ich direkt KDE 4.8 aus dem Repository http://download.opensuse.org/repositories/KDE:/Release:/48/openSUSE_12.1/ installiert. Es gab also kein Update von KDE 4.7.2.

Nach der Anbindung an einen IMAP-Server begann der Nepomuk-Indexer zu arbeiten und zwar ziemlich lange. Als nach ca. 30 Minuten kein Ende absehbar war, bin ich in die KDE-Systemeinstellungen (“systemsettings”) gegangen und dort in die Einstellungen zur “Desktopsuche”. Dort habe ich in der angegebenen reihenfolge folgende schritte durchgeführt:

  • Deaktivierung des Punktes “E-Mail-Indexer aktivieren” -> Button “Anwenden”
  • Deaktivierung des Punktes “Nepomuk-Datei-Indexer aktivieren” -> Button “Anwenden”
  • Deaktivierung des Punktes “Nepomuk-Semantik-Dienste aktivieren” -> Button “Anwenden”

Danach geht die CPU-Belastung durch Nepomuk auf 0. U.a. ist der Email-Indexer gestoppt. Dann habe ich folgendes gemacht:

  • Aktivierung des Punktes “E-Mail-Indexer aktivieren” -> Button “Anwenden”
  • Aktivierung des Punktes “Nepomuk-Datei-Indexer aktivieren” -> Button “Anwenden” und Durchlaufen lassen ! Ggf. über “Erweiterte Einstellungen” den verzeichnisbereich, der indiziert wird, einschränken.
  • Aktivierung des Punktes “E-Mail-Indexer aktivieren” -> Button “Anwenden”

Danach war Ruhe und die hohe CPU-Belastung durch virtuoso-t / nepomuk ging auf fast 0! Vermutlich wurde der erstmalige Neuindizierungsprozess von Nepomuk (kontrolliert?) abgebrochen. Danach scheint es aber leider so, dass der Email-Indexer gar nicht mehr läuft – zumindest werden bei Suchvorgängen nach Begriffen
im Text von Emails keine Treffer mehr unter neuen Emails gefunden.

Posted in KDE