[screen] screen의 세션(session)이 사라지거나, 윈도우(window)가 사라지는 경우

확인 방법
  • ls /tmp/screens/S-id
    • S-id에서 id는 본인 id로 변경한다. id가 abc 이면, S-abc 로 변경한다.
    • ls 결과 목록에 session 이름의 파일이 있다면, 이 현상과는 무관하다.
    • ls 결과 목록에 session 이름의 파일이 없다면, 이 현상을 의미한다.
  • echo $TMOUT 
    • 빈줄이 출력되면, 이 현상과는 무관하다.
    • 숫자값이 출력되면, 이 현상을 의미한다.
원인
  • screen process가 죽어서 그렇다. 
  • 보안 이슈로 오랫동안 사용하지 않는 process를 죽여서 그렇다.
  • 참조 링크:Q: If I leave screen too long detached it mysteriously disappears, although I feel that this is not a flaw in the program but rather my system being 'cleaned' of stray jobs.
해결책
  • 본 문제는 TMOUT 설정과 관련있다.
    • TMOUT은 timeout을 의미한다. 
    • TMOUT은 idle 타임이 일정 시간 이상 되면, 해당 로그인의 프로세스를 죽이도록 하는데 사용된다. 
    • TMOUT은 idle 타임을 설정하게 된다. 
    • TMOUT은 본인이 아닌 다른 사람이 log-in 했을 때를 대비하기 위함이다. 
    • 그러나 screen 명령과는 궁합이 맞지 않는다.
  • screen session을 죽이지 않기 위해서는, TMOUT 설정을 해지하면 된다.
  • 해지하는 것이 불안하다면 TMOUT 값을 크게 잡으면 된다.
  • TMOUT 값은 /etc/profile, ~/.bash_profile, ~/.profile 등의 파일에서 변경/해지할 수 있다.
  • 파일 변경 후에, 다시 로그인 한다.
  • TMOUT을 screen 외에 다른 곳에서 사용한다면, TMOUT 해지/변경이 문제가 될 수 있다. 
    • 위에 언급한 보안 이슈 외에 어떤 곳에서 사용하지?

댓글

이 블로그의 인기 게시물

utf-8과 utf8