xshellでscreenコマンドを使用してバックグラウンドプロセスを実行する

xshellでscreenコマンドを使用してバックグラウンドプロセスを実行する

screenコマンドはバックグラウンドでプロセスを実行するのに最適なプログラムですが、Ctrl + a wxshell(Xmanagerコンポーネント)では画面ウィンドウのリストが表示されず、Ctrl + a k画面端末が終了しないことがわかりました。しかし、Ctrl + a d分離されたセッションは動作します!では、Ctrl +a wセッションの一覧表示にはどのような問題がありますか?

もっと真剣に言えば、現在の画面ウィンドウにあるのか、通常のbashウィンドウにあるのか、どうすればわかりますか?何度もスクリーンセッションを分離しようとした後にログアウトしました。ctrl+a D。とても困惑していませんか?もしそうなら、私が現在の画面ウィンドウにあるのか、それとも通常のtty端末にいるのかを示すヒントがありますか?

答え1

^A dと入力してログアウトした場合は、コントロールキーを押しながらdを押しました。 ^A ^D は ^A d と同様に「分離」しなければなりません。 ^A k と ^A w の場合、k または w を押す前にコントロールキーから手を離します。

答え2

たぶん、この組み合わせは^A w優先順位の高い項目で使用できます。^A dは使用されない可能性があるため、に渡されますscreen。を使って他のコマンド文字を設定してみることができます-e

^A d通常のシェルからログアウトしないでください。

私がアドバイスするのは、疑わしい場合は常に^A w最初に押すことです^A d。完全に安全にするには、printなどのシェルのキーバインディングを使用してそれに反応できますthis is not within screen

答え3

私もこれにだまされたことに気づいた。それ以来、私は常に次の2行を次に追加しますscreenrc

hardstatus alwayslastline
hardstatus string "%{= kG}[ %{G}%H %{g}][ %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B}%Y-%m-%d %{W}%c %{g}]"

画面上のTTYの視覚的な外観を変更します。後で無視できません。

関連情報