.screenrcファイルの設定問題:[画面が終了します。]

.screenrcファイルの設定問題:[画面が終了します。]

私は開発とサーバー管理のために画面を広く使用しています。まれにサーバーが再起動した場合は、screenセッションを手動で再作成する必要があり、.screenrcscreenセッションを自動的に開始する方法もわかっていますが、それを機能させることはできませんでした。非常に単純なコマンドでテストしようとしましたが、うまくいきましたが、単一の画面セッションで2つの同じウィンドウを作成しました。実際に必要なより複雑なコマンドにより、画面が終了します。

私はUbuntu 20.04.2サーバーを使用しています。Screen version 4.08.00 (GNU) 05-Feb-20

私の.screenrcファイルはシンプルで修正されたバージョンです。この回答

# don't display the copyright page
startup_message off

# increase scrollback buffer size
defscrollback 10000

# create windows
screen -t test1 ls $HOME/

ただし、端末に入力するsource .screenrcだけで、次のような出力が表示されます。これは、私の画面バージョンが私が要求している操作を知らないことを示します。screen

~$ source .screenrc
startup_message: command not found
defscrollback: command not found
[screen is terminating]

screenを使用するときは、毎回次の操作を実行するように手動で設定しました。

  • Journalctlで特定のサービスを追跡する
  • 仮想環境でPythonのIDLEを開く
  • 特定のディレクトリのテールログファイル
  • docker execコンテナでシェルを開くコマンドの実行

.screenrc特定のサービスファイルを追跡するために次の.screenrcエントリを使用するように変更したとき...

screen -t journalctl journalctl -u my-service-name.service -b -n 100 -f

Screenは実行されますが、screenセッション内に2つのウィンドウが作成され、両方とも上記のJournalctlコマンドを実行します。

上記のタスクを設定したときに発生した他の問題は次のとおりです。

  • 画面内でPython仮想環境を有効にしようとすると、エラーメッセージが表示されます。

    screenrcのコマンドは次のとおりです。screen -t python3 . $HOME/my-project-dir/venv/bin/activate

    画面のエラーは次のとおりです。 Cannot exec '.': Permission denied

  • このコマンドを画面で実行しようとすると、docker exec出力なしで画面が終了します。

ベストアンサー1

おすすめ記事