.screenrc 파일 설정 문제: [화면이 종료됩니다.]

.screenrc 파일 설정 문제: [화면이 종료됩니다.]

저는 개발과 서버 관리를 위해 화면을 광범위하게 사용합니다. 드물게 서버가 다시 시작되는 경우에는 screen 세션을 수동으로 다시 작성해야 하고, .screenrcscreen 세션을 자동으로 시작하는 방법도 알고 있지만 작동하게 할 수는 없었습니다. 매우 간단한 명령으로 테스트를 시도했지만 작동했지만 단일 화면 세션에서 두 개의 동일한 창을 만들었습니다. 실제로 필요한 더 복잡한 명령으로 인해 화면이 종료됩니다.

저는 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 세션 내에 두 개의 창이 생성되며, 둘 다 위의 Journalctl 명령을 실행합니다.

위 작업을 설정하면서 발생한 다른 문제는 다음과 같습니다.

  • 화면 내에서 Python 가상 환경을 활성화하려고 할 때 오류 메시지가 나타납니다.

    screenrc의 명령은 다음과 같습니다.screen -t python3 . $HOME/my-project-dir/venv/bin/activate

    화면의 오류는 다음과 같습니다. Cannot exec '.': Permission denied

  • 이 명령을 화면에서 실행하려고 하면 docker exec출력 없이 화면이 종료됩니다.

관련 정보