CyGWin의 위력

dummy999의 이미지

저도 이걸깔았습니다.
윈도우에서 돌릴수있는 무한의 유닉스라서리 상당히 좋아보입니다.
물론 많은사람들에게 알려지지도 않았고 설치할때 인터페이스가 좋지않아
그냥하면 많은부분을 놓칠수있겠더라구요.

그러나 나름대로 가능성을 둡니다.

어차피 커널객체는 커널대로 유닉스커널을 쓰던 윈도우커널을 쓰던
표현쉘에서 어떤것을쓰던간에 특이사항없는 그런거라면 공용해서 쓸수있는
그런 단위객체가 될수있으니까요.

그런면에서 보면 객체란건 정말 좋은거같다는.. -,.ㅡ;;
객체의 기본성질을 논하면 기본적으로 자바같다라는 말을 해야
완전하다는 말을 할수있을겁니다.
지금까진 자바가 완벽한 객체지향형이라고 생각하기때문에...

당분간 이것의 묘한 매력에 푹빠져보고싶습니다. ㅎㅎㅎ

fibonacci의 이미지

:D 저 역시 윈도우즈에서 CYGWIN을 사용하는 사람입니다.
저의 연구용 S/W가 UNIX 클론에서 제대로 돌아가기 때문에 어쩔수 없이 CYGWIN을 깔아서 쓰고 있습니다. 사실 그것만 쓰면 한글문제는 신경을 안써도 상관없지만, X 꾸미는 재미를 놓칠수 없어서 이리저리 삽질하는 중입니다.
CYGWIN용 브라우저가 없어서 고민하던 차에 Internet Explorer를 쓰고 있습니다.

/usr/X11R6/bin/Internet_Explorer 란 스크립트를 다음 내용으로 만들고

"/cygdrive/c/Program Files/Internet Explorer/IEXPLORE.EXE" $1 &

IE를 실행시키는 묘한 즐거움도 있습니다.

No Pain, No Gain.

vacancy의 이미지

전 Cygwin의 X에서 한글 쓰는걸
아무리 해봐도 안돼서 -_-
그냥 포기하고 Cygwin창 띄워 쓰고 있는데요.
shift-pgup 같은게 잘 안돼서 좀 그러네요.
.inputrc도 잡아줬고, X에선 잘 되는데요.

Cygwin X에서 한글 쓰는 방법을 좀 아시면,
알려주시면 감사하겠습니다.
정말 수없이 구글에서 검색해봤는데 못찾겠더라고요. ㅠ_ㅠ

cjh의 이미지

cygwin... 장점도 많은데 단점도 만만치 않죠.

장점

- 윈도우 환경에서 거의 모든 유닉스 명령이나 프로그램이 돌아간다.
cygwin1.dll 의존성이 걸리지만 어쨌든 fork()등도 됩니다. apache나
X도 맘만 먹으면 돌릴 수 있고...

- 상용 X 서버 부럽지 않은 X서버가 있다. 게다가 요즘 버전은 rootless
기능도 있어서 조금만 설정하면 X창만 달랑 띄울 수 있다.
(rootless가 완전하지는 않습니다. 그렇지만 꽤 쓸만하죠)

- 패키지 시스템에 필요한 패키지는 대부분 다 있다.

- sshd 을 NT 서비스로 띄워 놓으면 윈도 서버에 ssh로 로그인할 수 있다.
이렇게 하고 zterm같은 터미널 써서 자기 자신으로 로그인이 된다.
(X가 안되면 이렇게라도 해 보세요). 따라서 일부 원격 관리가 터미널
클라이언트 없어도 가능하다. 심지어 ssh의 포트 포워드 기능 쓰면
터미널 클라이언트 접속을 암호화된 포트로 할 수도 있다.. (도대체 뭐하러...)

단점

- cygwin1.dll이라는게 프로그램 짤 때 걸림돌이(특히 재배포 가능하도록
할 때) 된다. 버전 관리가 까다로와서...

- 정적 링크가 안된다(최근에 안 사실임. cygwin1.dll을 무조건 갖고 다녀야함)

- 로케일 지원이 없다.

- 느리다.

- 패키지 안에 있는거 말고 아무거나 가져다 쓰면 컴파일이 잘 안된다.

- Shared Memory 같은 IPC지원이 없다.

--
익스펙토 페트로눔

vacancy의 이미지

우선 cygwin1.dll 없이도 다닐수 있을 것 같은데요.
( 이 라이브러리를 써야 하는 상황에서 정적 링크는 안되겠지만요. )
cygwin 없는데서 확인은 못해봤지만, 되는 것 같았거든요.

FAQ : How do I compile a Win32 executable that doesn't use Cygwin?
.. 의 링크입니다.
http://cygwin.com/faq/faq_4.html#SEC97

컴파일이 안되는건, 라이브러리들의 부재-_-가 중요 이유인것 같고요.
gcc cross compiler 정도는 build가 되는 것 같네요.
사실 별로 안해봐서 모르겠습니다. -_-a

그리고 IPC는 .. 역시 전혀 해보지 않아서 모르겠습니다만,
비교적 최근에 cygipc라는 패키지가 생겼더군요.
IPC관련이 아닐까 싶은데요 .. 한번 찾아보셔도 좋잖을까 싶습니다.

쭉 보니 별로 도움이 안되는 내용만 적은것 같네요 .. -_-;

dummy999의 이미지

제가 CygWin을 써보게되는것은 예전에 linux.co.kr에서 윈도우에서 리눅스를 까는 그런
패키지가 있었던거같았습니다. 그런데 잘안써봤는데 뭐 단순하게 전체 설치하는 그런느낌이더라구요

그런데 어찌되었던간에 어떤커널이던지 쉘이라는것은 접근하는데 문제가 없어야하는게
당연한겁니다.
원래 객체는 추상적으로 봤을때 이론상가능하면 실질적으로 가능해야 하는거죠..
다시말해 남자와 여자가 사랑할수있는 관계에있다면 뚱뚱한남자와 홀쭉한 여자의 관계이거나
근친의 남녀거나.(이건 좀 그렇당.. -_-;;) 어찌되었던간에 사랑이라는 관계를 모두다 맺을수있죠
남자끼리라는것은 억지끼워맞추기의 관계가 되는거므로 남녀관계의 자연스러운 관계보다는
상당히 어색할지도..

아.. 말하고싶은건 CygWin은 윈도우 기반(커널)에 유닉스(쉘)가 에뮬레이팅 되는건데
반대로 유닉스기반(커널)에 윈도우(쉘)를 에뮬레이팅 하는그런거도 있을수있을껍니다.

이건 예전부터 그렇게 말하고싶었는데 이말을 잘못해서리 여기서도 와우에서도 엄청 욕을 먹은
요인중의 하나가 되버렸습니다. ㅜ.ㅜ

여튼 남녀관계처럼 쉘과 커널이 자연스러운 관계라면
어떤 OS라도 어떤쉘과도 관계를 가질수있다라는것이 제가 하고싶은말인데요.
이건 객체에대한 저의 믿음에서 불어나온 돌연변이 사상 객체니즘입니다. ㅡ.ㅡ;
모든객체는 동일(독립적)하고 객체는 관계를 갖을수있다. 기타등등.

그리고 아무래도 CygWin이 예전보다 많이 좋아져서리 써도 나뿔꺼같지않다는생각이 듭니다.
참.. NT텔넷을 CygWin서비스로 대신했음좋겠는뎅
방법을 모르니 ^^;

그리고 오늘 아니 어제 CygWin깔고 KDE깔았는데 한글이 안나옵니다. ㅡ,.-;;
좀처럼 수습이 안되고있습니다. ^^;

아무튼 좋네요. 예전보다 더객체스러워진 쉘플그램이 계속적으로 발전하고있다는게..

좀더 다국어버전을 확실하게 지원했음좋겠다는생각이 듭니다.(설치플그램부분과 KDE부분에서..)

------------------------------------
F/OSS bless you... ^^*

monpetit의 이미지

vacancy wrote:
우선 cygwin1.dll 없이도 다닐수 있을 것 같은데요.
( 이 라이브러리를 써야 하는 상황에서 정적 링크는 안되겠지만요. )
cygwin 없는데서 확인은 못해봤지만, 되는 것 같았거든요.

가능하긴 하지만 거의 의미 없다고 봐도 됩니다. 윈도우즈 native 만 이렇게 만들 수 있죠. 그러므로 glibc의 함수들을 끌어오면 cygwin1.dll이 필수적입니다.

vacancy wrote:

그리고 IPC는 .. 역시 전혀 해보지 않아서 모르겠습니다만,
비교적 최근에 cygipc라는 패키지가 생겼더군요.
IPC관련이 아닐까 싶은데요 .. 한번 찾아보셔도 좋잖을까 싶습니다.

cygwin용 postresql 등이 cygipc를 사용하더군요.
monpetit의 이미지

dummy999 wrote:
아.. 말하고싶은건 CygWin은 윈도우 기반(커널)에 유닉스(쉘)가 에뮬레이팅 되는건데
반대로 유닉스기반(커널)에 윈도우(쉘)를 에뮬레이팅 하는그런거도 있을수있을껍니다.

이미 있잖습니까. WINE이나 VMware를 살펴보세요.
idlock의 이미지

http://www.whiterabbitpress.com/osp/cygwin/hangul.html

도움이 되길 바라며 -.-

vacancy wrote:
전 Cygwin의 X에서 한글 쓰는걸
아무리 해봐도 안돼서 -_-
그냥 포기하고 Cygwin창 띄워 쓰고 있는데요.
shift-pgup 같은게 잘 안돼서 좀 그러네요.
.inputrc도 잡아줬고, X에선 잘 되는데요.

Cygwin X에서 한글 쓰는 방법을 좀 아시면,
알려주시면 감사하겠습니다.
정말 수없이 구글에서 검색해봤는데 못찾겠더라고요. ㅠ_ㅠ

버그소년의 이미지

저도 지난주에 PC새로 설치하느라 날라갔던 Cygwin을 다시 설치했습니다.

회사 개인컴은 윈도고 작업은 서버에 연결해서 하기땜에...

이번에 어마어마한 데이터를 컨버팅 할 일이 있어서 제 노트에 깔린 리눅스로

한동한 돌리고 있었습니다.

서버는 팀사람들이 모두 달라붙어서 개발하는녀석이라 안되고...

제 PC에 리눅스를 깔자니 귀찮고 해서 Cygwin을 깔고 돌려보니..

제 노트는 P3 650M, 회사컴은 P4 2G

그런데 제 노트가 약 2배정도 속도가 빠르더군요.. -_-;

전엔 아무생각없이 간단한 테스트하기 좋아서 썼었는데...

속도에 대한 불신이 마구마구 생기네요... ^^;

가끔은 밥을 굶어도 살 수 있다.

송지석의 이미지

idlock wrote:
http://www.whiterabbitpress.com/osp/cygwin/hangul.html

도움이 되길 바라며 -.-

vacancy wrote:
전 Cygwin의 X에서 한글 쓰는걸
아무리 해봐도 안돼서 -_-
그냥 포기하고 Cygwin창 띄워 쓰고 있는데요.
shift-pgup 같은게 잘 안돼서 좀 그러네요.
.inputrc도 잡아줬고, X에선 잘 되는데요.

Cygwin X에서 한글 쓰는 방법을 좀 아시면,
알려주시면 감사하겠습니다.
정말 수없이 구글에서 검색해봤는데 못찾겠더라고요. ㅠ_ㅠ


cygwin의 X에서 쓸 수 있는 것은 아니지 않을까요? 콘솔에서 한글 쓰기 같은데...
송지석의 이미지

vacancy wrote:
우선 cygwin1.dll 없이도 다닐수 있을 것 같은데요.
( 이 라이브러리를 써야 하는 상황에서 정적 링크는 안되겠지만요. )
cygwin 없는데서 확인은 못해봤지만, 되는 것 같았거든요.

FAQ : How do I compile a Win32 executable that doesn't use Cygwin?
.. 의 링크입니다.
http://cygwin.com/faq/faq_4.html#SEC97

컴파일이 안되는건, 라이브러리들의 부재-_-가 중요 이유인것 같고요.
gcc cross compiler 정도는 build가 되는 것 같네요.
사실 별로 안해봐서 모르겠습니다. -_-a

그리고 IPC는 .. 역시 전혀 해보지 않아서 모르겠습니다만,
비교적 최근에 cygipc라는 패키지가 생겼더군요.
IPC관련이 아닐까 싶은데요 .. 한번 찾아보셔도 좋잖을까 싶습니다.

쭉 보니 별로 도움이 안되는 내용만 적은것 같네요 .. -_-;


ipc는 KDE 깔면서 깔아봤는데 일단 동작합니다. ipc-daemon이 돌아가게 할 수 있습니다. 대신 KDE를 깔아만 놓고 쓰진 않네요.. 무지 느려서 말이죠.. 한텀만 띄워 쓰면 괜찮긴 한데 이래저래 불편한 점이 생겨서 요샌 sshd띄우고 putty에서 로컬로 접속해 씁니다.
idlock의 이미지

송지석 wrote:

cygwin의 X에서 쓸 수 있는 것은 아니지 않을까요? 콘솔에서 한글 쓰기 같은데...

헉 그렇군요 -.-... 냠.. :oops:

homer의 이미지

cygwin에서 한텀을 쓰시려면:
http://netj.org/tips/cygwin_hanterm/

logout의 이미지

homer wrote:
cygwin에서 한텀을 쓰시려면:
http://netj.org/tips/cygwin_hanterm/

혹 cygwin에서 한텀 컴파일 시 컴파일 옵션 아시는 분 있나요? 위 페이지의 내용은 너무 간략하게 설명이 되어 있는터라...

"I conduct to live,
I live to compose."
--- Gustav Mahler

k2love의 이미지

버그소년 wrote:
제 노트는 P3 650M, 회사컴은 P4 2G

그런데 제 노트가 약 2배정도 속도가 빠르더군요.. -_-;

전엔 아무생각없이 간단한 테스트하기 좋아서 썼었는데...

속도에 대한 불신이 마구마구 생기네요... ^^;

저도 갠적으로 P4 2G (노스우드) 가 있습니다.
그러나, 셀러론 튜알라틴 1.0 기가보다 훨 못합니다.
CPU 캐쉬가 이렇게 큰 영향을 끼치리라곤...

30센티 나는 슈퍼맨

netj의 이미지

logout wrote:
homer wrote:
cygwin에서 한텀을 쓰시려면:
http://netj.org/tips/cygwin_hanterm/

혹 cygwin에서 한텀 컴파일 시 컴파일 옵션 아시는 분 있나요? 위 페이지의 내용은 너무 간략하게 설명이 되어 있는터라...

소스 패키지 받으셔서 풀어보면 스크립트 파일과 패치, 원래 한텀 묶음이 들어있습니다. 그 속을 살펴보시면 컴파일을 어떻게 하는 지 나와있죠. :)

저는 Cygwin에서 한텀을 거의 2년정도 써왔는데 원인을 알 수 없이 죽는 버그가 많습니다. Cygwin에 locale 지원이 제대로 없어서 가끔 한글 글자들이 터미널 가장자리를 넘어가면서 깨져 보이는데, 그러기를 몇 번 반복하고나면 갑자기 죽어버리는 문제가 있지요. :( 최근 버전(2.0.4+)을 가져다 컴파일 시도도 해봤지만 코드가 좀 많이 바뀌었는 지 컴파일이 쉽게 안되더군요. 한텀의 버그를 고치는게 이상적이지만, 그놈 터미널(물론 한글 입력기도)이 워낙 마음에 들었던 터라 그놈텀으로 전환을 시도하는 중입니다.

단순히 터미널을 쓰기 위해서 X서버를 돌리는 것은 Windows에서는 좀 비효율적입니다. 그러나 도스창을 대체할만한 윈도우즈 터미널 에뮬레이터 프로그램은 마땅히 없더군요. 그나마 PuTTY가 가장 나은 터미널이라 보이던데, 로컬 명령이 안되니 ssh 따위의 서버까지 거쳐서 로컬 셸을 써야하고.. 아직 여러 글꼴 지원이나 입력기와의 연동이 잘 안되는 모양이니 많이 부족하지요. 가장 치명적인 것은 vim을 쓸 때 esc키로 한/영 전환이 안되서 불편한 점이고.

언제 시간 나면 PuTTY 코드나 손을 좀 대봐야겠습니다. 한텀 속의 mutt가 이상한 스팸을 받기라도 하면 퍽- 죽어버려서.. :roll:

netj의 이미지

dummy999 wrote:
참.. NT텔넷을 CygWin서비스로 대신했음좋겠는뎅
방법을 모르니 ^^;

/usr/share/doc/cygwin/inetutils-*.README의 끝부분을 살펴보세요..
inetd를 서비스로 돌리고 telnetd 등등을 서비스하면 NT텔넷도 대체가 가능하죠.
송지석의 이미지

netj wrote:
dummy999 wrote:
참.. NT텔넷을 CygWin서비스로 대신했음좋겠는뎅
방법을 모르니 ^^;

/usr/share/doc/cygwin/inetutils-*.README의 끝부분을 살펴보세요..
inetd를 서비스로 돌리고 telnetd 등등을 서비스하면 NT텔넷도 대체가 가능하죠.

Cygwin inetd 사용
원문 http://www.whiterabbitpress.com/osp/cygwin/tips.html

inetd 사용하기 Windows에서 Cygwin을 사용하여 ftp, rcmd, talk, telnet 등 서비스를 제공할 수 있다. 먼저 iu-config를 실행한다. 간단한 쉘스크립트이므로 파일을 살펴보면 알 수 있듯이, /etc/inetd.conf, /etc/shells, /etc/ftpusers, /etc/ftpwelcome, /etc/motd 파일이 만들어진다.

Windows 95/98이라면 /usr/sbin/inetd.exe를 실행하면 되고, Windows NT/2000은 inetd를 '서비스'로 등록해야 한다. Windows 관리자 권한으로 /usr/sbin/inetd.exe --install-as-service를 실행한다. '제어판'->'관리 도구'->'서비스'에 보면 "CYGWIN inetd"를 발견할 수 있다. 필요하다면 '시작 유형'을 '수동'으로 변경한다. 그런데 이 서비스를 실행하려면 cygwin1.dll이 Windows PATH 환경변수 안에 있어야한다. '내 컴퓨터'->'등록 정보'->'고급'->'환경변수'에서 PATH 환경변수에 C:cygwinbin을 추가하거나, 파일을 기존 PATH 중 한 디렉토리로 복사한다. (경우에 따라 컴퓨터를 재시작해야 한다.)

이제 inetd 서비스를 시작해보자. '제어판'->'관리 도구'->'서비스'나 command.exe에서 net start inetd 명령어로 시작할 수 있다.

반대로, net stop inetd로 서비스를 중단할 수 있다. 서비스에서 제거하려면 /usr/sbin/inetd.exe --remove-as-service를 사용한다.

더 자세한 정보는 /usr/doc/Cygwin/inetutils-*.*.*.README를 참고하라.

추가: telnet을 열어도 putty로 localhost로 텔넷 접속시 한글이 안되었습니다.
그래서 sshd를 깔고 ssh로 접속하니 한글 입력이 되더군요.

greatkgc의 이미지

스크롤이 너무 느립니다. 터미널을 작게 해놓고 사용하면 그럭 저럭
사용할 수 있는데 Putty 전화면 모드에서 vim 윈도우를 두개로
갈라 놓고 스크롤 할라 치면.. 너무 스크롤이 느려서 우울해집니다. -_-;

혹시 이에 대해 해결책을 알고 계신 분이 있나요?

송지석의 이미지

greatkgc wrote:
스크롤이 너무 느립니다. 터미널을 작게 해놓고 사용하면 그럭 저럭
사용할 수 있는데 Putty 전화면 모드에서 vim 윈도우를 두개로
갈라 놓고 스크롤 할라 치면.. 너무 스크롤이 느려서 우울해집니다. -_-;

혹시 이에 대해 해결책을 알고 계신 분이 있나요?

그거 원래 그런 것 같네요. vim split window가 부하를 많이 먹는 듯.
wafe의 이미지

저도 처음에는 한텀을 깔아서 쓰다가 요즘은 cygwin에 내장된 rxvt를 쓰는데요 바탕화면에 단축아이콘 만들어놓고 쓰면 편하던 걸요. ^^

Heejoon Lee

segfault의 이미지

저는 리눅스 처음 만져보기전에 cygwin을 썼었습니다.

중 2때였나....