Subject: Adressverwaltung auf der Konsole
From: Boris Kraut <[email-masked]>
To: undisclosed-recipients: ;
Date: Mon, 18 Aug 2008 14:24:14 +0000

Bei CLI-Anwendungen ist die Unix-Philosophie von einem Werkzeug fuer
eine Aufgabe immer noch sehr stark verbreitet. So gibt es viele
unterschiedliche Mailprogramme, die zwar ein rundimentaeres Adressbuch
mitbringen, aber eine hochintegrierte Oberflaeche gibts es nicht. MUAs wie
mutt [1], cone [2] oder alpine [3] lassen sich jedoch relativ leicht um
die noetigen Funktionen erweitern, die man auch gut als alleinstehende
Programme nutzen kann:

Abook
-----

Abook [4] ist ein Adressbuch, dass speziell fuer den Gebrauch in Verbindung
mit mutt erstellt wurde und kann entweder ueber ein komfortables Curses-
Interface genutzt werden oder direkt von der Kommandozeile. Letzteres
laesst sich dann natuerlich auch prima in mutt einbinden. Dazu fuegt man
in seine Konfigurationsdatei

> set query_command="abook --mutt-query '%s'"

ein und kann von da an ueber das Kuerzel Strg+T bei der Eingabe des
Empfaengers das neue Adressbuch nutzen. Umgekehrt kann man auch direkt aus
der Curses-Oberflaeche des Adressbuches eine Mail mit mutt schreiben. Als
zusaetzliches Schmankerl bietet Abook auch die Moeglichkeit seine Kontakte
von und in verschiedene Formate zu konvertieren. Kleiner Wermutstropfen: Der
vCard-Standard wird erst mit einem Patch vom Juni 2008 [5] korrekt
unterstuetzt.

slPIM
-----

slPIM [6] wird einem oft als Alternative zu Abook empfohlen, doch ist die
Entwicklung wohl schon lange eingestellt, denn die letzte Aenderung ist
von 2001 und die Mailinglisten sind fest in der Hand von Spambots. Ich habe
es daher mir nicht naeher angesehen und wollte es nur der Vollstaendigkeit
wegen ansprechen.

rolo
----

Auch rolo [7] hat ein aehnliches Schicksal hinter sich wie slPIM, ist aber
immer noch sehr gut zu gebrauchen. Es bietet eine etwas schlankere
Textoberflaeche als Abook, steht diesem aber in Sachen Funktionalitaet in
nichts nach. Rolo nutzt kein proprietaeres Textformat zum Speichern der
Kontakte, sondern arbeitet direkt mit vCards, welche es auch in der aktuellen
Version 3.0 unterstuetzt. In der Kontaktdatei koennen vCards unterschiedlicher
Versionsnummern ohne Probleme zusammen genutzt werden. Auch ist der Quelltext
sehr einfach anzupassen und so laesst sich der Index leicht an die eigenen
Vorlieben anpassen.

agrep
-----

Wer sowieso nicht viele Kontakte verwalten will oder einfach nicht noch ein
zusaetzliches Programm installieren will, kann auch gut ohne auskommen, denn
je nach Version des grep-tools braucht man gar nicht mehr. So ist agrep [8]
in der Lage nicht nur zeilenweise zu operieren, sondern jede Zeichenkette als
Trenner zu interpretieren. Nutzt man beispielsweise eine vCard-Datei wie
rolo, so kann man leicht mit `agrep -d "BEGIN:VC" "SUCHWORT" contacts.vcf`
sich die Datensaetze anzeigen lassen, die dem SUCHWORT entsprechen. Die
erhaltenen vCards kann man dann durch weitere Grep-Laeufe pipen und so die
gewollte Information schnell finden. Daraus lassen sich dann genau an den
eigenen Bedarf angepasste Adressmanagementskripte erstellen.

Fazit
-----

Unter Windows habe ich mir nie Gedanken drueber gemacht, meine Kontakte zu
verwalten. Jeder Messenger und eMail-Client hatte seine eigene Kontaktliste
und das "Management" passierte dann im Kopf. Daher habe ich unter Linux und
FreeBSD anfangs auch nichts vermisst, insbesondere auf der Kommandozeile
nicht. Vor ein paar jahren habe ich dann damit begonnen, ein richtiges
Adressbuch (aus Papier) zu fuehren, doch es wurde schnell unhandlich, weshalb
ich mich nach elektronischen Pendants umgesehen habe. Da ich nicht extra
wegen des Adressbuchs auf Evolution oder einen anderen grafischen Mailer
umsteigen wollte, habe ich zu erst die .aliases Datei von mutt verwendet
und diese spaeter durch mehrzeilige Eintraege in einem selbsterdachten Format
erweitert. Erst nachdem ich mich jetzt etwas naeher mit dem Thema
beschaeftigt habe, bin ich bei meiner derzeitigen Loesung angekommen: Ich
nutze weiterhin eine Textdatei mit mehrzeiligen Eintraegen, welche nun aber
dem vCard-Standard entsprechen. Das Konvertieren verlief erstaunlich einfach,
da ich wohl instinktiv eine aehnliche Struktur fuer meine alte datei verwendet
habe, wie das vCard-Format; das spricht doch mal dafuer, dass vCard nicht von
reinen Theoretikern erdacht wurde. Zum Anzeigen verwende ich eine angepasste
Version von rolo, die im Hauptindex mehr Felder anzeigt, oder ein simples
Shellskript. Als Editor komm vim zum Einsatz. Leider koennen die meisten
Anwendungen nicht nativ mit vCards umgehen oder wollen eigene Adressbuecher
pflegen. Ich nutze daher zum Zugreifen einige Filterskripte, die auch dafuer
sorgen, dass eventuelle Aenderungen an programmeigenen Adressbuechern mit dem
Hauptadressbuch abgeglichen werden. Ich wuerde mir wuenschen, wenn sich die
Schnittstellen da ein wenig zwischen den Anwendungen angleichen; vielleicht
kommt das ja irgendwann mal.

[1] http://www.mutt.org/
[2] http://www.courier-mta.org/cone/cone00index.html
[3] http://www.washington.edu/alpine/
[4] http://abook.sourceforge.net/
[5] http://abook.sourceforge.net/patches/abook_vcard_import.patch
[6] http://liza.umcs.lublin.pl/~jruthe/slpim/
[7] http://rolo.sourceforge.net/
[8] ftp://ftp.cs.arizona.edu/agrep/