어쨌든 회사에서의 개발환경은 cygwin + gcc + gmake이다.  따라서 cygwin을 설치한다.

http://www.cygwin.com/setup.exe 를 다운받아놓도록 한다. 
향후 패키지를 추가/제거할 때도 사용하여야 하니까 그냥 다운 받아놓는 것이 낫다.  용량도 400KB 정도...

이걸 실행시키면 어디를 통해서 install 할 것인지를 물어본다. 
여기에서 Install from Internet을 사용한다.

Root Directory는 기본 설정인 C:\cygwin을 그냥 사용하는 것이 제일 무방할 듯 싶다. 
검색해본 결과 많은 사람들이 여기에 기반을 두고 작업을 하였기 때문에 헷갈리지 않을터이다. 
밑의 설정은 All Users와 Unix/binary에 체크한다. (기본 설정)

여기서 다음을 누르면 어디에 다운을 받을 것인지, 어떤 방법으로 받을 것인지 물어보는데 기본값을 쓰면 되고,
download site는 http://ftp.daum.net을 추가해서 쓰면 괜찮을 듯 하다.

기본값은 진짜 기본만 설치하게 되므로 나중에 되는게 하나도 없다
All 옆에 Install을 몇 번 클릭하여 Uninstall로 바꾸고, 원하는 패키지의 Unintall을 Install로 바궈서. 필요한 패키지만 설치하자.

직감적으로 gcc나 make, gdb, vim 등등은 당연히 해야할 것이라는 느낌이 온다.  
다음은 필요하다고 생각되는 package들을 정리한 것이다.
Admin - cygrunsrv (sshd 등을 bg로 돌릴 유틸)
Devel - gcc, make, ctags 관련
Editors - vim 관련
Net - openssh 관련 (ssh를 사용할 것이라면)
Shell - rxvt 관련 (xterm을 사용할 것이라면)

위에서 열거한 package 말고도 필요한 패키지들을 선택하도록 하고,
나중에 또 추가가 되므로 크게 신경 쓸 일은 아닌듯 하다.

어쨌거나 설치가 끝나면 환경변수를 설정하도록 한다. 
내 컴퓨터 우클릭하여 '속성'->'고급'->'환경변수'를 선택하여 사용자 변수와 시스템 변수를 추가하도록 한다.

사용자 변수
HOME=d:\home (linux에서의 ~ 를 말함)
LOGNAME= (windows 계정과 동일하게)

시스템 변수
CYGWIN (ntsec binmode)을 새로 만들고
PATHC:\Cygwin\bin을 추가한다 (당연히 항목과 항목 사이는 ;으로 구분한다).






만약 cygwin 자체의 terminal을 쓴다면 상관은 없지만, cygwin의 xterm을 사용하고 싶다면, 추가의 작업이 필요하다.

c:\cygwin을 보면 cygwin.bat가 있다.  autoexec.bat 이후로 bat 파일은 진짜 오랜만이다.  어쨌거나 이거 내용을 보면 다음과 같다.

@echo off

C:
chdir C:\cygwin\bin

bash --login -i

이거를 응용해서 rxvt,bat를 하나 만든다 (xterm용)

@echo off

C:
chdir C:\cygwin\bin

rxvt.exe -tn xterm -rv -sr -sw -bg gray -fg black -sl 1000 -sbt 15 -fn "Dotumche" -e /bin/bash --login -i

rxvt의 각 항목의 값들이 궁금하다면 cygwin에서 rxvt --help를 해보면 알 수 있다.  대충 xterm으로 띄우는데 scrolling이 가능하도록 하고 검은 배경에 회색글씨를 쓰겠다... 폰트는 Dotumche를 쓰겠고.. 뭐 이런 거다.

이게 끝난 다음에 만든 rxvt.bat를 실행시키면 익숙한 shell prompt를 확인할 수 있다.

cygwin에서 개발하려면 다른 editor도 있겠지만, 아무래도 vim을 가장 많이 사용하지 않을까 싶다.  cygwin에서 vim을 사용하려면 이거저거 걸리는게 많다.  일단 기본적으로 설정 파일이 없기 때문에 원 리눅스에서의 컬러풀(?)한 터미널을 기대하면 안된다.  또 한글입력에 문제가 많아서 요거 2가지 처리를 해줘야 한다.

먼저 vim을 설정해야 되는데, 항목이 워낙 많으니 그냥 /usr/share/vim/vim71/vimrc_example.vim을 home 디렉토리에 .vimrc로 복사하고, 좀 손을 봐준다.  쭉 내리다보면 다음과 같은 부분이 있다.

if has("vms")
  set nobackup
else
  set backup
endif

요 부분을 주석처리한다.  vimrc에서의 주석은 " (double quotation mark)를 맨 앞에 붙여주면 된다.  이거 안하면 저장하고 나올때마다 backup 파일이 생기는 짜증나는 (필요하긴 하지만) 현상을 목격하게 된다.  어쨌거나 이거 됐으면 다음 작업을 진행한다.  역시 .vimrc에 다음과 같은 항목을 추가하여 준다.

set fileencoding=euc-kr
set encoding=cp949

vi에서 한글을 사용하기 위한 설정이다.  이렇게 다 됐으면 저장하고 다시 vi로 아무 c파일이나 짜본다.

#include <stdio.h>

int main (void)
{
  printf ("헬로, 시그윈 월드\n");

  return 0;
}

잘 된다.  하지만 이렇게 하면 vim에서만 한글이 잘 보일뿐, 막상 쉘에서 ls해보면 잘 안나온다.  요것도 수정해야 하는데, 홈 디렉토리에 .bash_profile을 다음과 같은 내용을 추가한다.

alias ls='ls -F --color=auto --show-control-char'

쉘에서 ls를 해도 한글이 무리 없이 잘 나오게 된다.  후아... 이정도 했으면 큰 문제 없이 cygwin을 사용할 수 있을 것 같다.  헌데, 작업하다보면 새로운 terminal을 띄워야 할 때가 있는데 이때마다 마우스로 손이 가는건 상당히 부하가 큰 작업(-_-?)이다.  요거를... 키보드에서만 해결하도록 다음과 같은 alias도 하나 추가한다.

alias rxvtTerm='/cygdrive/c/cygwin/bin/rxvt -tn xterm -rv -sr -sw -bg gray -fg black -sl 1000 -sbt 15 -fn "Dotumche" -e /bin/bash --login -i &'

이러면 그냥 쉘 프롬프트에서 rxvtTerm을 실행시켜서 새로운 xterm 하나를 더 얻을 수 있게 된다.


Posted by BAGE