web-dev-qa-db-ja.com

複数のウィンドウの永続的なPuTTYセッション

私は、時々壊れるPuTTY接続を介してさまざまなLinux環境で作業しています。 PuTTYウィンドウを持続させるための解決策を探しています(たとえば、ファイルを編集していた場合、再接続した後、同じエディターで同じファイルを同じ場所で開いている必要があります)、次の要件があります:

  • セッションの開始時または再接続後に手動でセットアップする必要はありません(screenなどを入力したくありません)
  • 同じユーザーの同じマシンに対して複数のウィンドウを開いていますが、同時に切断される傾向があります
  • ウィンドウの数/役割は一定ではありません(mcウィンドウ、mysqlウィンドウ、および「スクリプトランナー」ウィンドウがあるわけではありません。検索またはSVNに1つのウィンドウを使用することがあります。コマンド、それ以外の場合は同時に複数が必要です)
  • タスクのウィンドウのプロパティを変更する必要がある場合があります(grep /編集用の大きなウィンドウ、2つを同時に表示する必要があるため小さなウィンドウ、MySQLでライブデータベースを変更しているため赤い背景など)、そのため、再接続後に同じコンソールを同じウィンドウに戻す必要があります

これを達成する方法はありますか? screenまたは同等のものを使用する必要があると思いますが、どのウィンドウから再接続しているのかをどのようにして知ることができますか?一意のウィンドウ識別子をPuTTYからシェルに渡す方法はありますか?

2
Tgr

迅速でクリーンなソリューション

〜/ .bashrcを編集して、screen-rを実行します。その後、ログインすると、実行中の画面セッションに自動的に再接続されます。

充実したソリューション

  • 最大で開く予定の画面セッション(Windowsウィンドウ/ PuTTYセッション)ごとにユーザーを作成します。
  • 新しく作成された各ユーザーを使用してサーバーに接続し、「screen -S username」を実行して、そのユーザー名で名前が付けられたセッションを開始します。
  • 各ユーザーの〜/ .bashrcに「screen-r $(whoami)」を追加します
  • デスクトップまたはPuTTYで各ユーザーのPuTTYセッションを保存して、スーパーバーのジャンプリストまたはショートカットが必要な場所に追加し、それらを使用して各セッションを開始します。これにより、次のことが可能になります

編集:私はできればタイムアウトの問題を修正することに焦点を当てたいと思います。これはセキュリティ機能ですが、入力を送信している間は切断されません。

2
Steen Schütt

私が知っている古い投稿ですが、seconds between KeepalivesConnectionオプションタブの設定-これをゼロ以外の値に設定して、役立つかどうかを確認します http://詳細については、the.earth.li/〜sgtatham/PuTTY/0.63/htmldoc/Chapter4.html#config-keepalive を参照してください。

1
leighghunt

mosh を調べます。これは、一時的なネットワーク障害の後にターミナルセッションを再接続するように設計されています。モッシュには多くの警告があります(さまざまなセキュリティ上の考慮事項、スクロールバックが失われる可能性があります)が、PuTTYよりもはるかにスムーズに切断後の再接続を確実に解決します。

1
P.T.