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… Früher hab ich gelegentlich centerim für xmpp verwendet, das ist aber seit Wheezy nicht mehr im Repository.
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…
Das wohl wichtigste: mit Pg-Up/Pg-Down navigiert man durch die Buddyliste. Wenn man einen Account markiert hat, kann man eigentlich schon drauflos-schreiben. Ich brauchte ein Momentchen, bis ich das kapiert hab.
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
ekg2
EDIT Juli 2016: ekg2 hab ich ganz vergessen, obwohl ich es bereits schon mal installiert hatte….
ekg2 finde ich auf den ersten Blick recht sympathisch. Egk2 kann mit Jabber, IRC und GaduGadu (wasimmer das auch ist) verbinden.
Konfiguration (Jabber)
Als erstes lädt man das Jabber-Plugin. Dann kann man den Jabber-Account hinzufügen und das Passwort setzen.
plugin +jabber /session -a xmpp:peter.beck@foo.li (server mail.foo.li) /session password <PASSWD>
Nun kann man das ganze speichern (macht man das nicht, fragt ekg2 beim Beenden nach, ob die Einstellungen gespeichert werden sollen
save
Verbinden kann man sich mittels connect
connect
Möchten man, dass der Jabber-Account beim Start von ekg2 automatisch verbunden wird, legt man dies in .config/ekg2/sessions-jabber beim entsprechenden Account fest
[xmpp:peter.beck@foo.li] ... auto_connect=1 ...
Chat
Einen Chat kann man mit query <jid> starten. JIDs wedern automatisch completed…
/query peter.beck@foo.li
Den Chat beendet man mit Alt-K, was aber auch beim neuen Chat erwähnt wird von ekg2.
Mittels Alt-Nummer kann zwischen den verschiedenen Fenstern gewechselt werden.
Nicklist
By Default finde ich die Kontaktliste rechts etwas sehr schmal. Dies kann man entweder ‘on the fly’ anpassen, angenehm ist in ekg2, dass die commands mit tab eingegeben werden können. So sieht man auch auf Anhieb, was z.B. ncurses: sonst noch anbietet…
/set ncurses:contacts_size 20
Wenn man jedoch immer dieses Grösse haben möchte und dies nicht ständig manuell setzen will, definiert man es im Config-File unter .config/ekg2/config-jabber
... ncurses:contacts_size 20 ...
Logging
Das ganze hab ich bei mir nicht eingerichtet, dachte mir jedoch, dass es nicht schlecht ist, wenn ich’s trotzdem kurz hier reinschreibe…
plugin +logs set logs:log 2 set logs:path
Fenster
Auch dies hab ich selbst nicht getestet – Man kann für Jabber auch ein separates Fenster definieren, um IRC und Jabber in eigenen Fenstern zu verwenden (denke ich mal)
/window new session -w jid:peter.beck@foo.li /connect
Alles in allem finde ich ekg2 recht sympathisch. Was mir hier ein bisschen Sorgen bereitet: Keine Ahnung, wie aktiv die Entwicklung hier noch ist. Zudem ist das meiste der Dokumentation in Polnisch verfasst, aber über das kann man dank Übersetzungsprogrammen noch hinwegsehen….
Vorteil: Simpel, Autocompletion, im Debian Repository
Nachteil: Dokumentation grösstenteils nur in polnisch verfügbar, Webseite scheint verlassen (Domain-Name am 22.6.2018 abgelaufen). Das Debian Package hat sich auch seit Jessie nicht mehr wirklich geändert….
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. (EDIT: ab sid muss das Package ‘weechat-lua‘ installiert sein (bisher in ‘weechat-plugins’ enthalten)
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…
/server add debian irc.debian.org /server add freenode chat.freenode.net
Automatische Verbindung zu Server beim Start (natürlich immer mit entsprechendem Server-Alias, das man vergeben hat)
/set irc.server.freenode.autoconnect on
Das IRC Login speichern: siehe diesen Post…
Jabber
[EDIT 05/2020]: Zwischenzweitlich verwende ich das keine Plugins mehr in WeeChat, sondern nutze bitlbee für Jabber, Matrix, Twitter, GnuSocial und Mastodon.
Um Jabber in WeeChat benutzen zu können, muss erstmal das Plugin montiert sein.
/jabber add foojabber peter.beck@foo.li password mail.foo.li /jabber connect foojabber set jabber.server.foojabber.autoconnect on
Matrix
Matrix richtet man ähnlich ein, auch hier muss natürlich erst das Plugin montiert sein
/set plugins.var.lua.matrix.homeserver_url = "https://matrix.foo.li/" /set plugins.var.lua.matrix.user username /set plugins.var.lua.matrix.password password /matrix connect
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
/bar hide nicklist
Notifications
Wenn man via libnotify benachrichtigt werden möchte, finde ich dieses Plugin noch ganz gut.
Nicklist
Bei langen Usernamen verschwendet die Nicklist viel zu viel Bildschirmplatz. Ich begrenze meine auf 18 Zeichen
/set weechat.bar.nicklist.size 14 /set weechat.bar.nicklist.size_max 18
Durch die Nicklist scrollen kann man übrigens mit Alt-F11/F12
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
/set irc.look.smart_filter on /filter add irc_smart * irc_smart_filter *
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
/msg alis list *proxmox*
Channels automatisch verbinden
/set irc.server.freenode.autojoin "#channel1,#channel2"
Durch die Channels scrollt man mit Alt-Pfeiltasten.
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..
/set irc.server.freenode.username "LordGuinness" /set irc.server.freenode.realname "Peter V. Beck"
Wichtig ist jedoch, falls man mit /set Einstellungen anpasst, dass man diese speichert und reloadet, sonst ist es beim nächsten Start weg !
/save /reload
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.
peter@peanut:~/.weechat/python/autoload$ ln -s ../i3lock_away.py
irssi
Auch irssi kann mit XMPP verbindenm sofern das entsprechende Script installiert ist (unter Debian: irssi-plugin-xmpp). Ich denke, es macht auch Sinn, weitere Scripts (irssi-scripts) zu montieren (da sind jenste Scripte enthalten).
Ich hab das ganze nur kurz angetestet, fertige Dokumentation steht noch aus… generell muss man das xmpp script laden, dann kann man sich verbinden. Hier mal kurz “angekrazt”:
/load xmpp
16:25 -!- Irssi: Loaded module xmpp/core 16:25 -!- Irssi: Loaded module xmpp/text 16:25 -!- Irssi: Loaded module xmpp/fe
/xmppconnect -host mail.foo.li peter.beck@foo.li [pass]
16:25 -!- Irssi: Looking up mail.foo.li 16:25 -!- Irssi: Connecting to mail.foo.li [192.168.10.100] port 5222 16:25 -!- Irssi: Using STARTTLS encryption. 16:25 -!- Irssi: warning SSL (mail.foo.li): certificate hostname does not match expected hostname 16:25 -!- Irssi: Authenticated successfully. 16:25 -!- Irssi: Requesting the roster. 16:25 -!- Irssi: Connection to mail.foo.li established
Für die Nicklist verwendet man /roster
1 thought on “Jabber im Terminal”
Jabber im Terminal http://blog.datentraeger.li/?p=631
Comments are closed.