2009. 6. 26. 03:01
screen은 참 좋은 어플이긴 한데, 매번 켜주고 붙이고 하는 것이 상당히 귀찮은 것이 사실이다. 그리고 여러 부가기능들을 보면 항상 켜놓는 것도 그다지 나쁘지 않은 선택인거 같아서, 몇 가지 해법을 찾아보았다.

  1. screen-profile 쓰기
    사실 가장 무난한 방법인 것 같다. ubuntu에서 제공해주는 것인데, gentoo에서는 dpkg를 이용해서 포티지와 합쳐진 통합 관리로 설치 및 유지 보수가 가능하다.
    하지만 중요한 것은... 이거 쓰는 법을 내가 잘 몰라서 이 방법은 포기했다 -_-.. 그래도 꽤 유명한 방법인 것 같으므로 조금만 찾아보면 적절한 해답을 얻을 수 있을거라고 믿는다.
  2. 직접 쉘스크립트를 짜서 자동으로 붙게 만들기
    이 것이 내가 소개하고자 하는 방법이다.
    먼저, screen의 옵션에 대해 조금 알 필요가 있다.
    • -x : 현재 실행중인 screen에 attach하되, 이미 attach된 screen이라고 해도 동시에 보기 모드로 붙는다.
    • -R : attach가 가능하면 attach를 하고, attach가 불가능하면 새롭게 screen 세션을 만든다.
    이 두 옵션을 동시에 쓰면, screen이 수행되지 않은 상태면 새롭게 screen이 수행되고, 이미 수행중인 screen이 있다면 자동으로 attach된다.
    그리고, screen이 수행중일 때는 기본값으로 TERM 환경변수가 screen이 된다는 점을 이용하면 screen 내에서 쉘이 실행될 때 screen이 또 실행되는 것을 막을 수 있다.
먼저 홈 디렉토리에 있는 .bashrc 파일을 살펴본다. 그리고 맨 마지막에 다음과 같은 내용을 집어넣는다.
if [[ $TERM != "screen" ]]; then
  screen -x -R -q
  exit
fi

위의 명령은 꽤 단순하다. TERM 환경변수가 screen이 아니라면, 즉 screen 내부가 아니라면 screen을 attach시켜서 현재 실행중인 screen에 붙인다. 그리고 이 붙은 screen이 종료되면 자동으로 쉘도 꺼지도록 했다.

이렇게 하면, 언제나 어디서나 접속해도 하나의 터미널을 공유할 수 있고 작업 내용을 볼 수도 있다. 편리하다.

'유용한 어플 > screen' 카테고리의 다른 글

자동으로 screen 켜기  (0) 2009.06.26
screen 소개  (0) 2009.06.17