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

Eternal Terminal –セッションを中断せずに自動的に再接続するリモートシェル

エターナルターミナル(ET) セッションを中断せずに自動的に再接続するリモートシェルです。通常のSSHセッションとは異なり、ETセッションは、ネットワークの停止やIPの変更後も存続します。 ETはターミナルエミュレータではなく、リモートシェルにすぎないことに注意してください。 ETは主にIPの変更のために作られています。つまり、リモートホストのIPアドレスが変更されても、EternalTerminalはリモートシステムとの接続を維持します。

ETのもう1つの注目すべき機能は、 tmuxを実行できることです。 または画面 ETセッション内。 ETは、OSのスクロールバー、タブ、ウィンドウを使用できるtmux制御モードをサポートしています。これは、ETが Moshのような他の同様のアプリケーションと区別されるところです。 (SSHの一般的な代替手段)。 MoshはETと同じ機能を提供しますが、スクロールやtmux制御モードをサポートしていません。一言で言えば、ETは忙しくてせっかちな人のためのリモート端末です!

LinuxにEternalTerminalをインストールする

サーバーおよびクライアントシステムにETをインストールする必要があります。

ETはAURで利用できます 、したがって、AURヘルパープログラムを使用してArchベースのシステムにインストールします。

Yayを使用する :

$ yay -S eternalterminal

ETにはUbuntuユーザー向けの公式PPAがあります。 Ubuntuとその派生物を使用している場合は、次のコマンドを1つずつ実行してETをインストールします。

$ sudo add-apt-repository ppa:jgmath2000/et
$ sudo apt-get update
$ sudo apt-get install et

Linuxbrewを使用してインストールすることもできます LinuxおよびMacOSXシステムのパッケージマネージャー。

$ brew install MisterTea/et/et

他のLinuxディストリビューションの場合は、手動でコンパイルしてインストールする必要があります。

まず、次の依存関係をインストールします。

  • libboost-dev
  • libsodium-dev
  • libncurses5-dev
  • libprotobuf-dev
  • protobuf-コンパイラ
  • cmake
  • libgoogle-glog-dev
  • libgflags-dev
  • 解凍
  • wget

依存関係をインストールした後、以下に示すようにETをコンパイルしてインストールします。

$ wget https://github.com/MisterTea/EternalTCP/archive/master.zip
$ unzip master.zip
$ cd EternalTCP-master
$ mkdir build
$ cd build
$ cmake ../
$ make
$ sudo make install

永遠の端末の使用法

サーバーおよびクライアントシステムにETをインストールする必要があることに注意してください 。デフォルトでは、ETはポート 2022を使用します 。ファイアウォールまたはルーターの背後にいる場合は、このポートを開く必要があります。 ETはハンドシェイクと暗号化にsshを使用するため、クライアントからマシンにsshできることを確認してください。

クライアントに接続するコマンドはshに似ています。クライアントシステムに接続するには、次を実行するだけです:

et [email protected]

例:

$ et [email protected]

ここで、 sk および192.168.43.246 クライアントシステムのユーザー名とIPアドレスです。リモートシステムのユーザー名を入力してアクセスします。

動作中の永遠のターミナル

これで、ローカルシステムからリモートクライアントを使用できます。ネットワークの停止後に自動的に再接続されるかどうかを確認するには、ネットワークケーブルを抜き、再度差し込むか、クライアントのIPアドレスを変更します。接続がまだアクティブであることがわかります。 SSHセッションとは異なり、ネットワークの停止後にセッションを強制終了して再接続する必要はありません。 ETは常に接続を維持します。


Linux
  1. Linux –それは制御端末を持っているプロセスですか、それとも制御端末を持っているセッションですか?

  2. 端末がC/c ++プログラムで使用する文字エンコードを判別する方法は?

  3. :明示的に何もしないことを考えると、シェルスクリプトのコマンドの有用性は?

  1. ターミナルからリモートファイルのサイズを取得しますか?

  2. デスクトップにログインせずにターミナルにアクセスするにはどうすればよいですか?

  3. ANSI イタリック エスケープ コードをサポートする端末は?

  1. ターミナルに出没する8つの不気味なコマンド

  2. 端末で sips を使用して、アップスケーリングせずに画像のサイズを変更するにはどうすればよいですか?

  3. コードが署名されていることを確認するシェルはありますか?