Pokud jste již trochu obeznámeni s tmux a Irssi, neváhejte se podívat na základní kroky v části TL;DR níže. Další podrobnosti a možnosti najdete v podrobnějších krocích konfigurace níže na stránce.
Koncový multiplexer (tmux)
Z tmux
manuálová stránka: tmux
je terminálový multiplexer:umožňuje vytvořit řadu terminálů, přistupovat k nim a ovládat je z jediné obrazovky. tmux
lze odpojit od obrazovky a pokračovat v běhu na pozadí a později znovu připojit. tmux je alternativou k příkazu screen.
Irssi
Irssi je terminálový klient Internet Relay Chat (IRC) pro systémy *nix. Z manuálové stránky Irssi: Irssi je modulární klient Internet Relay Chat. Je vysoce rozšiřitelný a velmi bezpečný. Irssi je celoobrazovkový klient založený na termcapu s mnoha funkcemi a je snadno rozšiřitelný pomocí skriptů a modulů.
[ Také by se vám mohlo líbit: Používání slovních modifikátorů s historií Bash v Linuxu ]
TL;DR
Používám Irssi pro svého IRC klienta a spouštím ho uvnitř tmux
zasedání. Chcete-li to nastavit, SSH s vaším jménem Kerberos na váš shell server nebo skokový server: jump_server
. Uložte tento konfigurační soubor:konfigurační soubor tmux (.tmux.conf) do ~/
, spusťte tmux
, uložte konfigurační soubor Irssi (config) do ~/.irssi/
složku, nastavte své jméno a IRC nick v Nastavení v dolní části konfiguračního souboru a poté spusťte irssi
. Jakmile jste uvnitř Irssi, spusťte:
[(status)] /connect <irc_server>
Chcete-li se připojit k dalším kanálům:
/join #whatever
Změna přezdívky:
/nick newname
Chcete-li někomu poslat soukromou zprávu:
/query otherperson
Chcete-li změnit zobrazenou místnost/dotaz:
Alt + vlevo nebopravá šipka
Nebo
Alt + 2, 3, 4, 5
A to skočí na tu obrazovku. Vím, že #sbr-sysmgmt je v #2, takže Alt + 2 zavede mě do toho pokoje. Seznam lidí v kanálu:
/who #sbr-sysmgmt
Nebo
/names
A tím se zobrazí seznam všech lidí v aktuální místnosti.
Chcete-li ukončit tmux
ale nechte IRC spuštěné:
Ctrl + a , uvolněte Ovládací prvek , d
Chcete-li obnovit relaci SSH + tmux, zadejte:
/usr/bin/ssh -t <jump_server> tmux attach
Na konci tohoto dokumentu mám spouštěcí skript, který můžete použít.
Podrobnější dokumentace
Irssi používám pro klienta z několika důvodů. Upřednostňuji to hlavně proto, že se spouští v konzole spíše než jako samostatná aplikace. Z tohoto důvodu jej mohu spustit v relaci SSH, pokud má vzdálený server nainstalován Irssi. Aby to bylo trvalejší, spustil jsem Irssi uvnitř tmux
zasedání. To znamená, že se mohu připojit k VPN a poté spustit příkaz:/usr/bin/ssh -t <jump_server> tmux attach
, který mě připojí přes SSH ke vzdálenému serveru a automaticky připojí můj tmux
session, ve které běží Irssi.
Nakonfigurujte tmux
Chcete-li to nastavit od začátku, SSH na jump_server server. Poté použijte curl
, wget
, nebo cokoliv, abyste získali tmux.conf
(pokud již nemáte tmux.conf
) z mého konfiguračního souboru tmux a uložte jej jako .tmux.conf
. Zde jsou další informace z manuálové stránky pro tmux
:
-f soubor Určuje alternativní konfigurační soubor. Ve výchozím nastavení tmux načte konfigurační soubor systému z /etc/tmux.conf, pokud je přítomen, a poté hledá uživatelský konfigurační soubor na adrese ~/.tmux.conf.
Nyní, když máte ~/.tmux.conf
, můžete spustit tmux
program. To je v podstatě to samé jako screen
jestli se v tom vyznáš. Pokud ne, tmux
umožňuje spustit příkaz, odpojit se od relace (což by normálně zabilo váš spuštěný příkaz), restartovat relaci SSH a připojit se zpět k relaci, kde váš příkaz stále běží. Chcete-li to vidět, spusťte tmux
pomocí tohoto příkazu:
$ tmux
Pak začněte pingnout Google:
$ ping google.com
Zatímco ping
se chystá, odpojte se od tmux
zasedání. Chcete-li to provést, stiskněte Ctrl + a , uvolněte ovládací prvek a poté stiskněte d . Měli byste být zpět na hlavní obrazovce SSH. Neváhejte se odpojit od relace SSH a poté se znovu připojit. Chcete-li zobrazit váš tmux
sessions, spusťte následující příkaz:
$ tmux ls
Měli byste vidět svou jednu relaci. Chcete-li jej připojit zpět, zadejte:
$ tmux attach
Měli byste se vrátit ke svému ping
příkaz, který stále běží. Můžete mít více tmux
Chcete-li připojit ke konkrétní relaci, nejprve je vypište a poté určete, kterou relaci chcete připojit:
[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
Pro mé účely mám obvykle pouze jeden tmux
relaci na tomto serveru, takže mohu předat pouze tmux attach
k mému příkazu SSH a nemám žádné problémy s připojením k mé relaci Irssi.
Nakonfigurujte Irssi
V tomto okamžiku máte úvodní znalosti o používání tmux
. Je to docela jednoduché pro základní případy použití a naštěstí mě zajímá pouze základní použití. Nyní ke konfiguraci Irssi. Uložte konfigurační soubor Irssi do svého ~/.irssi/
složku, nastavte své jméno a IRC nick v Nastavení v dolní části konfiguračního souboru a poté spusťte irssi
. Jakmile jste v Irssi, připojte se k serveru Red Hat IRC:
[(status)] /connect <irc_server>
Hej, hej, používáte IRC!
Chcete-li se připojit k dalším kanálům:
/join #whatever
Změna přezdívky:
/nick newname
Chcete-li někomu poslat soukromou zprávu:
/query otherperson
Chcete-li změnit, která místnost/dotaz se zobrazí, vyberte:
Alt + vlevo nebopravá šipka
Nebo
Alt + 2, 3, 4, 5
A to skočí na tu obrazovku. Vím, že # sbr-sysmgmt je v #2, takže Alt + 2 zavede mě do té místnosti.
Seznam lidí v kanálu:
/who #sbr-sysmgmt
Nebo
/names
A tím se zobrazí seznam všech lidí v aktuální místnosti.
Chcete-li opustit tmux
ale nechte IRC spuštěné, vyberte:
Ctrl + a , uvolněte Ovládací prvek a vyberte d
Chcete-li obnovit relaci SSH + tmux, spusťte:
/usr/bin/ssh -t <jump_server> tmux attach
[ Získejte tuto bezplatnou e-knihu:Správa clusterů Kubernetes pro figuríny. ]
Sbalit
Zde je spouštěcí skript, který používám každé ráno a který mě připojí k mé VPN (VPN1 nebo VPN2), provede kinit
a poté mě připojí k serveru 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
Zde máte jednoduchý způsob, jak spravovat relace Irssi přes tmux. Udělejte si jen pár minut na naučení se procesu, abyste získali určitou efektivitu a pohodlí.