一時的にシェルコントロール

一時的にシェルコントロール

マイオフィスコンピュータ(Scientific Linux 6.3を実行)には、別々のターミナルエミュレータ()でいくつかのプロセスを実行するためのいくつかのウィンドウがあります/dev/pts/。私は定期的にiPadでiSSHを使用してオフィスコンピュータに接続しますが、ファイルを作成したプログラムの結果のみを表示でき、各端末が表示したり端末を制御したりする内容は表示されません。

一時的にターミナルコントロールを私のiPad iSSHターミナルに切り替え、結果を見て、新しいコマンドを実行し(私のiPadのオフィスターミナルで)、私のオフィスコンピューターでプログラムを実行し、私のiSSHターミナルに戻ることを望みます。他の端末を確認したり、簡単に終了したりできます。私はiPadに接続するためにほとんどの時間を3Gを使用しているので、非常に遅いグラフィック依存の方法を使用したくありません。

私が知ることができる限り、このようなものはreptyrプロセス制御をある端末から別の端末に永久的に移転しているように見えます。完了したら元の端末に戻したいです。

どんなアドバイスや助けにも本当に感謝します。事前にありがとう

答え1

セッションで元のコマンドを実行するだけでよいと思いますscreen

その後、接続を切断し(画面は引き続き実行され、「仮想端末」は正しく表示されたまま)、他のセッション(iPad、別のコンピュータ、または同じコンピュータから再接続)から再接続できます。トピック)。

screenたとえば、実行画面セッションを使用している間、または実行画面セッションで席を空けている間に同僚が「没入」できるようにすることで、複数の人が同じ「端末を垣間見ることができる」ことができます。 」

簡単に言うと:

ホストAの基本端末からユーザーORIGINALUSERへ:

screen
command (ex: vi /tmp/file)
CTRL+a d # which is 'CTRL' and 'a' at the same time, and then 'd'. This will 'd'etach from the screen session, while screen itself still runs! (and inside it the commands, shell and any still running invoked command, still run)

他の端末(または同じ端末)から:

#log in the original machine (host A) as the same user ORIGINALUSER, and then:
screen -r   #will reattach to the latest running screen from that user. 

複数の画面を再接続する必要がある場合は、画面のマニュアルページを参照するか、オンラインにアクセスしてください。これは再接続できない場合にも便利です。再接続するように「強制」する方法があります。

実際に完了したら、画面内で実行されているシェルを終了するだけです。これで画面コマンドも終了します。

画面にあるとき:Ctrl + Aは特別です。これにより、画面にコマンドを送信できます。努力する:ctrl+A ?

関連情報