Mcabber
Aus Ubuntu-Forum Wiki
Inhaltsverzeichnis |
1 Allgemeines
Mcabber ist ein Jabber-Client für das Terminal, der verschiedene Features bietet:
- Kryptografie|verschlüsselte Übertragung
- Multi-User-Chat (MUC)- Unterstützung
- hohe Flexibilität und Konfigurierbarkeit
2 Installation
2.1 Ubuntu-Paketquellen
Mcabber kann aus den Paketquellen von Ubuntu installiert werden:
sudo apt-get install mcabber
2.2 Download der aktuellsten Version
Die Mcabber-Downloadseite bietet eine aktuellere Version des Programms an. Einen Überblick über die Änderungen bietet das Changelog auf der Projektseite.
- Download ins Benutzerverzeichnis
wget -P ~/ http://lilotux.net/~mikael/mcabber/files/mcabber-current.tar.bz2
- Entpacken und Wechsel ins Verzeichnis
tar xfjv mcabber-current.tar.bz2 cd mcabber-0.9.7/
- Abhängigkeiten installieren
sudo apt-get install libncursesw5-dev libglib2.0-dev libgcrypt11-dev libotr2-dev
Je nach Anwendungsziel, können die configure-Optionen teilweise oder ganz weggelassen werden. Je nach Anwendungsziel, können die configure-Optionen teilweise oder ganz weggelassen werden. Um OTR-, Aspell- und/oder SSL-Unterstützung zu integrieren, müssen die entsprechenden dev-Pakete installiert sein. Anderenfalls wird Mcabber nicht mit der gewünschten Funktionalität kompiliert:
sudo apt-get libotr2-dev install libaspell-dev libssl-dev
Anschließend kann der Kompiliervorgang gestartet werden:
./configure --with-ssl --enable-otr --enable-aspell --enable-gpgme make sudo checkinstall
Statt checkinstall kann auch das übliche make install genutzt werden. Damit bindet sich allerdings das Programm nicht in die ubuntu-eigene Paketverwaltung ein und lässt sich später schwerer entfernen.
Das so entstandene .deb-Paket kann auch von meiner Download-Seite für die 32-Bit-Architektur heruntergeladen werden. Sollte die Installation auf Grund fehlender Abhängigkeiten abbrechen, so kann sie mit folgendem Befehl beendet werden:
sudo apt-get install -f
3 Konfiguration
Die Einrichtung von Mcabber wird in einer Konfigurationsdatei vorgenommen. Diese muss man vor dem Programmstart im eigenen Benutzerverzeichnis mit einem Texteditor erstellen:
mkdir ~/.mcabber chmod 0700 ~/.mcabber vi ~/.mcabber/mcabberc
Wird diese Datei nicht erstellt, müssen sämtliche Einstellungen bei Programmstart neu vorgenommen werden.
Im Anschluss werden alle gewünschte Einstellungen in dieser Datei vorgenommen. Dazu wird pro Zeile ein sogenannter Schalter gesetzt.
Schalter | Wert | Bedeutung |
---|---|---|
set username = * | benutzer_name | Jabber-Benutzername |
set password = | "passwort" | Passwort für den Jabberzugang im Klartext, wenn nicht gesetzt, fragt Mcabber bei jedem Programmstart |
set server = * | jabber_server | Name, des genutzten Jabberservers |
set resource= | mcabber | Name des Clients, des Ortes, wo der Client gestartet wurde etc. |
set priority = | 3 | Priorität, mit welcher eine Ressource angesprochen wird |
set priority_away = | 0 | Priorität bei Abwesenheit |
set ignore_self_presence = | 1 | eigenen Account im Roster ignorieren |
set cmdhistory_lines = | 0 | Anzahl der Befehle, die in der Historie gespeichert werden, 0 unbegrenzt |
set logging = | 1 | Chat-Mitschnitte anfertigen |
set logging_dir = | ~/mcabber/logs | Speicherort der Mitschnitte |
set ssl = | 0 | SSL-Verschlüsselung der Verbindung nutzen |
set ssl_verify = | -1 | bei Schwierigkeiten mit einem SSL-Zertifikat dessen Prüfung ausschalten |
set lang = | de | Ausgabe-Sprache der Hilfetexte |
* Pflichtangaben, 0 » Schalter aus, 1 » Schalter an
Eine ausführliche Beschreibung der möglichen Optionen erhält man, auf der Projektseite. Alternativ kann man sich das gepackte Archiv von der Herstellerseite laden. Auch wenn man diese Version nicht nutzen möchte, ist dort die Beispiel-Konfiguration mcabberrc.example enthalten. Diese ist ausführlich und selbsterklärend. Man kann sie auch an Stelle einer selbstgeschriebenen Konfigurationsdatei direkt nutzen. Die persönlichen Angaben müssen natürlich editiert werden:
cp ~/mcabber-0.9.7/mcabberrc.example ~/.mcabber/mcabberrc
4 Anwendung
4.1 Programmstart
Nach der Installation kann man Mcabber im Terminal starten:
mcabber
Daraufhin öffnet sich Mcabber mit seiner vier-geteilten Programm-Ansicht.
- Roster
Der Roster, also die Kontaktliste, befindet sich im oberen linken Bereich des Chatfensters. Man bewegt sich mit den Befehlen
/roster up /roster down
in ihm hoch und runter. Alternativ kann auch die Bild-auf- bzw. die Bild-ab-Taste verwendet werden. Wurde eine neue Nachricht von einem Kontakt empfangen, so färbt sich sein Name rot und er wird mit dem #-Zeichen versehen.
Mit Enter öffnet man den aktuell markierten Buffer. Der Eintrag [status] enthält die Meldungen der aktuellen Sitzung.
Kürzel | Status |
---|---|
o | online |
C | Multi-User-Chatroom |
f | bereit zum Chatten (free for chat) |
a | abwesend |
n | nicht verfügbar |
d | nicht stören (do not disturb) |
i | unsichtbar (invisible) |
_ | offline oder Kontakt ist unsichtbar |
- Chatfenster und Buffer
Direkt neben dem Roster befindet sich das Chatfenster. In ihm werden sämtliche Nachrichten angezeigt.
- Log-Fenster
Unter dem Roster und dem Chatfenster wurde das Log-Fenster platziert. Es enthält die aktuellsten Meldungen.
- Eingabezeile
Am unteren Ende wurde die Eingabezeile zur Übermittlung der Nachrichten und Befehle angesiedelt.
4.2 Befehle
Mcabber kennt eine Vielzahl von Befehlen. Um sie von normalen Nachrichten zu unterscheiden, muss man ihnen einen Schrägstric / voranstellen. Ein Liste der verfügbaren Befehle im Programm bekommt man mit F1. Befehle und der Optionen lassen sich mit der TAB-Taste vervollständigen. Einen vollständigen Überblick aller Befehle enthält die Manpage von Mcabber.
Sämtliche Befehle lassen sich auch auf eine Taste bzw. Tastenkombination legen. Ist diese für Mcabber unbekannt, so zeigt er ihren Zahlencode im Log-Fenster an. Zuweisungen werden in der Konfigurationsdatei vorgenommen:
bind zahlen_code befehl
Um beispielsweise F4 den Befehl quit zuzuweisen, muss folgendes eingetragen werden:
bind 268 = quit
- Optionen und Hilfe zu einem Befehl
Innerhalb des Programms kann man sich auch eine Hilfe zu den Befehlen liefern lassen - diese werden im Status-Puffer angezeigt.
/help befehl
- Befehlsauswahl
Befehl | Bedeutung |
---|---|
event 1 accept/ignore/reject | Autorisierungsanfragen beantworten |
add JID kontakt_name | neuen Kontakt hinzufügen |
move name_der_gruppe | aktuellen Kontakt einer Gruppe zuweisen, Gruppe wird ggf. erstellt |
rename neuer_name | aktuellen Kontakt umbenennen |
del JID kontakt_name | Kontakt entfernen |
room join raum_name nick_name passwort +autojoin | (automatisch) Jabber-MUC betreten, optional mit Spitznamen und eventuellem Passwort |
roster toggle_offline | Anzeige von Offline-Kontakten an- und abschalten |
roster unread_next | zur nächsten ungelesenen Nachricht springen |
quit | Mcabber beenden |
4.3 OTR-Verschlüsselung
Als Grundlage zum Verständnis wird der Artikel zum Thema OTR vorausgesetzt.
Zunächst sollte überprüft werden, ob Mcabber mit OTR-Unterstützung kompiliert wurde. Diese Information liefert folgender Befehl:
mcabber -V
4.3.1 OTR aktivieren
Folgende Werte müssen in die .mcabberrc eingetragen werden:
# OTR-Verschlüsselung aktivieren bzw. deaktivieren set otr= "1" # Speicherort für Fingerprints etc. set otr_dir= "~/.mcabber/otr/"
4.3.2 OTR konfigurieren
- OTR-Policy
Anfangs muss Mcabber mitgeteilt werden, wann er eine verschlüsselte Verbindung aufbauen soll. Dies geschieht mit dem Befehl otrpolicy. Man kann die Einstellungen für jede Sitzung neu vornehmen oder sie direkt in die Konfigurationsdatei eintragen. Dabei kann man sowohl eine allgemeine Einstellung für alle Kontakte vornehmen, als auch einzelnen JID´s gesonderte Werte zuweisen.
Der Befehl hat dabei folgenden Aufbau:
/otr JID [OPTION]
Statt der JID (Jabber-ID) kann auch der Wert default eingetragen werden, dann gilt die nachfolgende Option für alle Kontakte. Folgende Optionen sind möglich:
- always » Nachrichten immer verschlüsseln
- opportunistic » Nachrichten automatisch verschlüsseln, wenn beide Clients dies unterstützen
- manual » Nachrichten manuell, pro Sitzung verschlüsseln
- plain » Nachrichten niemals verschlüsseln
Empfohlen wird, folgende Einstellung in der Konfigurationsdatei vorzunehmen:
otrpolicy default opportunistic
Damit entscheidet Mcabber automatisch, wann er eine verschlüsselte Verbindung aufbauen soll. Dies geschieht nur dann, wenn auch der Client des Gesprächsteilnehmers OTR-fähig ist.
Es kann aber auch für jede JID ein einzelner Eintrag in der Konfigurationsdatei vorgenommen werden.
4.3.3 Kontakte authentifizieren
- Geheimnisabfrage
Die Echtheit des Gesprächspartners kann durch durch den Austausch eines Geheimnisses, also die Eingabe eines gleich lautenden Textes durch beide Gesprächspartner, bestätigt werden.
Geheimnisabfrage starten:
/otr smpq JID geheimnis
Geheimnisabfrage beantworten:
/otr smpr JID geheimnis
Geheimnisabfrage abbrechen:
/otr smpa JID
- Manuelle Authentifizierung
Eigenen Fingerprint anzeigen lassen:
/otr key
Kontakt anhand seines Fingerprints identifizieren:
/otr fingerprint JID fingerprint_der_JID
5 Schwächen
Bei all seinen Stärken, fehlen Mcabber aber dennoch einige Funktionen:
- Verwaltung mehrerer Zugänge
- Datei-Transfer
- visuelle Benachrichtigung bei eingehenden Nachrichten
- Unsichtbarkeits-Einstellungen für ausgewähtlte Kontakte
6 Beispiel-Konfiguration
# eigener Benutzername set username= "username" # Server des Jabber-Accounts set server= "jabber_account" # Passwort für den Account, optional, wird sonst abgefragt set password= "passwort" # Client-Name set resource= "mcabber" # automatische Abwesenheit in Sekunden (30 min) set autoaway= "1800" # niedrige Priorität set priority= "1" # eigenen Namen im Roster ignorieren set ignore_self_presence= "1" # abwesende Kontakte einfärben color roster adn * blue # nur Online-Kontakte anzeigen, Anzeige aller= "ofdna_" set roster_display_filter= "ofdna" # Sprache für Hilfexte set lang= "de" # Rechtschreibprüfung set aspell_enable= "1" set aspell_lang= "de" set aspell_encoding= "UTF-8" # OTR-Verschlüsselung set otr= "1" set otr_dir= "~/.mcabber/otr/" otrpolicy default opportunistic # farbige Unterscheidung der Chatnachrichten im MUC set nick_colors= "red green yellow blue magenta white" color muc * on # F4 Mcabber beenden bind 268= "quit" # F5 Offline-Kontake (nicht) anzeigen bind 269= "roster toggle_offline" # F6 zur nächsten ungelesenen Nachricht springen bind 270= "roster unread_next" # F7 Puffer leeren bind 271= "clear" # F8 Abwesenheitsstatus mit -nachricht setzen bind 272= "status away Gleich wieder da" # F9 Anwesenheit bind 273= "status online" # F10 MUC betreten bind 274= "room join muc_raum nickname passwort" # [STRG + runter] im Buffer abwärts scrollen bind 514= "buffer down" # [STRG + hoch] im Buffer hoch scrollen bind 521= "buffer up"
7 Startscript
Wer mehrere Terminals, -fenster oder -reiter offen hat, verliert vielleicht ab und an den Überblick, ob er Mcabber bereits geöffnet hat. Das kommt, z.B. relativ häufig, wenn man den Rechner aus dem Ruhezustand aufweckt. Das folgende kleine und sehr einfache Script namens mcrun dient dazu, das mehrfache Starten zu verhindern:
#!/bin/bash # checks, if mcabber is running # starts mcabber if not echo " checking mcabber-status..." if ( ps -a | grep "mcabber" >> /dev/null) then echo " mcabber is running..." else echo " starting mcabber..." mcabber fi
Zum Starten von Mcabber ruft man einfach dieses Script. Dazu muss man es zunächst ausführbar machen:
chmod +x mcrun
Anschließend kann man es aufrufen:
./mcrun
Es überprüft, ob Mcabber schon läuft. Wenn dem so ist, bricht es mit einer entsprechenden Meldung ab, ansonsten startet es das Programm.
Um nicht jedesmal das Script suchen bzw. den Pfad bestimmen zu müssen, legt man sich einen entsprechenden Alias in der ~/.bashrc an:
echo alias mcrun="/pfad/zum/script/mcrun" > ~/.bashrc source ~/.bashrc
Danach steht der Befehl mcrun zum Starten des Scripts zur Verfügung.