Lange ist es her seitdem ich die Anleitung Mutt Kontakte aus Owncloud nutzen schrieb. Das Programm pyCardDAV wird nicht mehr weiter entwickelt und auch Owncloud wurde durch Nextcloud ersetzt. Zeit ein Update vorzunehmen.
Installiert werden müssen khard, und vdirsyncer. Die beiden Pythonprogramme/Pythonscripte/Programme sind in den Repositories von Fedora und Debian enthalten. Sie brauchen nicht extra über pip installiert werden
vdirsyncer ist für das synchronisieren der Dateien zuständig, khard ist ein cardDAVclient für die Kommandozeile. Er dient für das Durchsuchen der durch vdirsyncer lokal gespeicherten Dateien. Auch ist es mit Ihm möglich neue Adressen zu speichern.
Vorbereitung
mkdir -p ~/.vdirsyncer/status
mkdir -p ~/.config/khard/contacts/
Einrichtung VDirsync
Die Konfigurationsdatei ~/.vdirsyncer/conf
[general]
status_path = "~/.vdirsyncer/status/"
[pair nextcloud_contacts]
a = "nextcloud_contacts_local"
b = "nextcloud_contacts_remote"
collections = ["from a", "from b"]
metadata = ["displayname"]
[storage nextcloud_contacts_local]
# A storage references actual data on a remote server or on the local disk.
# Similar to repositories in OfflineIMAP.
type = "filesystem"
path = "~/.config/khard/contacts/"
fileext = ".vcf"
[storage nextcloud_contacts_remote]
type = "carddav"
url = "https://FQDNdesServers/remote.php/dav/addressbooks/users/USERNAME/"
username = "USERNAME"
password.fetch = ["prompt", "Passwort für den CalDAV-Zugang an Nextcloud"]
password.fetch ersetzt das reine klar lesbare password = „PASSWORT“.
Der gesetzte Parameter erwartet die nötige Eingabe des Passwortes in der Kommandozeile nach dem Aufruf.
Wer den Passwortspeicher der Desktopumgebung nutzen möchte, kann hier den nötigen Parameter setzen, siehe Accessing the system keyring. Das Paket python-keyring aus den Repositories der Distribution muss installiert werden.
Bei Fedora beziehen sich der Paketname auf die Versionierung der Scriptsprache. Als Beispiel python2-keyring, python3-keyring etc.
Erster Test, die Ordnerstruktur, anschließende Synchronisation
[ChristianGrube:~/.vdirsyncer] 1 $ vdirsyncer discover
Passwort für den CalDAV-Zugang an Nextcloud:
Discovering collections for pair nextcloud_contacts
nextcloud_contacts_local:
nextcloud_contacts_remote:
- "kontakte" ("Kontakte")
warning: No collection "kontakte" found for storage nextcloud_contacts_local.
Should vdirsyncer attempt to create it? [y/N]: y
Saved for nextcloud_contacts: collections = ["kontakte"]
[ChristianGrube:~/.vdirsyncer] 1 $ vdirsyncer sync
Passwort für den CalDAV-Zugang an Nextcloud:
Syncing nextcloud_contacts/kontakte
Copying (uploading) item unheimlich-kryptische-nummer to nextcloud_contacts_local/kontakte
Copying (uploading) item unheimlich-kryptische-nummer to nextcloud_contacts_local/kontakte
...
Einrichtung khard
Die Konfigurationsdatei ~/.config/khard/khard.conf
Getestet werden kann die Konfigurationsdatei mit dem Aufruf von khard ohne weiteren Parameter
[addressbooks]
[[Nextcloud]]
path = ~/.config/khard/contacts/kontakte/
[general]
debug = no
default_action = list
editor = vim
merge_editor = vimdiff
[contact table]
display = first_name
show_nicknames = no
sort = last_name
[vcard]
search_in_source_files = yes
Tastenkürzel für mutt
Hier musste ich meinen alten Aufruf von pc_query, welcher noch aus Zeiten der Anleitung Mutt Kontakte aus Owncloud nutzen stammte, durch folgenden ersetzten
set query_command= "khard email --parsable --search-in-source-files %s"
Via Q und der Eingabe eines Namens kann nach der Emailadresse gesucht werden und dieser nach Auswahl mit Enter übernommen werden. Verschiedene Adressen eines Kontakts werden untereinander angezeigt
Es ist möglich diese Zeile noch zu erweitern, um durch die Eingabe des Namens in der Adresszeile via TAB die Adresse zu vervollständigen.
bind editor <Tab> complete-query
bind editor ^T complete
Der Vollständigkeit halber
Es besteht die Möglichkeit Adressen via mutt in Nextcloud hinzuzufügen. Ein Beispielmacro hierfür ist
macro index,pager A \
"<pipe-message>khard add-email<return>" \
"Hinzufügen der Adresse zu Nextcloud"
Nach dem Auswählen einer Email und dem anschließenden Ausführen des Macros, A , erscheint ein Abfragedialog.
Khard: Add email address to contact
Email address: enemenepopel@got-tty.org
Contact's name [Got tty]:
Contact Got tty does not exist. Do you want to create it (y/n)? y
First name: Gotty
Last name: Nottyfrotty
Organisation: IT
Do you want to add the email address donotreply@got-tty.org to the contact Gotty Notty (y/n)?
Abschließend
Nun sind die gewohnten Funktionen unter mutt wieder vorhanden. Warum sich aber vdirsync nicht an die XDG Base Directory Specification hält verstehe ich nicht. Das Leben könnte so schön und das Backup so einfach sein.
Hier kann ich nur auf genug Bugreports hoffen, bei jedem Projekt, welche dies ignoriert.
1 Gedanke zu „Mutt Kontakte und Adressen aus Nextcloud nutzen“
Kommentare sind geschlossen.