GNU/Linux >> Linux Esercitazione >  >> Linux

Utilizzo di Irssi all'interno di una sessione tmux di Linux

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à.


Linux
  1. Esegui il debug di Linux usando ProcDump

  2. Condivisione di sessioni del terminale Linux con Tmux e Screen

  3. Tmux Socket Api?

  4. Utilizzo del comando ripgrep (rg) in Linux

  5. Come copiare un file senza usare scp all'interno di una sessione ssh?

Installa MongoDB usando Vagrant in Linux

Suggerimenti per l'utilizzo di tmux

Come installare e utilizzare Tmux (terminal multiplexer) in Linux

Installa Linux all'interno di Windows utilizzando VirtualBox [Guida passo passo]

Come installare tmux su Linux

Utilizzo del comando Watch in Linux