web-dev-qa-db-ja.com

SSHターミナルセッションで複数のウィンドウを持つ方法

Mac OSXから、並列計算ジョブを処理するリモートサーバーにログインします。このサーバーは大学が管理しているため、何もインストールできません。複数のジョブを実行していて、次の方法でログファイルを監視したい:

tail -f logfile.log

現在、4つのジョブを実行しています。4つのターミナルウィンドウを開き、サーバーに4回SSHで接続し、さまざまなログファイル(サーバーのさまざまなフォルダーにあります)に対してtailコマンドを4回実行します。私はこれを次善の方法で行っていると感じており、SSHを1回だけ探しています。次に、1つのターミナルウィンドウから、tailを使用して4つのログファイルすべてを別々のウィンドウ(またはタブ)で開きます。コマンド。

これは可能ですか?または、4回サインインする必要がありますか?

6

画面ユーティリティ を使用すると、セッションで複数のウィンドウを使用できます。 (サーバー側にインストールする必要があります)

この男はあなたにコマンドを示します 同じターミナルウィンドウ内でビューを分割する方法について。

ドロップされたセッションに再接続する にも役立ちます。

更新:

画面とtmuxセッションはすべて1つのセッション内で「ライブ」であり、OSXターミナルアプリ自体に1つのウィンドウまたはタブしか表示されないことに注意してください(これらのユーティリティでは、そのビュー内に複数の「ウィンドウ/ビュー」を設定できます)。 このユーザーからのコメント を参照してください:

ssh接続は、1つのシェルで実行される単一のプロセスであり、新しいタブを作成すると、このプロセスを実行しない新しいローカルシェルが作成されます。さらに、リモートサーバーは認証なしであなたからの重複接続を受け入れません。本質的に、これは不可能です。最も近い方法は、bash履歴を利用し、上矢印を押して最新のコマンドをスクロールし、現在の接続に使用したsshコマンドに到達してから実行することです。

それでもOSXターミナルアプリ自体に複数のウィンドウ/タブが必要な場合は、複数回「ログイン」する必要があります。このプロセスを支援するために、何人かのユーザーがスクリプトを作成しました。

このユーザーソリューション が最適です。 このユーザーはメニューを作成します リモート接続用。

私が見た他のソリューションはローカルセッションでのみ機能しますが、考え方は似ています。

12
dtmland

tmuxはscreenに似た新しいオプションです。画面よりも新しいオペレーティングシステムの方が見つけやすい場合があります。あなたはドキュメントを見つけることができます ここ

4
Mobius

このための私の個人的なお気に入りのツールは 屏風 です。 tmuxまたは画面の上にあり、Niceアドオンがこれらのプログラムに組み込まれているため、開いている端末の数を簡単に確認できます。本当に、それはそれらのプログラムを使いやすくするだけです。

1
supercheetah