Linchat: Lokaler Konsolen-Talk

Linchat: Mini Konsolen-Chat auf der Linux Shell. Nicht komfortabel, doch schnell und universell einsetzbar.
Linchat ist ein kleines Chat-Programm für die Konsole. Das besondere an dem Programm ist, dass keine Verbindung mit einem externen Server (IRC, XMPP, …) aufgebaut wird, sondern nur lokale Benutzer auf einer Maschine damit kommunizieren können.
Wie oft stand ich schon im Serverraum und versuchte, mit einem Kollegen zu kommunizieren, um gemeinsam (lokal + remote) einen Fehler zu finden. Eine Shell alleine ist kaum zu gebrauchen. Telefone sind dank ca. 1000 Lüfter und Klimaanlagen schwer zu verstehen. Und ein richtiges Chat-Programm ist auch ein bischen übertrieben. Die Lösung ist so einfach: Den Kollegen bitten, sich kurz per SSH anzumelden und ‚linchat‘ einzugeben.
Ein weiterer Anwendungszweck: Mit einem User auf meinem Server, welcher als Shell direkt /usr/local/bin/linchat startet kann ich auch technisch wenig versierten Bekannten blitzschnell temporär einen Gesprächskanal zur Verfügung stellen, welcher dank SSH gut verschlüsselt ist und keine Spuren auf dem lokalen Rechner hinterlässt – weder Account-Daten noch Gesprächlogs.
Update 2009:
Die Entwickler-Seite zu Linchat ist down, da das Programm nicht mehr weiterentwickelt wird. Leider kompiliert die alte Version mit dem g++ aus dem aktuellen Debian nicht mehr, da im Sourcecode veraltete Konversionen genutzt werden. Das sieht dann so aus:
# make
g++ -O -Wall -Werror -c linchat.cpp
cc1plus: warnings being treated as errors
In file included from linchat.cpp:39:
userstruct.h:46: error: ‘typedef’ was ignored in this declaration
userstruct.h:54: error: ‘typedef’ was ignored in this declaration
linchat.cpp: In function ‘void InitSocket()’:
linchat.cpp:72: error: deprecated conversion from string constant to ‘char*’
linchat.cpp:78: error: deprecated conversion from string constant to ‘char*’
linchat.cpp: In function ‘void LockScoreboard(bool)’:
linchat.cpp:96: error: deprecated conversion from string constant to ‘char*’
linchat.cpp: In function ‘void InitScoreboard()’:
linchat.cpp:111: error: deprecated conversion from string constant to ‘char*’
linchat.cpp:135: error: deprecated conversion from string constant to ‘char*’
linchat.cpp:146: error: deprecated conversion from string constant to ‘char*’
linchat.cpp: In function ‘void ProcessNetworkEvent()’:
linchat.cpp:313: error: deprecated conversion from string constant to ‘char*’
linchat.cpp: In function ‘void WaitForEvent()’:
linchat.cpp:406: error: deprecated conversion from string constant to ‘char*’
make: *** [linchat.o] Error 1
sh0 schrieb mir auf meine Bitte hin einen kleinen Patch, den ich in der Files-Sektion zum Download anbiete.
Install Mini HowTo [Debian Lenny]:
Installation der nötigen Pakete
apt-get install wget gcc libncurses5-dev
Runterladen und entpacken
wget http://www.butschek.de/files/stuff/linchat/linchat-1.0.tar.gz
tar xvzf linchat-1.0.tar.gz
wget http://www.butschek.de/files/stuff/linchat/linchat-1.0-cpp_fixes.patch
cp linchat-1.0-cpp_fixes.patch linchat-1.0/
cd linchat-1.0
Patchen
patch < linchat-1.0-cpp_fixes.patch
Kompilieren:
make
Installieren
chmod 755 linchat
mv linchat /usr/local/bin/
Testen
linchat
Beenden mit STRG-C :cool:
PS: Großen Dank an sh0 für den Patch – hast was bei mir gut!

Du machst dirs ja umständlich. :D Da reicht doch eine Zeile vollkommen aus:
wget -q -O- http://www.butschek.de/files/stuff/linchat/linchat-1.0.tar.gz | tar xzvf – && cd linchat-1.0 && wget -q -O- http://www.butschek.de/files/stuff/linchat/linchat-1.0-cpp_fixes.patch | patch && make && mv linchat /usr/local/bin/
So einfach geht das. ;) chmod brauchst du ja nich zu tun, da die compilierte Binary dann eh schon mit 755 gemoddet ist.
Grüße, mh166
Danke für den Tipp.
Die Kombination aller Anweisungen in eine Zeile spart zwar einige Anschläge, was sich jedoch meist nur auf die mehrfache Eingabe der Filenames auswirkt und die ergänze ich sowieso mit Tab. Die Fehlersuche bei Tippfehlern verkompliziert der Einzeiler jedoch.
Auf das chmod würde ich unter keinen Umständen verzichten, da die Rechte sonst abhängig von der umask wären. In meinem Fall umask 0000 ergibt das einem Binary mit den Rechten 0777 – Ohne ein chmod also ein böses Loch, das ich meinen Lesern empfehlen würde. ;-)
Wegen dem Patch, immer wieder gern 8)_
Thanks!
Zum Eintrag hier noch der passende Web-Link:
:arrow: ZXing 1D or 2D barcode Decoder Online
thank you very much for mirroring this. here’s a PKGBUILD for arch linux users: http://aur.archlinux.org/packages.php?ID=33304