Mcabber

Aus Ubuntu-Forum Wiki

Wechseln zu: Navigation, Suche

810.png 804.png 710.png 704.png

Inhaltsverzeichnis

1 Allgemeines

Mcabber ist ein Jabber-Client für das Terminal, der verschiedene Features bietet:

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
Installation

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:

  1. always » Nachrichten immer verschlüsseln
  2. opportunistic » Nachrichten automatisch verschlüsseln, wenn beide Clients dies unterstützen
  3. manual » Nachrichten manuell, pro Sitzung verschlüsseln
  4. 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:

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.

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Forum
Navigation
Internes
Bearbeitungshilfen
Werkzeuge