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

Linux の画面内で実行しているかどうかを確認するにはどうすればよいですか?

解決策 1:

(StackOverflow の「How can I know whether I'm in a screen?」から盗用され、ユーザー jho によって作成されました。追伸。StackExchange サイト間で重複するものに投票することはできません。)

$STYをチェック . null の場合は、「実際の」端末を使用しています。何かが含まれている場合、それは現在の画面の名前です。

画面にいない場合:

[email protected] ~ $ echo $STY
[email protected] ~ $ 

画面にいる場合:

[email protected] ~ $ echo $STY
2026.pts-0.ip-10-0-1-71

screen の代わりに tmux を使用する場合は、$TMUX もチェックしてください .これをプロンプトに追加するには、次を ~/.bashrc に追加します :

if [ -n "$STY" ]; then export PS1="(screen) $PS1"; fi
if [ -n "$TMUX" ]; then export PS1="(tmux) $PS1"; fi

解決策 2:

$STY を探します screen の詳細を提供します それ自体と通信するために使用します。 $WINDOW 現在の screen になります ウィンドウ番号。

解決策 3:

私が通常使用する簡単なチェックは、Ctrl を押すことです。 -a :

  • カーソルが行頭にジャンプした場合 、私は中にいません スクリーンセッション。

  • 何も起こらない場合 、私は私が中にいることを知っています スクリーンセッションで、スクリーンコントロールキーを使用したばかりです。次に a を押します (行頭にジャンプ), w (現在の画面ウィンドウを表示する) または、他の「害のない」画面コマンドを実行して、コマンド プロンプトに戻ります。

(もちろん、これは現在 bash や、「行の先頭にジャンプする」ソフトウェアを実行している場合、または Ctrl-a を押したときに同等に害のないことを実行している場合にのみ機能します。)

解決策 4:

まあ、ほとんど あなたの TERM screen に設定されます (または、少なくとも screen について言及してください

この問題の簡単な解決策は、画面をどこでも実行することです。それなしで家を出ないでください。

解決策 5:

これを .bashrc に入れておきます :

 PS1='[\[email protected]\h \W'
 if [ "$WINDOW" ]; then PS1="$PS1 ($WINDOW)"; fi
 PS1="$PS1]$"

これは絶対確実ではありませんが、新しい画面を作成するたびにプロンプ​​トにウィンドウ番号が表示されます.If I'm not running screen 、番号がありません。


Linux
  1. VimがTmux内で実行されていませんか?

  2. Linux で「screen」コマンドを使用する方法

  3. 実行中の画面セッションを一覧表示するには?

  1. Linuxでスクリーンプロセスを停止するには?

  2. Linux カーネルが 32 ビットまたは 64 ビットで実行されているかどうかを確認するにはどうすればよいですか?

  3. Linux で再起動をスケジュールするにはどうすればよいですか?

  1. Linux –実行中のLinuxディストリビューションを特定する方法は??

  2. Linuxで実行中のプロセスを強制終了する方法

  3. Linux - 助けてください、inode が不足しています!