Was und wo speichert KDE4 eigentlich alles?

Tuesday, November 22. 2011

 Und wie putze ich?

Also zuerst mal den Trash, wo der liegt, hatte ich in einem früheren Beitrag mal notiert. Dolphin hat den Mülleimer in der linken Spalte und nach Rechtsklick/Empty Trash ist das Verzeichnis auch wirklich leer. Was nicht heisst, das die Sachen da wirklich weg sind, wer low level die Festplatte untersucht, wird fast alles wiederfinden können.)

Ich hatte schon mal ein Programm KSweeper entdeckt und aus den debian-repositories installiert und laufen lassen, der Doku des Programmes entnahm ich einen Hinweis, der mich zu /var/tmp/kdecache-user führte. Ok, da gibt es div. Dateien und Unterordner, etwa http/. Sweeper laufen lassen (im Abschnitt Browser war alles angehakt), im Subdir http/ nachgeschaut und die tausende von Dateien dort sind weiter vorhanden. Hm, da ist wohl noch Platz für Verbesserungen...

Immerhin, mit dem Pfad an der Hand zu Google und zu einem längeren und recht gut strukturierten Dokument gelangt, aus Ubuntu - Sicht aber das tut ihm keinen Abbruch: Privacy Cleanup 101 Das ist eine Menge Lesestoff. Einem der Links dort folgend finde ich KScrubber. Das kann man als .deb herunterladen und mit sudo dpkg -i kscrubber_1.2.8-1_all.deb installieren, bei mir monierte es unerfuellt Abhaengigkeiten, die ein apt-get install -f dann loeste. KScrubber laeuft von der command line.

Da das Ziel zunaechst Forschung war, habe ich KScrubber mit  sudo kscrubber --verbose --sim --clean|less im schwatzhaften Simulationsmodus gestartet, less hilft, die umfangreichen Ausgaben zu lesen.

(wird fortgesetzt)

KeepassX Konverter

Monday, November 21. 2011

download: convert2keepass.03a.tar.gz

Die Ausgangslage: auf einer kleinen verschlüsselten Partition halte ich eine seit vielen Jahren gehegte Sammlung von mehr oder weniger geheimen Infos, in vorwiegend kleinen Textdateien. Und diese wollte ich in eine Keepass - Datenbank überführen. Bei zusammen doch mehreren hundert Schnipseln war Handarbeit keine Option.

Die Zielanwendung ist KeepassX (v.0.43), das ich mit sudo apt-get install keepassx aus den Debian repositories installiert habe. Bis auf das Schnuller-Logo, das leider auch als Icon verwandt wird, habe ich an der Anwendung wenig auszusetzen: klein, flottt, unaufdringliche Oberfläche und es gibt sie in Versionen für alle Betriebssysteme und Architekturen, die ich habe. Ich kann die unter Linux erstellte Datenbank auf Windows, auf dem Mac, ja auch auf meinem Androiden öffnen, ergänzen, die veränderte .kdb vom Handy wieder auf Linux zurückspielen, die Sicherheitsfeatures machen auch einen guten Eindruck.

KeepassX kann Daten exportieren - als gegliederte Textdatei oder als keepassx.xml - und importieren - keepassx.xml, kwallet.xml und PwManager-Datei. Da nur ein Format sowohl für Export als auch Import zur Verfügung steht, war nicht lange zu überlegen, welches Format ich für einen Konverter wählen würde.

Es ist ein kleines Bash-Script geworden, das mit den Parametern QuellVerzeichnis zielVerzeichnis ZieldateiName aufgerufen wird und dann vom 'Quellverzeichnis abwärts durch alle Unterverzeichnisse alle Dateien sucht und einträgt. Dabei wird der Titel des Eintrags aus dem Namen der Textdatei (ohne Extension) gebildet und der Inhalt der Datei wird in das Feld Comment geschrieben.

Das Ergebnis ist dann eine lange xml-Datei, die mit der Import-Funktion als eine Keepassx-db geladen werden kann. Die Sache ist frisch und Alpha, derzeit kann es

  • prüft auf taugliche Parameter, Schreibrechte im ZielVerzeichnis
  • rekursive Bearbeitung, die Struktur in der Keepass-DB entspricht der Verzeichnisstruktur
  • prüft mimeType der Dateien und bearbeitet nur text* und message*
    • ruft dazu file
    • Texte, die von MacOS <10 stammen, machen uU Probleme
  • ersetzt die für XML unverträglichen Zeichen &<>"' und Zeilenenden durch html entities
  • gibt Statistik über bearbeitete Dateien und Verzeichnisse aus
  • schreibt für keepassX importierbares .xml und nennt dessen Dateipfad.

 

Um die damit erzeugten Datenbankeinträge nicht als eigene .kdb zu importieren, sondern mit einer bereits bestehenden zu vereinen, muss man dann doch Hand anlegen: die bestehende kdb als .xml exportieren, die beiden xml in einem Editor zusammensetzen und neu importieren. Grade gemacht, funzt.

 und das kann doch nicht nur mich stören... Also wie bekomme ich Anwendungen aus dem Gnome-Reich wie Synaptics oder KompoZer oder die Mozillas dazu, mehr wie native KDE-Anwendungen auszusehen?

Google zeigte mir unter anderem diese hilfreiche Seite, wenn auch nicht alle der da erwähnten Pakete auffindbar waren, und bei mir auch nicht alles so funktionierte...

Der beste Tip war, kde-config-gtk-style zu installieren, dass dann als GTK Styles and Fonts in System Settings / Look & Feel / Appearance ein Control einbindet, mit dem der Style, den GTK-Anwendungen benutzen, bestimmt und veraendert werden kann. qtcurve habe ich auch installiert und finde es, na sagen wir mal, "schon besser".

Was mir aber Probleme machte und zerbrochen scheint ist gtk-qt-engine. Ich bin nicht ganz sicher, aber es mag auch eine Nebenwirkung dessen sein, was der (ebenfalls von diesem control angebotene) Button "Install-scrollbar fix..." anrichtet. Jedenfalls fand ich auf einmal die Scrollbars in Icedove und Iceweasel gan z unbenutzbar - im Hover wird der Scrollbar als ein grosses graues Rechteck  gezeichnet, anliegende Buttons werden auch überdeckt und es geht einfach gar nicht. Schlimmer noch: Icedove laesst sich nicht mehr richtig beenden, der Process bleibt im Hintergruind aktiv, frisst 100% CPU und geht erst mit einem ausdruecklichen kill. 

Ich habe etwas suchen müssen, bis ich eine Beschreibung fand, was "Install scrollbar fix..." eigentlich macht, ein Forscher fand:

I decided to go ahead and try it and it said it had done something in my Mozilla profile.
I checked there and as far as I can tell for now, it added the following in userChrome.css
and userContent.css in the Firefox default profile
# The following four lines were added by KDE
scrollbarbutton[sbattr="scrollbar-up-top"] { display: -moz-box !important; }
scrollbarbutton[sbattr="scrollbar-down-top"] { display: none !important; }
scrollbarbutton[sbattr="scrollbar-up-bottom"] { display: none !important; }
scrollbarbutton[sbattr="scrollbar-down-bottom"] { display: -moz-box !important; }

Manuelles auskommentieren dieser Zeilen heilte aber nichts, apt-get remove gtk-qt-engine und die Auswahl eines der Styles unter "Use another style" war die einzige für mich gangbare Lösung. QtCurve, Glossy, ClearLooks - ymmv. 

 Das muß noch nicht der letzte Stand sein, hier sind alternative Vorschläge:

 

Aktuelle Mozillas auf Debian Squeeze

Thursday, November 10. 2011

Klar, es ist ein Marketing-Tick; Google hat bei Chrome damit angefangen, jedes Versönchen mit einem glatten Versionssprung auszuzeichnen und nun machen es die anderen Broswerbauer eben nach. Aber es irritiert doch, immer noch mit Iceweasel 3.x unterwegs zu sein, wenn schon Version 8 herausgekommen ist.

Nun stiess ich darauf, dass es ein Debian Mozilla Team gibt, das Iceweasel und Icedove / Thunderbird in aktuellen Versionen als Backport bereitstellt. Die Seite ist an sich selbsterklärend, debian-Version einstellen, Programm und Version auswaehlen, und die dynamisch angepassten Zeilen kopieren und in  /etc/apt/sources.list einpasten. Key importieren und dann mit einem ebenfalls dynamisch angepassten cmd installieren.

Mit Iceweasel klappt das auch anstandslos und nun zeigt mir About eine 8.0. fein!

Aber dann stach mich der Hafer und ich wollte es auch mit dem Icedove / Thunderbird probieren. Stable (Squeeze), Icedove, release ausgewählt, eingetragen, apt-get update und den install gestartet. Zuerst sah's auch gut aus, eine neue Version wurde installiert, laut about 5.0, kaute beim ersten Start lange auf den zugehörigen add-ons herum und knipste mir dann alle Kalender-bezogenen add-ons, Iceowl (Lightning) wie auch den Provider for google Calendar und die Timezone definitions aus.

Und alle Versuche, für iceowl-extension einen backport oder ein installierbares .xpi zu finden, misslangen. Google fand mir nur den Stoss-Seufzer eines Leidensgefährten "please backport iceowl-extension, calendar-google-provider & l10n packages" Yo, ohne den Kalender geht es fuer mich einfach gar nicht - wieso ist der eigentlich nicht längst in Thunderbird integriert statt bei jedem Upgrade immer eine Zitterpartie zu provozieren?

Rollback der Aktion war zum Glueck einfach und schmerzlos:
die Zeile fuer icedove backport aus der sources.list wieder auskommentieren,
apt-get update
apt-get remove icedove
apt-get install icedove iceowl-extension

und alles war wieder beim alten. Einen Vorzug hatte die ganze Aktion aber doch, ich entdeckte das add-on FireTray, das im systray die Anzahl eingetroffener Mails anzeigt. Auch hier hat man es mit Versionitis zu tun, deshalb hier gleich der Hinweis auf die Versionsgeschichte. Nach einigen Versuchen hatte ich dann mit Version 0.3.2 eine Fassung, die sich nicht nur installieren liess sondern dann auch noch wie erwartet funktionierte.

FireTray ist recht gut konfigurierbar, insbesondere erlaubt es, für das tray-Icon zwei verschieden Icons einzutragen, eines wird gezeigt, wenn keine ungelesenen Mails angezeigt werden und das andere, wenn es ungelesene Mails gibt, deren Anzahl wird in auswaehlbarer Farbe darauf gezeichnet. Als default steht hier ein grauer Kasten, der nicht sehr attraktiv war und den ich gleich mit einer anderen Grafik austauschen wollte. Nichts passenderes zur Hand versuchte ich es it einem recht grossen Bild, das Firetray klaglos akzeptierte und sofort, auf IconGröße skalierte, verwandte. Aber nun war die numerische Ausgabe der ungelesenen Mails nicht mehr da. den Pfad zum eigenen Image löschen, und die Anzeige war wieder da. Etwas googeln auf "firetray custom mail notification icon" fand mir auch einen Issue-report, der meiner Situation zu entsprechen schien. Um nicht nur einfach "me too" an den thread dranzuschreiben habe ich ein wenig mit der Funktion gespielt, mein erster Verdacht war ja, dass das custom Icon über die Anzeige gezeichnet würde, deshalb nahm ich ein fast-transparentes Quadrat als Icon. und da stand die Anzahl dann, nur ziemlich kein. Firetray macht ja einen guten Job beim Skalieren eines beliebig grossen Images auf die passende größe, offenbar wird aber die anzahl vor dem Skalieren gezeichnet und wird so uU winzig klein. Wenn man das erst einmal erkannt hat, ist es aber eher ein feature denn ein bug, denn so kann man die Textgröße stufenlos festlegen. Ich habe bei Grafiken zwischen 80x80 und 40x40 auf meinem bildschirm angemessene Größen gefunden. 

Blinkaugen bei 1&1

Saturday, November 5. 2011

Im Kundenauftrag bei 1&1 unterwegs und aua! ist das ein Gewimmel von Zusatzangeboten, Irrwegen, und mehr! Der Webauftritt der Kundin sollte WebAnalytics und ein blog bekommen, beides leuchtet als Option im Controlcenter ihres Homepage-Paketes. Naja, geschenkte Gäule. Die Webanalytics sind ein glorifiziertes Awstats und sehen maximal 3 Monate zurueck. Und das Blog ist eine shared Wordpress Installation mit sehr reduzierter Konfigurationsbreite: man kann aus einer Latte Templates auswählen (aber nichts daran ändern) und man kann eine handvoll vorgegebener Plugins aktivieren (aber keine eigenen/anderen einsetzen). Dafür hat das Blog dann lauter Links zu 1&1 und das Ärgerlichste ist: es ist keine Option zum Export des Blogs vorgesehen. Wenn der Kunde irgendwann die Nase voll hat von 1&1 und weg will, kann er sich die Blog-Einträge mit Copy&Paste rüberziehen, einfach super.
Nun, also doch wie ursprünglich geplant Piwik für die WebAnalytics und Serendipity für's Blog. Auch das macht nicht so richtig spass bie 1&1 denn man bekommt keine error_log zu sehen. Und das heisst, wenn mal was nicht so flutscht wie es soll: Rummachen im Blindflug, uuähh!

Serendipity funzte schliesslich mit einer .htaccess wie dieser (ohne die beiden ersten Zeilen gab es bei event_plugins nur Fehlermeldungen!)

AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php

ErrorDocument 404 /index.php
DirectoryIndex /index.php

RewriteEngine On
RewriteBase /
RewriteRule ^serendipity_admin.php serendipity_admin.php [NC,L,QSA]
RewriteRule ^((archives/([0-9]+)-[0-9a-z\.\_!;,\+\-%]+\.html)/?) index.php?/$1 [NC,L,QSA]
RewriteRule ^(authors/([0-9]+)-[0-9a-z\.\_!;,\+\-%]+) index.php?/$1 [NC,L,QSA]
RewriteRule ^(feeds/categories/([0-9;]+)-[0-9a-z\.\_!;,\+\-%]+\.rss) index.php?/$1 [NC,L,QSA]
RewriteRule ^(feeds/authors/([0-9]+)-[0-9a-z\.\_!;,\+\-%]+\.rss) index.php?/$1 [NC,L,QSA]
RewriteRule ^(categories/([0-9;]+)-[0-9a-z\.\_!;,\+\-%]+) index.php?/$1 [NC,L,QSA]
RewriteRule ^archives([/A-Za-z0-9]+)\.html index.php?url=/archives/$1.html [NC,L,QSA]
RewriteRule ^([0-9]+)[_\-][0-9a-z_\-]*\.html index.php?url=$1-article.html [L,NC,QSA]
RewriteRule ^feeds/(.*) index.php?url=/feeds/$1 [L,QSA]
RewriteRule ^unsubscribe/(.*)/([0-9]+) index.php?url=/unsubscribe/$1/$2 [L,QSA]
RewriteRule ^approve/(.*)/(.*)/([0-9]+) index.php?url=approve/$1/$2/$3 [L,QSA]
RewriteRule ^delete/(.*)/(.*)/([0-9]+) index.php?url=delete/$1/$2/$3 [L,QSA]
RewriteRule ^(admin|entries)(/.+)? index.php?url=admin/ [L,QSA]
RewriteRule ^archive/? index.php?url=/archive [L,QSA]
RewriteRule ^(index|atom[0-9]*|rss|b2rss|b2rdf).(rss|rdf|rss2|xml) rss.php?file=$1&ext=$2
RewriteRule ^(plugin|plugin)/(.*) index.php?url=$1/$2 [L,QSA]
RewriteRule ^search/(.*) index.php?url=/search/$1 [L,QSA]
RewriteRule ^comments/(.*) index.php?url=/comments/$1 [L,QSA]
RewriteRule ^(serendipity\.css|serendipity_admin\.css)$ index.php?url=/$1 [L,QSA]
RewriteRule ^index\.(html?|php.+) index.php?url=index.html [L,QSA]
RewriteRule ^htmlarea/(.*) htmlarea/$1 [L,QSA]

RewriteRule (.*\.html?) index.php?url=/$1 [L,QSA]

<Files *.tpl.php>
    deny from all
</Files>

<Files *.tpl>
    deny from all
</Files>

<Files *.sql>
    deny from all
</Files>

<Files *.inc.php>
    deny from all
</Files>

<Files *.db>
    deny from all
</Files>
(Page 1 of 1, totaling 5 entries)