Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

Ruby에서 GUI확장을 위한 Tk Toolkit 설치하기

루비로 곡갱이책을 보고 있는데 루비에서 GUI기능을 지원하는 확장기능으로 Tk를 사용하는 부분이 나오는데 깊게 다뤄주지 않는 관계로 예제를 따라하려고 보니까 Tk를 사용할 수 없었습니다.

원클릭인스톨러로 설치하면 Tk가 포함되어 있다는 내용이 있는데 저같은 경우에는 tk를 사용하려고 하면 아래와 같은 에러가 발생합니다.

tk사용시 나오는 에러메시지

tk를 찾지 못하고 에러가 나며 이는 Ubuntu에서도 동일하게 tk를 못찾고 있습니다. 설치가 안된 것인지 설치는 되었지만 ruby에 바인딩이 안된 것인지는 명확지 않지만(윈도우의 경우는 후자인것 같습니다.) 어쨌든 설치를 할 수 없었습니다.




Windows
윈도우즈에서는 상당히 쉬운 편입니다. Tk를 설치하기 위해 ActiveState에 가서 ActiveTcl을 다운받습니다. 인터넷에서 보면 8.5를 써도 된다고도 나와있던데 8.5를 설치했더니 루비 1.8.6에서 호환이 되지 않더군요. 8.4버전을 받아야 하고 여기서는 ActiveTcl 8.4.19.1를 다운로드 받아 사용했습니다. 별도의 설정은 필요 없고 그냥 Next만 눌러서 설치해 주시면 됩니다.

tk 인클루드가 성공한 화면

설치한 다음에 Command창을 다시 띄워서 irb에서 tk를 불러들이면 정상적으로 동작하여 true가 뜹니다.

간단한 코드를 이용해서 Tk GUI Toolkit을 사용해 보겠습니다.


require 'tk'

TkLabel.new { text 'Hello, World!'; pack }
Tk.mainloop

사용자 삽입 이미지

위 화면처럼 Tk를 이용해서 윈도우창을 띄웠습니다.




Ubuntu

우분투에서는 더 쉽습니다. 다만 인터넷을 보면 Linux에서는 사실 좀 복잡한것 같습니다. 보통은 C++컴파일러를 가지고 tk랑 ruby를 다시 재컴파일시키라는 것 같은데 전 그런 재주는 없기에 우분투의 경우만 가지고 설명합니다. 우분투에서는 윈도우 만큼이나 아주 쉽습니다.

sudo apt-get install libtcltk-ruby

위의 명령어를 통해서 팩키지를 설치해주기면 하면 끝입니다.

사용자 삽입 이미지

설치하면 윈도우와 동일하게 tk가 require가 성공하고 오른쪽에 작게 윈도우가 뜬 것을 볼 수 있습니다.



참고자료 :

이제 Tk예제 좀 따라해 볼 수 있겠군요. ㅋ
2009/04/24 02:08 2009/04/24 02:08