auf Facebook teilen auf Google+ teilen auf LinkedIn teilen auf Pinterest teilen twittern
Werbehinweise
» Startseite » Software » multi-platform » Sylpheed(-Claws) 

Sylpheed(-Claws)

Sylpheed unter Linux und Win32

Sowohl unter Linux als auch unter Windows verwende ich Sylpheed bzw. Sylpheed-Claws als MUA. Angefangen habe ich mit Sylpheed auf meiner Linuxkiste, irgendwann war dann auch unter Windows Sylpheed installiert. Von Anfang an habe ich auf das gleiche Maildir zugegriffen, so standen mir die Mails sowohl unter Linux als auch unter Windows zur Verfügung.

Im Laufe der Zeit wollte ich natürlich – trotz unterschiedlicher Konfiguration der Mailabrufe (Proxyserver unter Windows, direkt unter Linux) – möglichst viel der Konfiguration unter beiden Betriebssystemen nutzen ohne dabei unnötiges »Doppelmanagement« betreiben zu müssen. Leider hat es sich nicht ganz so einfach gestaltet wie zunächst angenommen, aber eins nach dem anderen.

Besonderheiten meiner Konfiguration

Ich habe unter Linux andere Einstellungen als unter Windows. Warum? Weil ich unter Linux die Mails direkt von den POP3-Servern abrufe, unter Windows laufen die Mails noch durch einen Spamfilter, welcher als Proxy auf localhost läuft.

Unter anderem deshalb kann ich nicht einfach das Verzeichnis ~/.sylpheed auf sein Windows-Pendant per Symlink legen, sondern muß mir etwas mehr mühe machen.

Außerdem war die Darstellung bei gleichen Angaben von Schriftart und -größe doch um Welten auseinander.

Ärgerlich bei der Trennung der Konfigdateien: Natürlich müssen die Postfächer auch zweimal eingetragen werden, und bei Passwortänderungen gibt's auch doppelt soviel Aufwand beim Aktualisieren des MUA.

Die Konfigurationsdateien und E-Mails werden auf einer FAT32-Partition gespeichert. So kann sowohl von Windows als auch von Linux aus schreiben darauf zugegriffen werden. Alternativ kann natürlich auch eine SMB-Freigabe auf einem Server verwendet werden.

Symlinks

Da ich, wie oben schon geschrieben, leider nicht das komplette Sylpheed-Verzeichnis per Symlink unter Linux einbinden konnte, war mein erster Gedanke, die notwendigen einzelnen Dateien Symlink für Symlink unter Linux einbinden.

Bei Verzeichnissen kein Problem, bei Dateien aber schon. Sylpheed-Claws legt das Adressbuch neu an anstatt in die Dateien hineinzuschreiben. Daher funktionieren Symlinks natürlich nicht.

Doch zunächst zu dem Symlink, der funktioniert: Das Maildirectory. Zunächst wechselt man in das Userverzeichnis und setzt dann einen Symlink auf das entsprechende Verzeichnis auf der Windows-Partition:

 cd ~/ ln -s "/mnt/win_c/Dokumente und Einstellungen/[USERNAME]/ Anwendungsdaten/Mail Mail 

Natürlich ist der Aufruf ein »Einzeiler«, aber bei der Gestaltung meiner Seite passt es eben nicht in eine Zeile.

Adressbücher

Bei Sylpheed gibt es nicht nur eine Datei für die Mailadressenverwaltung, die Listen und Bücher werden vielmehr in mehrere Dateien aufgeteilt. Die Dateien der einzelnen Adressbücher sind über den Inhalt der addrbook--index.xml definiert. Hier ein Beispiel meiner Adressbücher:

 <?xml version="1.0" encoding="ISO-8859-1" ?> <addressbook> <book_list> <book name="Allgemeine Adresse" file="addrbook-000001.xml" /> <book name="Persönliche Adresse" file="addrbook-000002.xml" /> <book name="T4-Fahrer" file="addrbook-000003.xml" /> </book_list> <vcard_list> <//vcard_list> <jpilot_list> </jpilot_list> <ldap_list> </ldap_list> </addressbook> 

Damit sowohl unter Windows als auch unter Linux die gleichen Adressbücher zur Verfügung stehen müssen bei mir die vier Dateien

 addrbook--index.xml addrbook-000003.xml addrbook-000003.xml addrbook-000003.xml 

unter beiden Betriebssystemen bzw. den jeweiligen Sylpheed-Claws Installationen zur Verfügung stehen. Leider schreibt Sylpheed die Adressbücher bei einer Änderung neu und nicht in die Datei selbst hinein. Daher kann man unter Linux keinen Symlink auf die Dateien setzen. Meine Lösung für dieses Problem ist im nächsten Abschnitt beschrieben.

Script für Datenaustausch

Wie im vorangegangenen Abschnitt beschrieben legt Sylpheed-Claws legt das Adressbuch bzw. die einzelnen Dateien neu an, anstatt in die bereits vorhandenen Dateien hineinzuschreiben bzw. dem Symlink zu folgen.

Sylpheed legt den inhalt der originalen Datei als Backup an (Suffix .bak) und schreibt die veränderten Daten in eine frisch angelegte Datei. Dabei werden eingerichtete Symlinks gelöscht und das veränderte Adressbuch wird nicht auf das Ziel des Symlinks geschrieben, sondern neu angelegt.

Mein Lösungvorschlag um das Problem zu umgehen: Ein Start-/Stoppscript, welches die Dateien von ihrem eigentlichen Ort (der Windows-Partition) in das Userverzeichnis unter Linux kopiert. Natürlich können nicht nur die Adressbücher kopiert werden, auch andere Sylpheed-Claws Konfigurationsdateien oder Konfigurationsdateien anderer Programme können mit dem Script syncronisiert werden.

Hier nun das Script von mir, zusätzlich sind noch Angaben für das Kopieren der GnuPG-Dateien sowie der X-Chat-Konfiguration mit eingebaut. Einfach das Script anpassen bzw. die nicht benötigten Passagen löschen:


Abgesehen von den Aufrufen im unteren Bereich des Scriptes, bei denen eventuell der X-Chat-Block gelöscht werden müßte, müssen nur oben die Angaben angepasst werden. Die zu kopierenden Dateien werden in einem Array hinterlegt, aber eigentlich ist das Script so simpel, dass es keiner großen Erklärungen bedarf.

Das Script habe ich sylpheeddatacopy genannt und nach /etc/init.d/ gespeichert.

Zu beachten sind: Leerzeichen müssen mit einem \ escaped werden. Der Pfad muß – auch wieder wegen den Leerzeichen im Aufruf – mit " umschlossen werden.

Zum Beispiel: cp "${windowspath}/addrbook--index.xml" $linuxpath/.

Der Linuxpfad enhält zumindest bei mir keine Leerzeichen, daher konnte ich mir dort die " sparen.

Das Script soll natürlich beim Starten und Beenden des Rechners ausgeführt werden. Daher müssen in den entsprechenden Verzeichnissen der Runlevels Symlinks angelegt werden:

ln -s /etc/init.d/sylpheeddatacopy /etc/rc0.d/K99sylpheeddatacopy
(kopiert von Linux auf WIN im Level 0)

ln -s /etc/init.d/sylpheeddatacopy /etc/rc6.d/K99sylpheeddatacopy
(kopiert von Linux auf WIN im Level 6)

ln -s /etc/init.d/sylpheeddatacopy /etc/rc2.d/S99sylpheeddatacopy
(kopiert von WIN auf Linux im Level 2)

Für die Gentoo-User genügt ein

rc-update add sylpheeddatacopy default

Jetzt werden beim Herunterfahren bzw. Rebooten die Daten von Linux in das Windows-Verzeichnis geschrieben, und beim Systemstart bzw. Wechseln ins Runlevel 2 von Windows nach Linux kopiert. Sollten die Dateien identisch sein, wird eine Fehlermeldung ausgegeben.

Sylpheed-Claws selbst kompilieren

Fertige Pakete sind natürlich schon was bequemes. Ob nun als .deb oder .rpm sei einfach mal egal. Der Nachteil: Oft hat man eine alte oder gar veraltete Version installiert. Warum also nicht selbst dafür sorgen, dass man die aktuellste Version auf dem Rechner hat?

Damit ich keine doppelt und dreifach vorhandene »Kurzanleitung« habe ist der Ablauf hier beschrieben: Sylpheed-Claws selbst kompilieren.

GnuPG mit Linux und Win32

Wie auch schon beim Maildirectory kann mittels eines Symlinks dafür gesorgt werden, dass GnuPG sowohl unter Linux als auch unter Windows auf die gleichen Daten zugreift.

 cd ~/ ln -s "/mnt/win_c/Dokumente und Einstellungen/[USERNAME]/ Anwendungsdaten/gpg/" .gnupg 

So stehen nicht nur alle Schlüssel unter beiden Betriebssystemen zur Verfügung, auch die Angaben in der benutzerspezifischen Konfigurationsdatei gpg.conf werden übernommen. Außerdem wird bei einem Schlüsselupdate, egal unter welchem Betriebssystem, natürlich nur ein Abruf der Informationen nötig. Für das andere Betriebssystem stehen die aktualisierten Daten auch zur Verfügung.

 turanga@amy:~/.gnupg$ ls -la insgesamt 416 drwxr--r-- 2 turanga root 32768 2004-01-03 13:26 . drwxr--r-- 17 turanga root 32768 2003-12-04 18:13 .. -rwxr--r-- 1 turanga root 91 2003-12-22 21:17 gpa.conf -rwxr--r-- 1 turanga root 7880 2004-01-03 13:26 gpg.conf -rwxr--r-- 1 turanga root 32548 2003-12-26 13:42 pubring.bak -rwxr--r-- 1 turanga root 33628 2003-12-26 17:16 pubring.gpg -rwxr--r-- 1 turanga root 600 2004-01-03 13:26 random_seed -rwxr--r-- 1 turanga root 3071 2003-10-20 22:42 secring.gpg -rwxr--r-- 1 turanga root 2600 2003-12-26 17:23 trustdb.gpg -rwxr--r-- 1 turanga root 0 2003-10-10 14:45 trustedkeys.gpg 

Weitere Informationen und Links zum Thema GnuPG sind hier zu finden.

multiple key encryption

Verschickt man mit Sylpheed-Claws eine verschlüsselte Nachricht, so kann man nur einen Key auswählen. Will man – beispielsweise zum Archivieren der Mails – die Nachricht auch stets mit dem eigenen Key als Empfänger verschlüsselt haben, so kann dies mit einer kleinen Zeile in der ~/.gnupg/gpg.conf eingerichtet werden.

Mit dem Eintrag encrypt-to [MY-KEY-ID] wird die Nachricht, sofern sie verschlüsselt und nicht nur signiert verschickt werden soll, immer auch für den Empfänger mit der zutreffenden [MY-KEY-ID] (der eigenen E-Mail-Adresse) verschlüsselt.

Unter Windows ist die Angabe natürlich nicht im Installationsverzeichnis von GnuPG vorzunehmen, sondern bei den Konfigurationsdateien des jeweiligen Users. Der Pfad ist ein Abschnitt weiter oben zu finden, bei GnuPG mit Linux und Win32.

auto key retrieve

Und wenn wir gerade sowieso schon dabei sind die gpg.conf zu editieren, dann können wir auch noch die folgenden beiden Zeilen hinzufügen:

 keyserver dap://pgp.surfnet.nl:11370 keyserver-options auto-key-retrieve 

Damit holt sich GnuPG gleich den Key vom Server (sofern dort vorhanden), wenn sich der Key noch nicht »am Keyring« befinden sollte. Sylpheed(-Claws) stellt die Anfrage an GnuPG, welche diese dann ausführt.

Abschließend noch eine Anmerkung: Seit der Version 1.2.x von GnuPG heißt die Konfigurationsdatei Nicht mehr options, sondern gpg.conf. Im Web sind aber noch immer Anleitungen zu finden, bei denen die Datei options verändert werden soll. Sollte keine gpg.conf vorhanden sein, greift GnuPG auf die options zurück. Man sollte aber dennoch die Änderungen nur noch in der gpg.conf vornehmen bzw. die eventuell vorhandenen Einträge aus der alten Konfigurationsdatei in diese Datei übernehmen.


 
 
Das Generieren dieser Seite dauerte genau 0.05086 Sekunden.