Windows에서 POSIX환경 사용하기
Friday, October 31st, 2008간단하게 말해선 본쉘(bash)을 윈도에서 사용하고 싶다는 것. 왜 POSIX의 쉘을 사용하고 싶은가? 윈도의 네트워크 커맨드들은 많이 낡았다. (ftp 의 경우 passive도 지원 안 한다.) 물론 윈도용으로 별도 만들어 놓은 어플리케이션들을 사용하면 되지만 UNIX/Linux의 쉘환경처럼 통합된 느낌을 받으며 작업할 수가 없다. (개인적으로 wget 좋아해요!) 그럴바에야 차라리 Unix/Linux의 툴들을 다 묶어서 쉘을 띄워 작업하는게 편하겠다 까지 생각이 발전해 설치하기로.
처음엔 mingw의 MSYS를 후보에 올려둠. 개인적으로 독립적으로 돌아가는 mingw가 좋아했기 때문에 MSYS쪽에 큰 기대를 했으나 많은 제약에 GNU의 유틸들의 소스를 받아서 직접 빌드하려고 하니 고려가 안된 경우가 제법 많음.
결론은 cygwin으로 결정. 우선 cygwin을 받아서 적당히 설치한다. 이때 반드시 필요한 패키지라면 rxvt/vim/inet util/core util/gcc/svn/cvs/git/OpenSSL/OpenSSH 등이다.
설치가 끝나면 Cygwin.bat 로 시그윈 쉘을 띄울 수 있으나 이 기본 터미널 안 좋아합니다. 먼가 리눅스틱한 터미널을 띄우기 위해서 새로운 배치파일을 작성합니다. srxvt.bat 이라고 대충 정하고 노트패드로 아래와 같이 입력하고 저장합니다.
@c:\cygwin\bin\rxvt.exe -fg black - bg white -tn xterm -rv -sr -sw -sl 2500 -geometry 80x50 -sbt 15 -fn "MS Gothic" -e /bin/bash --login -i
저의 경우엔 일본어 환경이므로 -fn의 폰트 설정이 일본어 폰트입니다. rxvt가 바보 같아서 영문이거나 현재 로케일이 맞지 않으면 2바이트 언어는 제대로 표현을 못하기 때문에 각 로케일 환경에 맞는 폰트를 지정합니다. 한글인 경우라면 DotumChe정도겠네요.
자 이제 srxvt.bat을 실행합니다. 그러면 터미널이 뜨고 유저 홈디렉토리로 이동되어 있습니다. (대부분의 경우 윈도의 도큐먼트 루트입니다. XP의 경우 C:\Documents and Settings\[user id] 입니다.)
.inputrc 파일을 생성하고 아래와 같이 입력합니다. 2바이트 언어를 키보드로 입력하기 위함입니다.
set meta-flag On set convert-meta Off set output-meta On set input-meta On
.bashrc 를 생성하고 다음과 같이 입력하고 저장을 합니다.
alias ls='ls -F --color=auto --show-control-char'
ls 결과를 컬러로 보여주고 2바이트 문자를 깨짐 없이 보여주기 위함입니다.
자 이제 다시 srxvt.bat을 실행시키면 이쁘게 터미널이 뜹니다. 이제 터미널 접속을 위해서는 ssh로, FTP든 http든 파일을 받아오기 위해서는 wget으로. DNS정보를 보기 위해서는 whois. 이제 귀찮음에서 해방!



