Cygwin 은 윈도우에서 X-windows를 사용하는 방법에 대해 설명 드립니다.

 

Cygwin설치시 다음 그림과 같이 X11 Category install 로 바꾸고 설치해 줍니다.


 

또는 CMD에서 명령어를 이용해서 설치하기 위해서는 아래 주소 참조하여~

 

http://cygwin.com/faq/faq.html#faq.setup.cli

 

다음과 같은 명령어로도 X11 Category 를 설치 할 수도 있습니다. 아래 명령어 이후 나오는 Cygwin설치 창에서 다음~ 다음~ 만 눌러줘도 됩니다.

 

setup-x86_64.exe –q –C X11

 

 

설치를 했으면 Cygwin 터미널에서 다음과 같이 xinit 라는 명령어를 쳐줍니다.

 

그럼 이렇게 X-windows 가 나타납니다.

 

다음으로 간단하게 octave 에서 그래프를 한번 그려볼까요~

 

그래프를 그리면 아래 그림과 같이 Gnuplot 를 사용해서 아래 포스팅에서 소개했던 것보다 예쁜 그래프를 그려 보실 수 있습니다. 


2013/09/04 - [programming language/Octave] - Cygwin Octave plot() 안 될 때~

 

 

X-windows를 끄는 방법은 아래 그림과 같이 메뉴를 드래그해서 quit 를 선택하면 됩니다.


 

다음으로 Cygwin 터미널에 startx 라고 타이핑 하면~ 아래 그림과 같이 또 다른 형태의 X-windows를 사용할 수 있습니다.


 

마찬가지로 octave 그래프 하나 그려볼까요~ 아래 그림처럼 X-windows상에서 그래프가 그려지고 드래그 해서 이동도 가능하더군요.





Windows에서 리눅스 명령어들을 사용할 때 많은 분들이 Cygwin 을 사용하실 겁니다.

 

Cygwin 을 사용하면서 처음에 가장 당황 스러운게 파일 또는 디렉터리의 경로가 어떻게 되는지 모르겠다는 겁니다.

 

첫번째로 기본 경로들에 대해 확인하기 위해서는 다음 그림과 같이 Cygwin 터미널에서 mount 라는 명령어를 사용해서 현재 Cygwin 과 Windows 폴더 사이의 매칭된 경로를 확인해야 합니다.

 

제 Windows 는 C,D,E,F 이렇게 네 개로 파티션이 구성되어 있는데~

 

각각이 /cygdrive/c, /cygdrive/d, /cygdrive/e, /cygdrive/f 마운트 되어 있는 것을 확인 있습니다.

 

또한 보통 C:/cygwin64/bin 이 Cygwin 에서 /usr/bin mount 되어 있는 것을 확인 있습니다.

 

Cygwin / (루트) 디렉터리는 Cygwin 설치되어 있는 폴더입니다. 경우는 C:/cygwin64 입니다.

 

이렇게 mount 관계를 확인 하는 방법도 있지만 Cygwin 에는 Cygwin과 Windows 간의 path 관계를 알려주는 cygpath 라는 툴이 존재합니다.

 

Cygwin 터미널에서 cygpath 라고 타이핑 하고 엔터를 치면 다음과 같이 cygpath 사용을 위한 옵션들이 나타납니다.


 

제가 자주 사용하는 몇 가지 옵션들에 대해서만 설명드리면~

 

-w 는 Windows path 를 –u 는 unix path 를 –a를 절대 경로를 의미합니다.

 

간단하게 몇 가지 변환 예를 들어보죠~

 

제 Windows 폴더 중에 C:\Users\Administrator\Downloads\cygwin 폴더가 Cygwin 에서는 어떻게 되는지 확인해 보죠~

 

다음과 같이 명령하면~ /cygdrive/c/Users/Administrator/Downloads/cygwin 폴더라는 것을 확인 할 수 있습니다.


cygpath.exe -u 'C:\Users\Administrator\Downloads\cygwin'

 

 

반대로 Cygwin 의 경로를 Windows 경로로 바꿔보죠~

 

제 홈 디렉터리에 있는 distribute_setup.py 라는 폴더의 Windows 경로를 확인해 보죠~ 절대 경로를 확인하기 위해~ a 옵션을 추가 했습니다.


cygpath.exe -wa ./distribute_setup.py

 



우분투를 비롯한 리눅스를 사용하신 분 들은 apt-get 또는 yum 과 같은 명령어를 통해 package 를 관리하는게 익숙 하실텐데요~~

 

Cygwin 을 사용하면서 이런 package 관리자가 없을까 찾아보니 아래 주소에서 소개하더군요.

 

http://www.fir3net.com/Cygwin/cygwin-package-installation.html

 

https://code.google.com/p/apt-cyg/



뭐 영어로 된 정보다 보니 한국어로 번역한다고 생각하고 다시 한번 정리해 보죠.

 

일단 APT-CYG 설치를 위해 Cygwin 에 subversion , wget 이 설치되어 있어야 합니다.

 

아래 주소에서 소개한 것 처럼 GUI 환경에서 설치를 해도 되지만~ 위 주소에 소개돼 있는데로~



2012/10/07 - [유틸] - Cygwin에서 간단히 C 코딩해보기~



2013/09/04 - [programming language/Octave] - Cygwin Octave plot() 안 될 때~

 

setup-x86.exe 또는 setup-x86_64.exe 파일을 이용해서 설치해 보겠습니다. 저는 64 비트 cygwin 을 설치하기 위해 setup-x86_64.exe 을 이용했습니다.

 

command 창에서 setup-x86_64.exe 파일이 있는 폴더로 이동합니다.

 

그리고 다음과 같이 명령어를 쳐 줍니다.

 

setup-x86_64.exe -q -P wget,tar,qawk,bzip2,subversion,vim

 

 

다음으로 Cygwin 을 실행하고~ Cygwin shell 에서 아래 명령어를 순서대로 쳐 줍니다.

 

$ svn --force export http://apt-cyg.googlecode.com/svn/trunk/ /bin/

$ chmod +x /bin/apt-cyg

 

apt-cyg 사이트에 나와 있는 데로~ 아래 명령어를 치면~ nano editor 가 설치되어야 하고 ~

$ apt-cyg install nano

 

다음과 같이 하면 update 가 되는게 정상인데~ (2014/04/01 현재 다시 한번 해보니 수정되었더군요. 아래 내용은 이제 필요가 없을듯 합니다.)

$ apt-cyg update

 

다음과 같이 setup.ini 파일이 없다고 에러가 발생합니다.

 

이에 대해 찾아보니 아래 주소에 그 해법이 있었습니다.

https://code.google.com/p/apt-cyg/issues/detail?id=23

 

cygwin 에서 아래 명령어를 통해 apt-cyg 파일을 엽니다.

 

$ vim /bin/apt-cyg

 

vim 사용이 어려우신 분은 그냥 윈도우에서 아래 주소의 파일을 메모장 등으로 엽니다.

 

C:\cygwin64\bin\apt-cyg

 

apt-cyg 파일의 98 번째 줄과 105 번째 줄을 각각 다음과 같이 바꿔줍니다.

 

Line #98 - wget -N $mirror/x86_64/setup.bz2

Line #105 - wget -N $mirror/x86_64/setup.ini

 

저 처럼 setup-x86_64.exe 로 설치하지 않고 setup-x86.exe 파일을 이용하여 설치하신 분들은 다음과 같이 바꿔줍니다.

 

Line #98 - wget -N $mirror/x86/setup.bz2

Line #105 - wget -N $mirror/x86/setup.ini 


변경 후에 저장을 하고~ Cygwin 에서 다시 update를 다시 해보죠~

 

다음과 같이 정상적으로 동작하는 것을 확인 할 수 있습니다.

 

마지막으로~ cygwin 에서 설치가능한 package들은 아래 주소에서 확인해 보시기 바랍니다.

http://cygwin.com/packages/



Cygwin 을 깔면~ 윈도우에서 리눅스 관련 명령어들을 이용할 수 있습니다.

 

아예 Virtual box 등을 통해 윈도우 내에 리눅스를 깔아서 사용하는 방법도 있지만 간단한 작업을 할 때는 Cygwin 정도가 제격이라는 생각이 들더군요~

 

공식 홈페이지는 아래와 같구~

http://www.cygwin.com/

 

아래 페이지에서 setup.exe 를 클릭하면 설치 파일이 다운로드 됩니다.

http://cygwin.com/install.html

 

설치 파일을 실행해서~ 다음 다음~ 누르다 보면 설치가 진행되는데~

 

설치 과정중에 아래와 같이 packages를 설정하는 부분에서 아래와 같이 gcc 로 찾기하면 아래와 같이 나옵니다.

 

devel 폴더가 개발과 관련한 설치 파일들이 있는 폴더 입니다.

 

여기서 설치하고자 하는 package 들을 선택합니다. Skip 이라고 된 부분을 클릭하면 버전이 바뀝니다. 전 첨에 이 간단한 걸 몰라서 어디 클릭해야 하는 건가 한참 찾음 ㅡㅡ;

 

아래와 같이 gcc 관련 package 들을 선택해주고

 

아래 그림처럼~ editor 로 사용할 vi 관련 package 들을 선택해 줍니다.

 

 

그리고 다음 ~ 다음~ 을 눌러서 Cygwin 설치를 마무리 합니다. 설치에 시간이 좀 걸리니깐~ 느긋이 커피 한잔 하면서 기다리시면 됩니다.

 

이제~ Cygwin 환경에서 간단하게 C 코딩을 해 보죠~

 

Cygwin 을 실행 시키고 일단 현재 폴더가 어딘지를 보려면~

 

다음과 같이 pwd 명령을 치면 됩니다.

 

위 그림의 \home\Administrator 폴더는 사실 윈도우의 C:\cygwin\home\Administrator폴더를 의미합니다.

 

즉~ C:\cygwin\home\Administrator 폴더가 cygwin 에서는 \home\Administrator 폴더로 마운트 되었다는 의미입니다.

 

그리고 위 그림처럼 gcc –version 이라는 명령어를 쳐서 gcc 가 제대로 깔렸는지 확인합니다.

 

이제 C 코딩을 해보죠~

 

아래 그림처럼 vim hello.c 라는 명령을 쳐서~ 다음과 같이 코딩합니다. ㅋㅋ 맞습니다. hello world입니다. ㅋㅋ

 

#include <stdio.h>

int main(void) {

printf("Hello world!!\n");

return 0;

}

 

아!! Vim 사용방법을 모르시는 분들은 그냥 메모장에다 위 코드 써서 C:\cygwin\home\Administrator\hello.c 로 저장해도 됩니다.

 

이제 다음과 같이 ~~

 

gcc 로 빌드해서 hello.exe 라는 실행 파일을 만들어주고~

 

gcc hello.c -o hello

 

아래 명령어로 실행을 시키면~

 

./hello.exe

 

Hellow world!! 가 실행 됩니다~

+ Recent posts