Si ya está algo familiarizado con tmux e Irssi, no dude en consultar los pasos básicos en la sección TL; DR a continuación. Para obtener más detalles y opciones, consulte los pasos de configuración más detallados más adelante en la página.
Multiplexor de terminales (tmux)
Desde el tmux
página man: tmux
es un multiplexor de terminales:permite crear, acceder y controlar varios terminales desde una sola pantalla. tmux
puede separarse de una pantalla y continuar ejecutándose en segundo plano, luego volver a adjuntarse. tmux es una alternativa al comando de pantalla.
Irsi
Irssi es un cliente de Internet Relay Chat (IRC) basado en terminal para sistemas *nix. De la página del manual de Irssi: Irssi es un cliente modular de Internet Relay Chat. Es altamente extensible y muy seguro. Al ser un cliente basado en termcap de pantalla completa con muchas funciones, Irssi es fácilmente extensible a través de secuencias de comandos y módulos.
[ También te puede interesar: Usar modificadores de palabras con el historial de Bash en Linux ]
TL;DR
Uso Irssi para mi cliente IRC y lo ejecuto dentro de un tmux
sesión. Para configurar eso, SSH con su nombre de Kerberos a su servidor de shell o servidor de salto: jump_server
. Guarde este archivo de configuración:archivo de configuración tmux (.tmux.conf) en ~/
, inicia tmux
, guarde el archivo de configuración de Irssi (config) en su ~/.irssi/
carpeta, establezca su nombre y nick IRC en la Configuración en la parte inferior del archivo de configuración, y luego inicie irssi
. Una vez dentro de Irssi, ejecuta:
[(status)] /connect <irc_server>
Para unirse a otros canales:
/join #whatever
Para cambiar tu nick:
/nick newname
Para enviar un mensaje privado a alguien:
/query otherperson
Para cambiar qué habitación/consulta se muestra:
Alt + izquierda o tecla de flecha derecha
O
Y eso saltará a esa pantalla. Sé que #sbr-sysmgmt está en el #2, entonces Alt + 2 me llevará a esa habitación. Para enumerar las personas en un canal:
/who #sbr-sysmgmt
O
/names
Y eso mostrará una lista de todas las personas en la sala actual.
Para salir de tmux
pero deja el IRC funcionando:
Control + un , suelte Control , d
Para reanudar su sesión SSH + tmux, ingrese:
/usr/bin/ssh -t <jump_server> tmux attach
Tengo una secuencia de comandos de inicio al final de este documento que puedes usar.
Documentación más detallada
Uso Irssi para el cliente por varias razones. Principalmente, lo prefiero porque se ejecuta en una consola en lugar de como una aplicación independiente. Por eso, puedo ejecutarlo en una sesión SSH si el servidor remoto tiene instalado Irssi. Para hacerlo más permanente, ejecuto Irssi dentro de un tmux
sesión. Eso significa que puedo conectarme a la VPN y luego ejecutar un comando:/usr/bin/ssh -t <jump_server> tmux attach
, que me conecta a través de SSH al servidor remoto y adjunta automáticamente mi tmux
sesión, que tiene Irssi ejecutándose.
Configurar tmux
Para configurar esto desde cero, SSH al jump_server servidor. Después de eso, usa curl
, wget
, o lo que sea para obtener el tmux.conf
(a menos que ya tenga un tmux.conf
) de mi archivo de configuración tmux y guárdelo como su .tmux.conf
. Aquí hay información adicional de la página man para tmux
:
-f archivo Especifique un archivo de configuración alternativo. De forma predeterminada, tmux carga el archivo de configuración del sistema desde /etc/tmux.conf, si está presente, luego busca un archivo de configuración de usuario en ~/.tmux.conf.
Ahora que tiene ~/.tmux.conf
, puede iniciar el tmux
programa. Esto es básicamente lo mismo que screen
si estás familiarizado con él. Si no, tmux
le permite iniciar un comando, desconectarse de la sesión (lo que normalmente eliminaría su comando en ejecución), reiniciar su sesión SSH y volver a conectarse a la sesión donde aún se está ejecutando su comando. Para ver esto, inicie tmux
con este comando:
$ tmux
Luego comience a hacer ping a Google:
$ ping google.com
Mientras que el ping
va, desconéctate de tu tmux
sesión. Para hacerlo, presiona Control + a , suelte el Control y luego presione d . Debería volver a la pantalla principal de SSH. Siéntase libre de desconectarse de la sesión SSH y luego volver a conectarse. Para ver tu tmux
sesiones, ejecute el siguiente comando:
$ tmux ls
Debería ver su única sesión en la lista. Para volver a adjuntarlo, escriba:
$ tmux attach
Deberías volver a tu ping
comando, que todavía se está ejecutando. Puede tener múltiples tmux
sesiones, por lo que para adjuntar a una específica, primero enumérelas y luego especifique qué sesión adjuntar:
[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
Para mis propósitos, normalmente solo tengo un tmux
sesión en este servidor para que pueda pasar solo tmux attach
a mi comando SSH y no tengo problemas para conectarme a mi sesión de Irssi.
Configurar Irssi
En este punto, tiene un conocimiento básico sobre el uso de tmux
. Es bastante sencillo para casos de uso básicos y, afortunadamente, lo único que me importa es ese uso básico. Ahora, para la configuración de Irssi. Guarde el archivo de configuración de Irssi en su ~/.irssi/
carpeta, establezca su nombre y nick IRC en la Configuración en la parte inferior del archivo de configuración, y luego inicie irssi
. Una vez dentro de Irssi, conéctese al servidor Red Hat IRC:
[(status)] /connect <irc_server>
¡Oye, oye, estás usando IRC!
Para unirse a otros canales:
/join #whatever
Para cambiar tu nick:
/nick newname
Para enviar un mensaje privado a alguien:
/query otherperson
Para cambiar qué habitación/consulta se muestra, seleccione:
Alt + izquierda o tecla de flecha derecha
O
Y eso saltará a esa pantalla. Sé que # sbr-sysmgmt está en el #2, entonces Alt + 2 me llevará a esa habitación.
Para listar personas en un canal:
/who #sbr-sysmgmt
O
/names
Y eso mostrará una lista de todas las personas en la sala actual.
Para salir de tmux
pero deja el IRC funcionando, selecciona:
Control + un , suelte Control y seleccione d
Para reanudar su sesión SSH + tmux, ejecute:
/usr/bin/ssh -t <jump_server> tmux attach
[ Obtenga este libro electrónico gratuito:Administrar sus clústeres de Kubernetes para principiantes. ]
Resumir
Aquí está el script de inicio que uso cada mañana que me conecta a mi VPN (VPN1 o VPN2), hace un kinit
y luego me conecta al servidor 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
Allí tiene una forma sencilla de administrar las sesiones de Irssi a través de tmux. Tómese unos minutos para aprender el proceso, de modo que gane algo de eficiencia y conveniencia.