Si vous êtes déjà un peu familiarisé avec tmux et Irssi, n'hésitez pas à vous référer aux étapes de base de la section TL; DR ci-dessous. Pour plus de détails et d'options, consultez les étapes de configuration plus approfondies plus bas sur la page.
Multiplexeur de terminaux (tmux)
Depuis le tmux
page de manuel : tmux
est un multiplexeur de terminaux :il permet de créer, d'accéder et de contrôler plusieurs terminaux depuis un seul écran. tmux
peut être détaché d'un écran et continuer à fonctionner en arrière-plan, puis être rattaché plus tard. tmux est une alternative à la commande screen.
Irssi
Irssi est un client Internet Relay Chat (IRC) basé sur un terminal pour les systèmes *nix. À partir de la page de manuel d'Irssi : Irssi est un client modulaire de relais Internet Chat. Il est hautement extensible et très sécurisé. Étant un client plein écran basé sur termcap avec de nombreuses fonctionnalités, Irssi est facilement extensible via des scripts et des modules.
[ Vous pourriez également aimer : Utiliser des modificateurs de mots avec l'historique de Bash sous Linux ]
TL;DR
J'utilise Irssi pour mon client IRC et je l'exécute dans un tmux
session. Pour configurer cela, connectez-vous en SSH avec votre nom Kerberos à votre serveur shell ou serveur de saut : jump_server
. Enregistrez ce fichier de configuration :fichier de configuration tmux (.tmux.conf) dans ~/
, lancez tmux
, enregistrez le fichier de configuration Irssi (config) dans votre ~/.irssi/
dossier, définissez votre nom et votre pseudo IRC dans les Paramètres section en bas du fichier de configuration, puis démarrez irssi
. Une fois dans Irssi, lancez :
[(status)] /connect <irc_server>
Pour rejoindre d'autres chaînes :
/join #whatever
Pour changer de pseudo :
/nick newname
Pour envoyer un message privé à quelqu'un :
/query otherperson
Pour modifier la salle/requête affichée :
Alt + gauche outouche fléchée vers la droite
Ou
Alt + 2, 3, 4, 5
Et cela sautera à cet écran. Je sais que #sbr-sysmgmt est en #2, donc Alt + 2 m'emmènera dans cette pièce. Pour répertorier les personnes d'un canal :
/who #sbr-sysmgmt
Ou
/names
Et cela répertoriera toutes les personnes présentes dans la salle actuelle.
Pour quitter tmux
mais laissez IRC fonctionner :
Ctrl + a , relâchez le contrôle , d
Pour reprendre votre session SSH + tmux, saisissez :
/usr/bin/ssh -t <jump_server> tmux attach
J'ai un script de démarrage à la fin de ce document que vous pouvez utiliser.
Documentation plus approfondie
J'utilise Irssi pour le client pour plusieurs raisons. Principalement, je le préfère parce qu'il est exécuté dans une console plutôt que comme une application autonome. Pour cette raison, je peux l'exécuter dans une session SSH si Irssi est installé sur le serveur distant. Pour le rendre plus permanent, j'exécute ensuite Irssi à l'intérieur d'un tmux
session. Cela signifie que je peux me connecter au VPN puis exécuter une commande :/usr/bin/ssh -t <jump_server> tmux attach
, qui me connecte via SSH au serveur distant et attache automatiquement mon tmux
session, qui a Irssi en cours d'exécution.
Configurer tmux
Pour configurer cela à partir de zéro, SSH au jump_server serveur. Après cela, utilisez curl
, wget
, ou quoi que ce soit pour obtenir le tmux.conf
fichier (sauf si vous avez déjà un fichier tmux.conf
) à partir de mon fichier de configuration tmux et enregistrez-le sous votre .tmux.conf
. Voici des informations supplémentaires de la page de manuel pour tmux
:
-f fichier Spécifiez un autre fichier de configuration. Par défaut, tmux charge le fichier de configuration système à partir de /etc/tmux.conf, s'il est présent, puis recherche un fichier de configuration utilisateur dans ~/.tmux.conf.
Maintenant que vous avez ~/.tmux.conf
, vous pouvez démarrer le tmux
programme. C'est fondamentalement la même chose que screen
si vous le connaissez. Sinon, tmux
vous permet de démarrer une commande, de vous déconnecter de la session (ce qui normalement tuerait votre commande en cours d'exécution), de redémarrer votre session SSH et de vous rattacher à la session où votre commande est toujours en cours d'exécution. Pour voir cela, lancez tmux
avec cette commande :
$ tmux
Ensuite, commencez à envoyer un ping à Google :
$ ping google.com
Pendant que le ping
va, déconnectez-vous de votre tmux
session. Pour ce faire, appuyez sur Ctrl + a , relâchez le contrôle touche , puis appuyez sur d . Vous devriez être de retour à l'écran principal de SSH. N'hésitez pas à vous déconnecter de la session SSH puis à vous reconnecter. Pour voir votre tmux
sessions, exécutez la commande suivante :
$ tmux ls
Vous devriez voir votre session unique répertoriée. Pour le rattacher, tapez :
$ tmux attach
Vous devriez être de retour à votre ping
commande, qui est toujours en cours d'exécution. Vous pouvez avoir plusieurs tmux
sessions, donc pour attacher à une session spécifique, listez-les d'abord, puis spécifiez quelle session attacher :
[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
Pour mes besoins, je n'ai généralement qu'un seul tmux
session sur ce serveur afin que je puisse passer juste tmux attach
à ma commande SSH et je n'ai aucun problème de connexion à ma session Irssi.
Configurer Irssi
À ce stade, vous avez une connaissance préliminaire de l'utilisation de tmux
. C'est assez simple pour les cas d'utilisation de base, et heureusement, tout ce qui m'importe, c'est cette utilisation de base. Maintenant, pour la configuration Irssi. Enregistrez le fichier de configuration Irssi dans votre ~/.irssi/
dossier, définissez votre nom et votre pseudo IRC dans les Paramètres section en bas du fichier de configuration, puis démarrez irssi
. Une fois dans Irssi, connectez-vous au serveur IRC Red Hat :
[(status)] /connect <irc_server>
Hé, hé, vous utilisez IRC !
Pour rejoindre d'autres chaînes :
/join #whatever
Pour changer de pseudo :
/nick newname
Pour envoyer un message privé à quelqu'un :
/query otherperson
Pour modifier la salle/requête affichée, sélectionnez :
Alt + gauche outouche fléchée vers la droite
Ou
Alt + 2, 3, 4, 5
Et cela sautera à cet écran. Je sais que # sbr-sysmgmt est en #2, donc Alt + 2 va m'emmener dans cette pièce.
Pour répertorier les personnes d'un canal :
/who #sbr-sysmgmt
Ou
/names
Et cela répertoriera toutes les personnes présentes dans la salle actuelle.
Pour quitter tmux
mais laissez IRC en cours d'exécution, sélectionnez :
Ctrl + a , relâchez le contrôle , et sélectionnez d
Pour reprendre votre session SSH + tmux, exécutez :
/usr/bin/ssh -t <jump_server> tmux attach
[ Obtenez cet ebook gratuit :Gérer vos clusters Kubernetes pour les nuls. ]
Récapitulez
Voici le script de démarrage que j'utilise chaque matin qui me connecte à mon VPN (VPN1 ou VPN2), fait un kinit
, puis me connecte au serveur SSH :
#!/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
Vous avez là un moyen simple de gérer les sessions Irssi via tmux. Prenez quelques minutes pour apprendre le processus, afin de gagner en efficacité et en commodité.