すでにtmuxとIrssiにある程度精通している場合は、以下のTL;DRセクションの基本的な手順を参照してください。詳細とオプションについては、ページのさらに下にあるより詳細な構成手順を確認してください。
ターミナルマルチプレクサ(tmux)
tmux
から マニュアルページ: tmux
はターミナルマルチプレクサです。単一の画面から多数のターミナルを作成、アクセス、および制御できます。 tmux
画面から切り離してバックグラウンドで実行を継続し、後で再接続することができます。 tmuxはscreenコマンドの代わりになります。
Irssi
Irssiは、* nixシステム用のターミナルベースのインターネットリレーチャット(IRC)クライアントです。 Irssiのマニュアルページから: Irssiは、モジュール式のインターネットリレーチャットクライアントです。それは非常に拡張性があり、非常に安全です。 Irssiは、多くの機能を備えたフルスクリーンのtermcapベースのクライアントであるため、スクリプトやモジュールを介して簡単に拡張できます。
[次のこともお勧めします:LinuxでのBash履歴での単語修飾子の使用]
TL; DR
IRCクライアントにIrssiを使用し、tmux
内で実行しています。 セッション。これを設定するには、Kerberos名を使用してシェルサーバーまたはジャンプサーバーにSSHで接続します:jump_server
。次の構成ファイルを保存します:tmux構成ファイル(.tmux.conf)を~/
に保存します 、tmux
を開始します 、Irssi構成ファイル(config)を~/.irssi/
に保存します フォルダで、設定に名前とIRCニックネームを設定します 構成ファイルの下部にあるセクションで、irssi
を開始します 。 Irssiに入ったら、次を実行します:
[(status)] /connect <irc_server>
他のチャンネルに参加するには:
/join #whatever
ニックネームを変更するには:
/nick newname
誰かにプライベートメッセージを送るには:
/query otherperson
表示する部屋/クエリを変更するには:
Alt+左 または右矢印キー
または
Alt + 2、3、4、5
そして、それはその画面にジャンプします。 #sbr-sysmgmt #2にあるので、 Alt + 2 その部屋に連れて行ってくれます。チャンネルのユーザーを一覧表示するには:
/who #sbr-sysmgmt
または
/names
これで、現在の部屋にいるすべての人が一覧表示されます。
tmux
を終了するには ただし、IRCは実行したままにします:
コントロール+a 、コントロールを解放します 、 d
SSH + tmuxセッションを再開するには、次のように入力します。
/usr/bin/ssh -t <jump_server> tmux attach
このドキュメントの最後に、使用できる起動スクリプトがあります。
より詳細なドキュメント
私はいくつかの理由でクライアントにIrssiを使用しています。主に、スタンドアロンアプリケーションとしてではなく、コンソールで実行されるため、私はそれを好みます。そのため、リモートサーバーにIrssiがインストールされている場合は、SSHセッションで実行できます。それをより永続的にするために、私はtmux
内でIrssiを実行します セッション。つまり、VPNに接続してから、次のコマンドを実行できます。/usr/bin/ssh -t <jump_server> tmux attach
、SSH経由でリモートサーバーに接続し、tmux
を自動的に接続します Irssiが実行されているセッション。
tmuxを設定
これを最初から設定するには、ump_serverにSSHで接続します サーバ。その後、curl
を使用します 、wget
、またはtmux.conf
を取得するためのもの ファイル(すでにtmux.conf
を持っている場合を除く )tmux構成ファイルから、.tmux.conf
として保存します 。 tmux
のマニュアルページからの追加情報は次のとおりです。 :
-ffile代替構成ファイルを指定します。デフォルトでは、tmuxは/etc/tmux.confからシステム構成ファイルをロードし(存在する場合)、〜/.tmux.confでユーザー構成ファイルを探します。
これで~/.tmux.conf
ができました 、tmux
を開始できます プログラム。これは基本的にscreen
と同じです あなたがそれに精通しているなら。そうでない場合は、tmux
コマンドを開始し、セッションから切断し(通常、実行中のコマンドを強制終了します)、SSHセッションを再開し、コマンドがまだ実行されているセッションに接続し直すことができます。これを確認するには、tmux
を起動します このコマンドで:
$ tmux
次に、Googleへのpingを開始します:
$ ping google.com
ping
tmux
から切断します セッション。これを行うには、コントロール+ aを押します 、コントロールを放します キーを押してから、 dを押します 。 SSHのメイン画面に戻るはずです。 SSHセッションから切断してから、再接続してください。 tmux
を表示するには セッションの場合は、次のコマンドを実行します:
$ tmux ls
1つのセッションが一覧表示されます。アタッチし直すには、次のように入力します:
$ tmux attach
ping
に戻る必要があります まだ実行中のコマンド。複数のtmux
を持つことができます セッションなので、特定のセッションにアタッチするには、最初にそれらをリストしてから、アタッチするセッションを指定します。
[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
私の目的では、通常、tmux
は1つしかありません。 このサーバーでセッションを実行して、tmux attach
だけを渡すことができるようにします SSHコマンドに接続し、Irssiセッションへの接続に問題はありません。
Irssiを構成する
この時点で、tmux
の使用に関する入門的な知識があります。 。基本的なユースケースではかなり簡単です。幸い、私が気にするのはその基本的な使用法だけです。次に、Irssi構成について説明します。 Irssi設定ファイルを~/.irssi/
に保存します フォルダで、設定に名前とIRCニックネームを設定します 構成ファイルの下部にあるセクションで、irssi
を開始します 。 Irssiに入ったら、RedHatIRCサーバーに接続します。
[(status)] /connect <irc_server>
ねえ、ねえ、あなたはIRCを使用しています!
他のチャンネルに参加するには:
/join #whatever
ニックネームを変更するには:
/nick newname
誰かにプライベートメッセージを送るには:
/query otherperson
表示する部屋/クエリを変更するには、次を選択します。
Alt+左 または右矢印キー
または
Alt + 2、3、4、5
そして、それはその画面にジャンプします。 #sbr-sysmgmt #2にあるので、 Alt + 2 その部屋に連れて行ってくれます。
チャンネルのユーザーを一覧表示するには:
/who #sbr-sysmgmt
または
/names
これで、現在の部屋にいるすべての人が一覧表示されます。
tmux
を残すには ただし、IRCを実行したままにして、次を選択します。
コントロール+a 、コントロールを解放します 、 dを選択します
SSH + tmuxセッションを再開するには、次のコマンドを実行します:
/usr/bin/ssh -t <jump_server> tmux attach
[この無料の電子書籍を入手する:ダミーのKubernetesクラスターを管理する。 ]
まとめ
これが毎朝使用する起動スクリプトで、VPN(VPN1またはVPN2)に接続し、kinit
を実行します。 、次に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
tmuxを介してIrssiセッションを管理する簡単な方法があります。プロセスを学ぶのにほんの数分かかるので、効率と利便性を得ることができます。