Se hai già una certa familiarità con tmux e Irssi, sentiti libero di fare riferimento ai passaggi di base nella sezione TL;DR di seguito. Per maggiori dettagli e opzioni, controlla i passaggi di configurazione più approfonditi più in basso nella pagina.
Multiplexer terminale (tmux)
Dal tmux
pagina man: tmux
è un multiplexer di terminali:consente di creare, accedere e controllare più terminali da un'unica schermata. tmux
può essere staccato da uno schermo e continuare a funzionare in background, quindi ricollegato. tmux è un'alternativa al comando dello schermo.
Irsi
Irssi è un client Internet Relay Chat (IRC) basato su terminale per sistemi *nix. Dalla pagina man di Irssi: Irssi è un client Internet Relay Chat modulare. È altamente estensibile e molto sicuro. Essendo un client a schermo intero basato su termcap con molte funzionalità, Irssi è facilmente estensibile tramite script e moduli.
[ Potrebbe piacerti anche: Utilizzare i modificatori di parole con la cronologia di Bash in Linux ]
TL;DR
Uso Irssi per il mio client IRC e lo eseguo all'interno di un tmux
sessione. Per configurarlo, SSH con il tuo nome Kerberos sul tuo server shell o jump server: jump_server
. Salva questo file di configurazione:file di configurazione tmux (.tmux.conf) in ~/
, avvia tmux
, salva il file di configurazione di Irssi (config) nel tuo ~/.irssi/
cartella, imposta il tuo nome e nick IRC nelle Impostazioni sezione nella parte inferiore del file di configurazione, quindi avvia irssi
. Una volta all'interno di Irssi, esegui:
[(status)] /connect <irc_server>
Per unirti ad altri canali:
/join #whatever
Per cambiare il tuo nick:
/nick newname
Per inviare un messaggio privato a qualcuno:
/query otherperson
Per cambiare quale stanza/query viene mostrata:
Alt + sinistra o tasto freccia destra
Oppure
Alt + 2, 3, 4, 5
E questo passerà a quella schermata. So che #sbr-sysmgmt è in #2, quindi Alt + 2 mi porterà in quella stanza. Per elencare le persone in un canale:
/who #sbr-sysmgmt
Oppure
/names
E questo elencherà tutte le persone nella stanza corrente.
Per uscire da tmux
ma lascia IRC in esecuzione:
Control + a , rilascia Controllo , d
Per riprendere la tua sessione SSH + tmux, inserisci:
/usr/bin/ssh -t <jump_server> tmux attach
Ho uno script di avvio alla fine di questo documento che puoi utilizzare.
Documentazione più approfondita
Uso Irssi per il client per alcuni motivi. Principalmente, lo preferisco perché viene eseguito in una console piuttosto che come applicazione autonoma. Per questo motivo, posso eseguirlo in una sessione SSH se il server remoto ha installato Irssi. Per renderlo più permanente, eseguo Irssi all'interno di un tmux
sessione. Ciò significa che posso connettermi alla VPN e quindi eseguire un comando:/usr/bin/ssh -t <jump_server> tmux attach
, che mi collega tramite SSH al server remoto e allega automaticamente il mio tmux
sessione, che ha Irssi in esecuzione.
Configura tmux
Per configurarlo da zero, SSH al jump_server server. Dopodiché, usa curl
, wget
, o qualsiasi altra cosa per ottenere il tmux.conf
file (a meno che tu non abbia già un file tmux.conf
) dal mio file di configurazione tmux e salvalo come .tmux.conf
. Ecco ulteriori informazioni dalla pagina man di tmux
:
-f file Specifica un file di configurazione alternativo. Per impostazione predefinita, tmux carica il file di configurazione del sistema da /etc/tmux.conf, se presente, quindi cerca un file di configurazione utente in ~/.tmux.conf.
Ora che hai ~/.tmux.conf
, puoi avviare il tmux
programma. Questa è fondamentalmente la stessa cosa di screen
se lo conosci. In caso contrario, tmux
consente di avviare un comando, disconnettersi dalla sessione (che normalmente ucciderebbe il comando in esecuzione), riavviare la sessione SSH e ricollegarsi alla sessione in cui il comando è ancora in esecuzione. Per vederlo, avvia tmux
con questo comando:
$ tmux
Quindi inizia a eseguire il ping di Google:
$ ping google.com
Mentre il ping
sta andando, disconnetti dal tuo tmux
sessione. Per farlo, premi Control + a , rilascia il controllo tasto, quindi premere d . Dovresti tornare alla schermata principale di SSH. Sentiti libero di disconnetterti dalla sessione SSH e quindi riconnetterti. Per vedere il tuo tmux
sessioni, eseguire il comando seguente:
$ tmux ls
Dovresti vedere la tua sessione elencata. Per ricollegarlo, digita:
$ tmux attach
Dovresti tornare al tuo ping
comando, che è ancora in esecuzione. Puoi avere più tmux
sessioni, quindi per allegarne una specifica, prima elencale e poi specifica quale sessione allegare:
[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
Per i miei scopi, di solito ho solo un tmux
sessione su questo server in modo da poter passare solo tmux attach
al mio comando SSH e non ho problemi con la connessione alla mia sessione Irssi.
Configura Irssi
A questo punto, hai una conoscenza introduttiva dell'uso di tmux
. È abbastanza semplice per i casi d'uso di base e, fortunatamente, tutto ciò che mi interessa è l'utilizzo di base. Ora, per la configurazione di Irssi. Salva il file di configurazione di Irssi nel tuo ~/.irssi/
cartella, imposta il tuo nome e nick IRC nelle Impostazioni sezione nella parte inferiore del file di configurazione, quindi avvia irssi
. Una volta all'interno di Irssi, connettiti al server IRC di Red Hat:
[(status)] /connect <irc_server>
Ehi, ehi, stai usando IRC!
Per unirti ad altri canali:
/join #whatever
Per cambiare il tuo nick:
/nick newname
Per inviare un messaggio privato a qualcuno:
/query otherperson
Per modificare la stanza/query mostrata, seleziona:
Alt + sinistra o tasto freccia destra
Oppure
Alt + 2, 3, 4, 5
E questo passerà a quella schermata. So che # sbr-sysmgmt è in #2, quindi Alt + 2 mi porterà in quella stanza.
Per elencare le persone in un canale:
/who #sbr-sysmgmt
Oppure
/names
E questo elencherà tutte le persone nella stanza corrente.
Per lasciare tmux
ma lascia IRC in esecuzione, seleziona:
Control + a , rilascia Controllo e seleziona d
Per riprendere la tua sessione SSH + tmux, esegui:
/usr/bin/ssh -t <jump_server> tmux attach
[ Ottieni questo ebook gratuito:Gestione dei cluster Kubernetes per i manichini. ]
Concludi
Ecco lo script di avvio che uso ogni mattina che mi connette alla mia VPN (VPN1 o VPN2), esegue un kinit
, quindi mi connette al server 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
Lì hai un modo semplice per gestire le sessioni di Irssi tramite tmux. Prenditi solo pochi minuti per imparare il processo, in modo da ottenere un po' di efficienza e praticità.