개발 할 때 vim + ctags + cscope + screen 을 주로 사용하고 있다.
screen 은 가상터미널을 만들어 여러번 로그인 없이 하나의 로그인으로 여러개의 창을 쓸 수 있는 유틸리티이다.
설치가되어 있지 않다면 ubuntu 의 경우 아래 명령으로 설치할 수 있다.
# apt-get install screen
screen 의 장점은 여러개의 창을 하나의 접속창으로 넘나들 수 있다는 것 이외에도 접속창이 갑자기 꺼진 경우라도 screen 을 실행한 서버가 살아 있다면 작업하던 내용을 그대로 다시 복원할 수 있다는 것이다.
screen 의 기본적인 사용법은 아래 링크를 참조하면 된다.
http://kldp.org/node/18744
screen 의 기능을 잘 사용하면 동시에 여러 개발자가 동일한 화면을 볼 수 있도록 설정할 수 있다.
multiple display 라는 기능이라고도 하고 multi-user mode 라고도 한다.
Multiuser 를 위한 screen 명령으로는 아래와 같은 명령들이 있다. 자세한 내용은 아래 참조 사이트를 참조하면 된다.
8.4.1 Multiuser | Enable / Disable multiuser mode. | |
8.4.2 Acladd | Enable a specific user. | |
8.4.3 Aclchg | Change a users permissions. | |
8.4.4 Acldel | Disable a specific user. | |
8.4.5 Aclgrp | Grant a user permissions to other users. | |
8.4.6 Displays | List all active users at their displays. | |
8.4.7 aclumask | Predefine access to new windows. | |
8.4.8 Wall | Write a message to all users. | |
8.4.9 Writelock | Grant exclusive window access. |
간단하게 multi user mode 를 세팅하는 방법에 대해서 알아보자.
우선 A 라는 user 로 접속한 후에 c-a :multiuser on 이라는 명령을 수행한다. 이것은 multiuser mode 를 on 시킨다. 이렇게 multiuser mode 가 활성화되어야 위에 나열되어 있는 명령어(acladd/acldel 등등)가 제대로 동작한다.
C-a :multiuser on
만약 B 라는 user 로 A 가 실행한 screen 에 attach 하려고 한다면, A user 는 screen 에서 다음 명령을 수행한다.
C-a :acladd B
이렇게 되면 B 라는 사용자는 A 사용자의 screen multiuser mode 에 attach 될 수 있다.
attach 하는 방법을 알아보자.
우선 screen 을 실행한 상태에서 screen -ls 를 치면 아래와 같은 내용이 출력된다. <> 안의 값은 각자 서버상황에 따라 다르게 출력된다.
# screen -ls
There is a screen on:
<pid>.<tty>.<host> <screen 실행 날짜 시간> (Multi, attached)
1 Socket in /var/run/screen/S-<username>
A 사용자가 실행한 screen 에 대한 session 정보들이다. 이것을 확인 했으면 B 사용자로 로그인하여 다음과 같이 명령을 수행한다.
# screen -x <user_name>/<pid>.<tty>.<host>
이러면 A 사용자가 실행한 screen 에 attach 된 내용을 B 사용자도 동일하게 볼 수 있다. 이제 코드리뷰나 협업하여 개발하는 경우에 screen 의 multiuser mode 를 사용해 보자.
만일 "Must run suid root for multiuser support" 라는 에러가 발생한다면, 아래 트랙백을 참조해서 해결하면 된다.
각 사용자의 추가 등록은 acladd / acldel / aclgrp 사용하고, aclchg 로는 사용자의 권한(특정 screen 윈도에 대하여 read/write 권한을 따로 줄 수도 있다.) 지정하는데 쓰인다.
C-a :displays 는 현재 active 하게 screen 에 붙어 있는 사용자 리스트를 확인할 수 있다.
자세한 내용은 아래 사이트의 user's manual 을 참고하면 된다.
<screen user's manual>
http://www.delorie.com/gnu/docs/screen/screen_25.html
'IT 기술 > 개발환경_유틸 관련 팁' 카테고리의 다른 글
screen multi-user mode error: Must run suid root for multiuser support (0) | 2011.05.12 |
---|---|
awk 로 substr 뽑아내기 (0) | 2011.02.09 |
patch 명령 tip (0) | 2010.10.11 |
vim tip (0) | 2010.09.20 |
svn 유용한 팁 (0) | 2010.03.18 |