Jabber im Terminal

Ich habe jetzt über die Zeit einige cli-chat Programme angeschaut. Voraussetzung in erster Linie war für mich XMPP, jedoch IRC fand ich auch nicht ganz uninteressant…

Mein Fazit: WeeChat ist meine erste Option, wenn es um XMPP und IRC geht. Falls nur XMPP verwendet wird, würde ich auf Profanity setzen. Zu erwähnen bleibt hier: Profanity setze ich schon seit mehreren Wochen ein, WeeChat eigentlich erst seit jetzt. Also kann ich zu WeeChat/XMPP nicht wirklich etwas glaubwürdiges sagen. Alle anderen Tools habe ich mehr oder weniger in ein paar Minuten “evaluiert”, also sind meine Aussagen komplett unbrauchbar….das sind lediglich meine ersten Eindrücke bzw. wie “wohl” ich mich damit “gefühlt” hab… Ich werde definitiv WeeChat über die nächsten Wochen genauer anschauen. Will ja sowieso auch einen eigenen IRC-Server hinstellen demnächst…

mcabber

Mcabber ist ein weiterer Jabber-Client für die Konsole.

Vorteil: in Stable enthalten

Config Beispiele findet man auf Github. Richtig warm werde ich damit aber auch nicht, es passt mir einfach nicht recht, weiss auch nicht warum…

finch

Finch ist eigentlich Pidgin für die Konsole. Ich fühle mich irgendwie aber einfach nicht wohl, obwohl die Bedienung sehr simpel ist und wohl auch die Features nicht schlecht sind. Pidgin ist ja bekanntlich ganz gut. Aber auf der Konsole passt es mir einfach nicht…nur schon die “kleinen Fenster” im Terminal nerven mich irgendwie. Warum nicht den kompletten Platz des Terminals nutzen und so ein “Fenster” öffnen” ? Aber für hartgestottene Pidgin-User aber bestimmt eine gute Wahl. Ich weiss jetzt auch nicht, ob alle Plugins von Pidgin hier auch funktionieren. Falls ja, ganz klar ein Pluspunkt (z.B. Group-IM etc).

profanity

Profanity finde ich recht sympathisch. Die ganze Command Reference findet man auf der Website. Auch die Dokumentation ist sehr gut. Zwischen Chats wechselt man mit “Alt”+Nummer. Aliase etc. lassen sich einfach im config-File definieren. Zum Chatten sehr angenehm, meiner Meinung nach…

Vorteil: simples handling

Nachteil: nur in sid (oder Jessie) derzeit, Package lässt sich aber problemlos auch in Stable/testing montieren

poezio

Den hab ich grad eben per Zufall gefunden, selbst nicht angeschaut / getestet. Der Vollständigkeit halber erwähn ich aber auch Poezio hier noch…

weechat

Generell ist WeeChat ja ein IRC-Client (oder ?). Aber auch XMPP (via Plugin) ist verfügbar. Von der Bedienung und den Features würde ich aber klar profanity bevorzugen. Aber um einfach ein bisschen zu chatten, reicht WeeChat via Plugin allemal aus. Wechsel zwischen den Chats ist auch hier “Alt”+Nummer des Chats.

Vorteil: im Repo vorhanden, IRC + XMPP in einem Client, erweiterbar (sehr viele Scripts verfügbar). Auch für Matrix gibt es ein Script, was ich selber aber erst installiert hab und bisher noch nicht gross getestet hab (Falls das ganze nach dem Integrieren unglaublich lahm wird: /lua reload matrix scheint das zu beheben und WeeChat wieder brauchbar zu machen).

Nachteil: nur grundlegende XMPP-Funktionen verfügbar, mehr aber auch nicht (soviel ich weiss). Zum Beispiel können mittels /jchat nur User angeschrieben werden, welche auch online sind. Ich sende aber immer wieder mal Messages an User, die derzeit grad nicht online sind. Das ist schade.

Basics

Einige Basics zu WeeChat

Server hinzufügen

Server hinzufügen ist straight-forward. Der Name kann natürlich frei gewählt werden…

Automatische Verbindung zu Server beim Start (natürlich immer mit entsprechendem Server-Alias, das man vergeben hat)

Jabber

Um Jabber in WeeChat benutzen zu können, muss erstmal das Plugin montiert sein.

Matrix

Matrix richtet man ähnlich ein, auch hier muss natürlich erst das Plugin montiert sein

Als ich das ganze beim ersten mal verbunden hab, wurde Weechat extrem lahm, nicht mehr bedienbar. Grund ist (seweit mir bekannt), wenn die User in Matrix HQ gelistet werden, dauert das so lange, weil dieser Raum komplett überfüllt sei. Abhilfe hat bei mir das Ausblenden der Nickliste gebracht

Nicklist

Bei langen Usernamen verschwendet die Nicklist viel zu viel Bildschirmplatz. Ich begrenze meine auf 18 Zeichen

Away Messages

Oft sieht man etliche Join/Quit Messages, die nicht wirklich interessant sind und das ganze recht übersichtlich machen. Hierzu gibt es aber eine Einstellung

Somit sieht man nur die Leave-Messages von Usern, die innert der letzten 10 Minuten aktiv waren. Der Wert lässt sich via /set irc.look.smart_filter_delay <min> definieren, falls man mehr/weniger als 10 Minuten möchte.

Channels

Um Channels zu suchen, finde ich /msg alis list wesentlich angenehmer als nur /list. Mit /list werden alle Channels aufgelistet, das kann also verdammt viel sein.. Mit alis (advanced listing service) kann man granularer suchen

Channels automatisch verbinden

Einstellungen

Generell kann man mit /set eigentlich alle Einstellungen anpassen. Ob man das jetzt via /set oder direkt im Config-File macht, ist wohl “Ansichts-Sache”. Ich bin eher der Config-File Typ..

Wichtig ist jedoch, falls man mit /set Einstellungen anpasst, dass man diese speichert und reloadet, sonst ist es beim nächsten Start weg !

Scripts

Scripts können entweder manuell heruntergeladen werden oder via “/script install scriptname”

Autoload beim Start

Generell reicht hier einfach ein Symlink im (entsprechenden) autoload Directory.

 

Card- und CalDAV im terminal

Um’s grad vorweg zu nennen: Vieles hier hab ich von Florian Heinle’s Blog abgeschaut, welchen ich beim initialen Testen als erste Anlaufstelle verwendet hab. Im Gegensatz zu ihm hab ich aber die Debian-Packages verwendet.

Wie’s halt so ist, hätte ich das gern bei mir selbst dokumentiert.

Als erstes monitiert man mal die Packages khard, khal und vdirsyncer.

Sync einrichten

~/.config/vdirsyncer/config (siehe auch vdirsyncer Tutorial)

initiale Konfiguration

Dies ist nur einmalig nötig, oder falls neue Kalender- bzw. Kontakte-Folder hinzugefügt werden.

Nun kann der Sync durchgeführt werden

mit vdirsyncer -vdebug sync kann man sich mehr Details beim Sync anzeigen lassen.

Cron für automatischen Sync

Da man in der Regel nicht gern ständig manuell erst einen Sync macht, damit man up-to-date ist, richtet man am schlausten einen simplen cron ein. Ich mach’s alle 5 Minuten.

Kontakte mit khard

Beim ersten Start wird gleich reklamiert, wenn das Config nicht vorhanden ist

Also kopieren wir am einfachsten mal die Beispielconfig her und passen dort die Pfade entsprechend an

Usage

Mit ‘khard ls <suchbegriff>’ kann man recht bequem Kontakte suchen. verwendet man ‘details’, werden alle Informationen zum Kontakt angezeigt.

Der Parameter ‘–help’ zeigt alle weiteren benötigten Parameter an. Recht selbsterklärend.

Integration in mutt

Mit dieser Ergänzung in .muttrc kann man Adressen mit dem Tabulator vervollständigen und khard sehr bequem mit Mutt verwenden.

Zudem kann man mit ‘A’ Adressen als neue Kontakte hinzufügen (in der Auflistung der Mails oder wenn das entsprechende Mail geöffnet wurde).

Kalender mit khal

Die Konfiguration von khal ist recht simpel, einfach die gewünschen Kalender, die wir in vdirsyncer definiert haben, angeben in .config/khal/config und schon läuft das Teil (inital etwas länger, was ja verständlich ist). Der muss wohl einfach wissen, wo er die ics-Files zu suchen hat.

Um nur schnell die aktuellen Termine anzuzeigen, reicht es aus, einfach ‘khal’ einzugeben.

Möchte man Termine anlegen / bearbeiten, startet man ‘ikhal’. Mit ‘?’ kann man die wichtigsten Tasten anzeigen. Der Rest ist recht selbsterklärend, finde ich.

commands

Anstatt via ikhal kann man aber auch direkt via commanline einen Termin setzen, z.B.:

ganztägige Termine gibt man einfach ohne Zeitangabe an

mit der “-a”-Option kann der entsprechende Kalender gewählt werden. Das ganze wird nach diesem Schema abgesetzt:

Die wichtigsten Optionen hier sind:

  • -l, –location=LOCATION Ort festlegen
  • -g, –categories=CATEGORIES kommagetrennte Liste von Kategoriern. Einige Server unterstützen nicht mehrere Kategorien…
  • -r, –repeat=RRULE Ereignis-Wiederholung. Erlaubte Werte sind daily, weekly, monthly und yearly
  • -u, –until=UNTIL spezifizieren, wie lange das Ereignis dauern soll
  • –alarm DURATION Erinnerung vor dem Start des Ereignisses, sollte etwa so aussehen 1day 10minutes oder 1d3H10m, negative Werte starten nach dem Start des Ereignis.

weitere Beispiele

Ereignis heute um 18 Uhr mit Standardzeit von 1 Stunde im Standardkalender

Ereignis morgen um 16:30

adds a new event on 25th of October lasting from 18:00 to 24:00 with an additional description

Ein ganztägiges Ereignis am 26. Juli im Kalender “work”, welches wöchentlich wiederholt wird.

Detailliertere Informationen findet man beispielsweise hier.

Android / EAS

Wenn ich Kontakte in khal anlege, werden die wunderbar zum Server synchronisiert, auch Thunderbird und Webmail zeigen alles an. Jedoch motzt mein Android, welches via EAS verbunden ist, dass es nicht synchronisieren konnte.

Ob das nun ein EAS, SOGo oder khal-Problem ist, ist mir nicht ganz klar. Ich tendiere, dass es mit EAS etwas zu tun hat, sonst würde TB und das Webmail ja auch nix anzeigen/motzen. Muss mal CalDAV am Handy einrichten und damit testen.

EDIT: Hab heute grad mal DAVdroid montiert – mittels Card- / CalDAV bestehen absolut keine Probleme mit dem Sync auf Android….

 

clamav

Letzthin hab ich, eher per Zufall, entdeckt, dass Clamav noch recht viel Speicher für eigentlich nichts tun braucht. Da ist es, soweit ich gesehen habe, ganz normal, dass das Teil mal so um die 200-300MB versaut. Ein weiterer Grund, Mailserver mit genügend Speicher auszurüsten. Ich sage mal so 2GB sollten da schon mindestens drinliegen, wenn Spamassassin, Clamav und aMaViS mitlaufen…kommt natürlich auch noch auf die Anzahl User drauf an und ob IMAP etc auf derselben Kiste mitlaufen. Unter 2GB ist aber wohl nicht sehr realistisch in den meisten Fällen, ausser es läuft nur Postfix und sonst nix.

Übrigens hat auch clamav ein eigenes top…. clamdtop…

GroupOffice

GroupOffice hab ich jetzt grad noch schnell mal (Basisinstallation ohne Config) montiert. Gibt Debian-Sources dafür, wäre aber auch manuell eine kleine Sache, wenns aber schon sources gibt, finde ich das angenehm im Sinne von Updates etc.

Sources eintragen, updaten, installieren… 😉

Key importieren

und installieren…

Auf den ersten Blick schaut das ganze ganz gut aus, es gibt echt nette Features, wie Ankündigungen und recht umfangreiche, modulare Berechtigungseinstellungen.

SOGo

Nach den mässigen Erfolgen mit Scalix (es mag ja lustig sein mit Redhat oder SUSe, mit Squeeze und Fedora 14 hats mir keinen Spass gemacht) habe ich mich an SOGo gewagt. Was mir an SOGo nicht so gut gefällt ist Funambol (der soll noch recht speicherhungrig sein), aber vielleicht lässt sich das ganze ja auch per z-Push realisieren ?

Eigentlich klingt es ganz gut, man kann deren Quellen in die Sources montieren und das Zeug ganz einfach installieren. Nachher wirds ein bisschen kritischer, wenns an die Konfig geht. Es gibt ja zwar Dokus, aber auf den ersten Blick ein bisschen komplex.. Die Daten werden entweder in MySQL oder PostgreSQL gespeichert. Die Benutzer verwaltet man per LDAP. Wahlweise kann man die User aber auch in die SQL Datenbank speichern (was ich aufgrund mangelnden LDAP-Knowledges für’s erste gerne machen würde). Um diese Tatsache herauszufinden, habe ich noch recht lange gebraucht… 🙂

Was definitv nach der SOGo-Installation zu machen ist:

MySQL-DB anlegen

Nun muss man noch die Usertabelle anlegen

Hier kann man auch gerade User eintragen…

Apache installieren

und SOGo-Config auf eigene IP/URL anpassen

GNUStep

Nun wechselt man zum sogo-User und tätigt einige Einstellungen, unter anderem, dass man per MySQL-User arbeiten will:

und die SMTP/IMAP Einstellungen

Nun muss natürlich auch Dovecot darüber informiert werden, woher er die Authentifizierung nehmen soll. Dazu passt man das Config dovecot-sql.conf an. Diese Config ist jetzt einfach mal auf die schnelle so zurecht gebogen und soll keinerlei Anleitung oder dergleichen darstellen!

Nachdem nun SOGo, Dovecot und Apache neugestartet wurden, kann man mal versuchen, sich im Browser anzumelden.

Fehler, die bei mir auftraten, waren unter anderem das Fehlen von memcached:

Hier hatte memcached gefehlt. Nach dessen Installation war auch der Fehler weg.

Was es noch zu lösen gibt, wie das ganze hinter einem Reverse-Proxy sauber läuft, bisher wird die Seite ziemlich kaputt ins Internet geliefert, intern im LAN wird sie sauber dargestellt…

In den Postfixbuch-Users Mailinglisten sind aber auch Statements bezüglich Updates, die nicht so angenehm klingen…

Scalix

Naja, man will sich ja auch noch andere Alternativen ansehen, also hab ich eine 64bit VM aufgesetzt und Scalix Community heruntergezogen…Das erste, das mich nervt ist, dass non-free in den Sources aktiviert werden muss wegen java. Ich habe jedenfalls noch nichts darüber gelesen, dass es auch mit openjdk geht. Und dann gehts weiter – i386 Packages ?


Errors were encountered while processing:
scalix-chardet_1.0.20071031-2_i386.deb
scalix-iconv-extras_1.2-1_i386.deb
scalix-libical_0.27.20071008-1_i386.deb
scalix-server_11.4.6.13676_i386.deb
scalix-postgres

Jetzt hab ich irgendwo gelesen, dass man in einer 64bit Umgebung eine 32bit chroot Umgebung für Scalix einrichten muss. Was soll denn die Scheisse ? Wenn das stimmt (was ich noch abklären muss), dann macht sich das ganze Ding schon bei der Installation unbeliebt bei mir….

Ich hab dann das ganze einfach mit –force-architecture probiert, ging ein bisschen besser, bis der nächste Fehler auftrat. ia32-libs halfen auch nicht weiter.

omsetsvc: error while loading shared libraries: libglib-2.0.so.0: cannot open shared object file: No such file or directory

Wenn schon bei der normalen Installation solche auftreten, hab ich mich entschieden, das ganz halt mal mit einer 32bit Installation durchzuführen, reicht ja zum testen…und siehe da – es funktioniert. fast. Glücklicherweise haben einige gepeinigte Leute bereits kleine Skripte zur Installation erstellt (zb. hier ist für Lenny eines, das nur geringfügig angepasst werden muss), das auch gleich noch fehlende Packages installiert. Kommt das Package scalix-server aber zum Zug, haut es das ganze wieder über den Haufen, obwohl die benötigten Files installiert sind. Das Problem findet man auch im Forum (aus dem Jahre 2007..). Dass man sich nur zum Ansehen des Forums einen Account anlegen muss, ist mir auch schleierhaft.

In Foren liest man auch immer mal wieder, wenn man nicht Redhat nimmt, soll man CentOS verwenden, weil das am ehesten passt. Oder Suse. Hm, will ich aber nicht, weiss ja nicht mal, obs dann wirklich besser funktioniert… Ich habe es kurz mit Fedora 14 getestet, da wollte das Installerskript schon ziemlich am Anfang nicht, weil die Fedora-Version zu aktuell war. Spitze.

Irgendwie ist Scalix nicht so sympathisch wie Zarafa.