Subject: Dtach ersetzt tmux (was: Statusbericht SSD und OS-Wechsel)
From: Boris Kraut <[email-masked]>
To: undisclosed-recipients: ;
Date: Tue, 17 Jul 2012 23:01:48 +0200

Auch wenn ich in den letzten Tagen nicht viel Zeit hatte an
groesseren Freizeitprojekten zu arbeiten, haben sich doch
immer wieder kleinere Zeitfenster ergeben, die ich auch brav
genutzt habe:

Im Gegenstaz zu vielen Linuxnutzern fuer die es zum guten
Ton gehoert, sich negativ ueber GUIs auszulassen, bin ich
nicht der Meinung dass man einen Kampf zwischen GUI und
TUI fuehren muss. Den Kampf sollte man schlechten UIs im
Allgemeinen ansagen. Und so viele Vorteile TUIs haben (
auch GUIs haben Vorteile, manche Sachen gehen eben nur
grafisch), sie haben ein Fundamentalproblem: Konsistenz!

TUIs unterscheiden sich untereinander aehnlich stark wie
die sie sich auch von GUIs abgrenzen. Zwar gibt es immer
aehnliche Konzepte, die kopiert werden, aber man kann
meist nicht "analog", d.h. ohne Umlernen, verschiedene
TUIs nutzen; oft ist sogar nicht mal die Konsistenz der
Bedienung innerhalb eines einzigen Programms sicher...

Davon abgesehen ist das eigentlich UI doch die Shell und
somit sollten Programme dessen UI-Richtlinien folgen, d.h.
statt einem TUI eher auf ein reines CLI setzen. Es gibt
nur sehr wenig Faelle, wo es wirklich noetig ist, dass
ein Programm den gesamten darstellbaren Bereich belegt.
Programme sollten die Eingabe verarbeiten, ggf. etwas
ausgeben und dann dem Nutzer wieder seine Shell zurueck-
geben: "Avoid captive user interfaces."

Als Gegenmittel dafuer nutzt man heute meistens das ver-
breitete screen bzw. immmer haeufiger tmux -- beides
selbst "captive by design" -- um in einem Terminal
schnell zwischen verschiedenen TUIs zu wechseln. Auf
diese Funktion kann ich gut verzichten, da ich nicht
mehr viele TUIs nutze. Allerdings haben diese Terminal-
Multiplexer noch eine andere Eigenschaft: Sie koennen
ihre Session vom eigentlichen Terminal detachen/loesen.
Von einem anderen Terminal kann man dann die Session
wieder aufrufen und hat die gleiche Arbeitsumgebung
(samt aktuellen Status) wieder parat -- besonders fuer
andauernde Kommunikation wie IRC oder Jabber wichtig.

Diese Funktionalitaet bietet dtach aehnlich komfortabel,
aber ohne den unnoetigen Overhead des "Multiplexen" an;
ich nutze es direkt als alias fuer alle kaputten TUI-
Progrmame, z.B.:

alias mcabber='dtach -A ~/.tmp/mcabber.session mcabber'

Auf lange Sicht besteht aber immer noch die Hoffnung,
komplett von sowas weg zu kommen und -- im konkreten
Fall -- sowas wie ein "jabber-client-daemon' zu nutzen.