레이블이 Cygwin인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Cygwin인 게시물을 표시합니다. 모든 게시물 표시

2013년 3월 21일 목요일

Cygwin Bash 한글 설정



Cygwin은 1byte 문자권을 대상으로 출시되기 때문에 한글 출력은
기본적으로 지원하지 않는다.
한글 입/출력 문제는 bash 설정 파일을 변경해서 적용할 수 있는데,
시스템 규모 단위로 설정할 것인지 아니면 사용자별 설정을 할 것인지
결정해야 한다.
일반적으로는 계정에 상관없이 시스템 설정을 수정하므로 시스템 설정을
변경하도록 한다.

이 장에서는 다음 과정을 통해 Cygwin bash 콘솔 상에서 한글을 쓰고,
읽을 수 있도록 설정할 수 있다.

1. /etc/profile 수정

/etc 디렉토리를 보면 profile  파일이 존재하는데 이 파일을 열고
다음 내용을 추가한다.

# Created by madox, 2013-01-07 오후 7:49:19 (Start)
# Bash 한글 적용 script 추가
if [ -f /etc/bash.bashrc ] ; then
   source /etc/bash.bashrc
fi
if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then
   INPUTRC=/etc/inputrc
fi
# Created by gpande, 2013-01-07 오후 7:49:30 (End)

2. /etc/inputrc 작성 및 수정

기본값으로 inputrc 파일이 존재하지 않는데 /etc 디렉토리에 새로 만들고,
다음 내용을 추가한다.

# 터미널 자체의 8비트 문자 지원여부와 상관없이 8비트 입력을 가능하게 함.
set meta-flag on
# 8비트 문자를 변환하지 않도록 함.
set convert-meta off
# 8비트 문자를 출력할 때 그대로 출력하도록 함.
set output-meta on
# 자동 완성 기능을 사용할때 대소문자를 구별하지 않음.
set completion-ignore-case on
# 콘솔에서 나는 비프음(beep)이 나지 않게 함.
set bell-style visible
set horizontal-scroll-mode on #
set show-all-if-ambiguous on #

3. /etc/bash.bashrc 수정

Cygwin에서는 여느 Linux 배포판과 달리 bashrc가 아니고
bash.bashrc인데 이 파일을 열어 다음 내용을 추가한다.

# Created by gpande, 2013-01-07 오후 7:54:29 (Start)
# 아래 설명 참조
alias ls='ls -F --color=auto --show-control-char'
# 숨김 파일을 표시함.
alias l.='ls -dl .[a-zA-Z]*'
# 숨김 파일을 비롯해서 모든 파일 및 디렉토리를 자세하게 표시함.
alias ll='ls -al'
# 만약 복사대상 파일 이미 있는 경우 사용자에게 이를 알림.
alias cp='cp -i'
# 대상 파일이 이미 있어, 사용자에게 어떻게 처리할지를 물어봄.
alias mv='mv -i'
# 각 파일을 하나씩 지울 것인지 사용자에게 일일이 물어봄.
alias rm='rm -i'
# Created by gpande, 2013-01-07 오후 7:54:37 (End)

첫줄 alias ls='ls -F --color=auto --show-control-char'에 대해
간단히 설명하자면...
-F는 파일 형식을 알리는 문자를 각 파일 뒤에 추가하는 것으로,
실행파일은 "*", 경로(디렉토리)는 "/", 심볼릭 링크는 "@", FIFO는 "|",
소켓은 "=", 을 표시해 준다.
--color=auto는 파일의 형태에 따라 그 파일의 색깔을 다르게 보여주는 기능이고,
--show-control-char는 한글을 제대로 출력해 주는 기능이다.

실제 'ls -F --color=auto --show-control-char' 라고 입력해야 할 것을
그냥 'ls'라고만 입력해도 시스템 내부적으로는 동일한 결과가 발생하기 때문에
매우 자주 사용된다.
현재 시스템에 적용된 alias 정보를 확인하기 위해서는 콘솔창에서
'alias'라고만 입력하면 된다.

4. 퍼미션 수정

파일 편집을 모두 마쳤다면 마지막으로 다른 사용자들도 파일을 읽을 수 있도록
/etc 디렉토리로 이동하여 다음 명령어를 입력하여 퍼미션을 수정해 준다.

chmod 644 profile bash.bashrc inputrc

이제 모두 끝났다. 모든 사용자들이 완벽하지는 않지만 별 무리없이
한글을 사용할 수 있을 것이다. 또한 기본 alias 설정도 이용할 수 있다.


2013년 3월 20일 수요일

Cygwin 설치 방법



Cygwin은 windows OS상에서 LINUX OS를 에뮬레이트 해주는 프로그램으로서
일반적으로 Cross compile에 사용된다.
물론 VMWare와 같은 가상머신이 아니고 어플리케이션으로 동작하므로
완벽하게 LINUX system을 지원하는 것은 아니지만 대부분의 기능들을 지원하므로
Cross compile에 cygwin을 사용하는 것이 가장 효율적인 방법이다.

다음 경로를 통해 Cygwin setup 파일을 다운로드 받을 수 있다.

http://cygwin.com


위 그림에서는 cygwin을 설치할 경로를 지정하도록 되어 있는데,
일반적인 영문 형식의 어플리케이션들은 파일 경로에 한글이나 공백이 있는 경우
실행되지 않거나 에러가 발생하는 경우가 많으므로 이 문서에서는
기본 경로인 “C:\cygwin”을 사용하도록 한다.


위 그림에서는 다운로드 site를 선택하도록 되어 있는데,
기본적으로 한국 사이트는 없기 때문에 가까운 일본 사이트에서 다운받도록 한다.

기본 download site에 한국 사이트는 없지만 kaist ftp 서버가 지원한다고
해서 알아본 결과 그냥 ftp://ftp.kaist.ac.kr/를 추가하면
“setup.ini”파일이 없어서 접속이 되지 않지만
ftp://ftp.kaist.ac.kr/cygwin/을 Add하면
ftp://ftp.kaist.ac.kr/라는 주소만 추가되는데,
해당 site를 선택하고 진행하면 1M 이상의 빠른 속도로 연결된다고 하므로
앞으로 해당 주소로 연결하여 다운로드 하도록 하자.


위 경고창은 Cygwin 1.7.X를 처음 다운로드 받을 때 출력되는데,
처음 다운로드 받는다면 무시해도 상관없다.




위 그림과 같이 설치할 package를 선택할 수 있는 창이 출력되는데,
All Default로 되어 있는 설정을 한번 클릭하여 All Install로
변경해야 한다. 만약 All Default로 설정하고 설치하는 경우
개발에 필요한 도구가 설치되지 않을 수 있으므로 사용에 주의.




위와 같은 과정을 거쳐 cygwin을 설치했다면 바탕화면에 출력되는
“Cygwin Terminal”을 실행하여 다음 명령어들을 입력하여 정상적으로
설치되어 있는지 확인한다.

“gcc -v”


다음 명령어를 입력하여 g++ 컴파일러가 정상적으로 설치되어 있는지 확인한다.

“g++ -v”
 


다음 명령어를 입력하여 vi 에디터가 정상적으로 설치되어 있는지 확인한다.

“vi --version”