From: Boris Kraut Date: Mon, 18 Aug 2008 14:24:14 +0000 Category: Sender: Message-ID: <20080818142414.F7i4Bx@silberbruch> References: Keywords: Comments: To: undisclosed-recipients: ; Subject: Adressverwaltung auf der Konsole 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/