Wenn Sie bereits etwas mit tmux und Irssi vertraut sind, können Sie sich einfach auf die grundlegenden Schritte im Abschnitt TL;DR unten beziehen. Weitere Einzelheiten und Optionen finden Sie in den ausführlicheren Konfigurationsschritten weiter unten auf der Seite.
Terminal-Multiplexer (tmux)
Aus dem tmux
Manpage: tmux
ist ein Terminal-Multiplexer:Er ermöglicht die Erstellung, den Zugriff und die Steuerung einer Reihe von Terminals von einem einzigen Bildschirm aus. tmux
kann von einem Bildschirm getrennt werden und im Hintergrund weiterlaufen, um später wieder angeschlossen zu werden. tmux ist eine Alternative zum Bildschirmbefehl.
Irsi
Irssi ist ein terminalbasierter Internet Relay Chat (IRC)-Client für *nix-Systeme. Von der Irssi-Manpage: Irssi ist ein modularer Internet-Relay-Chat-Client. Es ist sehr erweiterbar und sehr sicher. Als Termcap-basierter Vollbild-Client mit vielen Funktionen ist Irssi einfach durch Skripte und Module erweiterbar.
[Das könnte Ihnen auch gefallen: Wortmodifikatoren mit Bash-Verlauf in Linux verwenden]
TL;DR
Ich verwende Irssi für meinen IRC-Client und führe es innerhalb eines tmux
aus Sitzung. Stellen Sie dazu eine SSH-Verbindung mit Ihrem Kerberos-Namen zu Ihrem Shell-Server oder Jump-Server her: jump_server
. Speichern Sie diese Konfigurationsdatei:tmux config file (.tmux.conf) in ~/
, starten Sie tmux
, speichern Sie die Irssi-Konfigurationsdatei (config) in Ihrem ~/.irssi/
Ordner, legen Sie Ihren Namen und IRC-Nick in den Einstellungen fest Abschnitt am Ende der Konfigurationsdatei und starten Sie dann irssi
. Sobald Sie sich in Irssi befinden, führen Sie Folgendes aus:
[(status)] /connect <irc_server>
Um anderen Kanälen beizutreten:
/join #whatever
So ändern Sie Ihren Spitznamen:
/nick newname
So senden Sie jemandem eine private Nachricht:
/query otherperson
Um zu ändern, welches Zimmer/welche Abfrage angezeigt wird:
Alt + links oder Pfeiltaste rechts
Oder
Alt + 2, 3, 4, 5
Und das wird zu diesem Bildschirm springen. Ich kenne das #sbr-sysmgmt ist in #2, also Alt + 2 bringt mich in dieses Zimmer. So listen Sie die Personen in einem Kanal auf:
/who #sbr-sysmgmt
Oder
/names
Und das listet alle Personen im aktuellen Raum auf.
Um tmux
zu beenden aber IRC laufen lassen:
Strg + a , lassen Sie Strg los , d
Geben Sie Folgendes ein, um Ihre SSH + tmux-Sitzung fortzusetzen:
/usr/bin/ssh -t <jump_server> tmux attach
Am Ende dieses Dokuments habe ich ein Startskript, das Sie verwenden können.
Ausführlichere Dokumentation
Ich verwende Irssi aus mehreren Gründen für den Client. Hauptsächlich bevorzuge ich es, weil es in einer Konsole und nicht als eigenständige Anwendung ausgeführt wird. Aus diesem Grund kann ich es in einer SSH-Sitzung ausführen, wenn auf dem Remote-Server Irssi installiert ist. Um es dauerhafter zu machen, führe ich dann Irssi innerhalb eines tmux
aus Sitzung. Das heißt, ich kann mich mit dem VPN verbinden und dann einen Befehl ausführen:/usr/bin/ssh -t <jump_server> tmux attach
, das mich über SSH mit dem Remote-Server verbindet und automatisch meinen tmux
anhängt Sitzung, auf der Irssi ausgeführt wird.
tmux konfigurieren
Um dies von Grund auf neu einzurichten, verbinden Sie sich per SSH mit dem jump_server Server. Verwenden Sie danach curl
, wget
, oder was auch immer, um die tmux.conf
zu erhalten Datei (es sei denn, Sie haben bereits eine tmux.conf
) aus meiner tmux-Konfigurationsdatei und speichere sie als deine .tmux.conf
. Hier sind zusätzliche Informationen von der Manpage für tmux
:
-f Datei Geben Sie eine alternative Konfigurationsdatei an. Standardmäßig lädt tmux die Systemkonfigurationsdatei aus /etc/tmux.conf, falls vorhanden, und sucht dann nach einer Benutzerkonfigurationsdatei unter ~/.tmux.conf.
Jetzt haben Sie ~/.tmux.conf
, können Sie den tmux
starten Programm. Dies ist im Grunde dasselbe wie screen
wenn Sie sich damit auskennen. Wenn nicht, tmux
können Sie einen Befehl starten, die Sitzung trennen (was normalerweise Ihren laufenden Befehl beenden würde), Ihre SSH-Sitzung neu starten und wieder an die Sitzung anhängen, in der Ihr Befehl noch ausgeführt wird. Starten Sie dazu tmux
mit diesem Befehl:
$ tmux
Beginnen Sie dann, Google zu pingen:
$ ping google.com
Während der ping
geht, trennen Sie die Verbindung zu Ihrem tmux
Sitzung. Drücken Sie dazu Strg + a , lassen Sie die Steuerung los -Taste und drücken Sie dann d . Sie sollten wieder auf dem SSH-Hauptbildschirm sein. Fühlen Sie sich frei, die SSH-Sitzung zu trennen und dann erneut zu verbinden. Um Ihren tmux
zu sehen Sitzungen führen Sie den folgenden Befehl aus:
$ tmux ls
Sie sollten Ihre eine Sitzung aufgelistet sehen. Geben Sie zum Wiederanhängen Folgendes ein:
$ tmux attach
Sie sollten wieder bei Ihrem ping
sein Befehl, der noch läuft. Sie können mehrere tmux
haben Sitzungen, also um sie an eine bestimmte anzuhängen, listen Sie sie zuerst auf und geben Sie dann an, welche Sitzung angehängt werden soll:
[pgervase@jump_server ~]$ tmux ls
0: 1 windows (created Mon Jan 20 08:06:24 2020) [211x51] (attached)
3: 1 windows (created Fri May 8 11:38:38 2020) [154x39]
[jump_server] [11:39:06 AM]
[pgervase@jump_server ~]$ tmux attach 3
Für meine Zwecke habe ich normalerweise nur einen tmux
Sitzung auf diesem Server, sodass ich nur tmux attach
weitergeben kann zu meinem SSH-Befehl und habe keine Probleme mit der Verbindung zu meiner Irssi-Sitzung.
Irssi konfigurieren
An dieser Stelle verfügen Sie über ein einführendes Wissen zur Verwendung von tmux
. Es ist ziemlich einfach für grundlegende Anwendungsfälle, und glücklicherweise interessiert mich nur diese grundlegende Verwendung. Nun zur Irssi-Konfiguration. Speichern Sie die Irssi-Konfigurationsdatei in Ihrem ~/.irssi/
Ordner, legen Sie Ihren Namen und IRC-Nick in den Einstellungen fest Abschnitt am Ende der Konfigurationsdatei und starten Sie dann irssi
. Sobald Sie sich in Irssi befinden, verbinden Sie sich mit dem Red Hat IRC-Server:
[(status)] /connect <irc_server>
Hey, hey, du benutzt IRC!
Um anderen Kanälen beizutreten:
/join #whatever
So ändern Sie Ihren Spitznamen:
/nick newname
So senden Sie jemandem eine private Nachricht:
/query otherperson
Um zu ändern, welches Zimmer/welche Abfrage angezeigt wird, wählen Sie:
Alt + links oder Pfeiltaste rechts
Oder
Alt + 2, 3, 4, 5
Und das wird zu diesem Bildschirm springen. Ich weiß, dass # sbr-sysmgmt ist in #2, also Alt + 2 bringt mich in diesen Raum.
So listen Sie Personen in einem Kanal auf:
/who #sbr-sysmgmt
Oder
/names
Und das listet alle Personen im aktuellen Raum auf.
tmux
verlassen aber lassen Sie IRC laufen, wählen Sie:
Strg + a , lassen Sie Strg los , und wählen Sie d aus
Führen Sie Folgendes aus, um Ihre SSH + tmux-Sitzung fortzusetzen:
/usr/bin/ssh -t <jump_server> tmux attach
[ Holen Sie sich dieses kostenlose E-Book:Verwalten Ihrer Kubernetes-Cluster für Dummies. ]
Abschluss
Hier ist das Startskript, das ich jeden Morgen verwende, das mich mit meinem VPN (VPN1 oder VPN2) verbindet und einen kinit
ausführt , und verbindet mich dann mit dem SSH-Server:
#!/bin/bash
#### First things first, wait for network connection
echo "step 1: ping google"
until ping -c 1 8.8.8.8 > /dev/null; do sleep 2; done
echo "step 2: stop any old vpn"
/usr/bin/nmcli connection down "VPN1"
/usr/bin/nmcli connection down "VPN2"
echo "step 3: token --- get your token for the vpn"
echo "step 4: start new vpn1 vpn"
/usr/bin/nmcli --ask connection up "VPN1"
#/usr/bin/nmcli --ask connection up "VPN2"
/usr/bin/sleep 5
echo "step 5: kinit"
until /usr/bin/kinit; do
echo "something didn't work, so shutting down vpn..."
/usr/bin/nmcli connection down "VPN1"
echo ""
echo "redo step 3: token"
/usr/bin/echo ""
echo "starting new vpn2 vpn..."
/usr/bin/nmcli --ask connection up "VPN2"
#/usr/bin/nmcli --ask connection up "VPN1"
/usr/bin/sleep 5
echo "kinit..."
date
#/usr/bin/kinit
date
done
echo "ssh for irc"
/usr/bin/ssh -t <jump_server> tmux attach
Dort haben Sie eine einfache Möglichkeit, die Irssi-Sessions über tmux zu verwalten. Nehmen Sie sich nur ein paar Minuten Zeit, um den Prozess zu lernen, damit Sie etwas effizienter und bequemer werden.