GNU/Linux >> Linux の 問題 >  >> Linux

Linuxtmuxセッション内でのIrssiの使用

すでに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セッションを管理する簡単な方法があります。プロセスを学ぶのにほんの数分かかるので、効率と利便性を得ることができます。


Linux
  1. TmuxおよびScreenとのLinuxターミナルセッションの共有

  2. 50 UNIX / Linux システム管理者チュートリアル

  3. sshセッション内でscpを使用せずにファイルをコピーするには?

  1. ProcDumpを使用してLinuxをデバッグする

  2. 5分でプロのようにTmuxを使い始める方法

  3. Tmux Socket Api?

  1. Linuxでのripgrep(rg)コマンドの使用

  2. Linux Deploy を使用した Android 上の Kali Linux

  3. gnome-terminal を使用して tmux を起動する