윈도 모바일 6.1을 OS로 사용하는 스마트폰(옴니아2 등)에서의 Tcl/Tk의 사용

bonkora의 아바타

요즘 애플의 아이폰이 돌풍을 일으키고 거기에 국내업체에서는 옴니아2로 맞서면서 스마트폰이 점점 그 사용자층을 넓혀가고 있습니다.

스마트폰은 속에 운영체제가 들어있는데 아이폰은 아이폰 OS, 국내에서 폭발적으로 수요가 커져가고 있는 옴니아2 시리즈는 윈도 모바일 6.1(곧 6.5도 출시될 예정), 그리고 곧 구글의 드로이드나 삼성의 리모폰 등에는 리눅스 기반의 OS가 탑재되어 있고 유럽에서 출시된 삼성의 바다폰에는 삼성에서 자체적으로 개발한 바다 OS가 들어있습니다.

모바일 기기에서 실행될 수 있게 만들어진 Tcl/Tk 배포판이 있어서 윈도 모바일 6.1에서 돌려본 결과 아주 만족스러운 결과를 보였습니다. 다른 분들에게 참고가 될 만 할 것 같아서 이 문서를 작성하였습니다. 사용한 기기는 삼성에서 만든 T*omnia2(모델명 SCH-M715)입니다. 윈도 모바일을 OS로 사용하는 다른 스마트폰에서도 잘 작동하리라 생각합니다.

리눅스를 OS로 하는 모바일 기기에서도 eTcl을 사용할 수 있을 거라 기대합니다만, 아직 기기가 없어서 테스트해 볼 수는 없었습니다.

컴퓨터과 스마트폰에서의 작업

필요한 Tcl/Tk 배포판은 아래의 사이트에 있습니다. http://www.evolane.com/software/etcl/index.html 여러 플랫폼에서 사용할 수 있게 준비되어 있습니다. 일단 현재 필요한 것을 살펴봅니다.

Win32 installer는 스마트폰이 컴퓨터에 연결된 상태에서 윈도 환경의 컴퓨터에서 실행시켜 스마트폰에 설치하는 버전, Cabinet file은 스마트폰에 복사해 넣은 후 스마트폰에서 이 압축파일을 풀어 설치하는 버전이고, ZIP archive(위 그림의 검은 색 사각형)는 컴퓨터에서 압축을 푼 후 스마트폰에 복사해 넣어 사용하는 버전입니다. 필자는 자동설치되는 것보다 직접 원하는 곳에 복사해 넣어서 설치하는 편을 선호하기 때문에 ZIP archive를 사용했습니다.

압축을 열어보면 bin 폴더 안에 세 개의 실행파일이 보입니다. etcl-compact.exe는 컴팩트 버전인데
이것은 한글이 깨져 나오기 때문에 쓸 수가 없습니다. etcl-full.exe는 풀 버전으로 크기가 좀 크니까
스탠더드 버전인 etcl-std.exe(위 그림의 갈색 사각형 안)을 씁니다. 적당한 폴더에 압축을 푼 후 스마트폰의 메모리를 절약하기 위하여 etcl-compact.exe와 etcl-full.exe는 지웁니다. docs와 demos 폴더도 지워도 됩니다. lib 폴더안을 보면 BWidget 패키지를 위한 라이브러리 파일이 포함되어 있어서 BWidget 패키지를 쓸 수 있어서 좋습니다.

위의 그림은 제가 올린 압축파일 속의 내용입니다. study4etcl.tcl(빨간 색 사각형)과 거기에 필요한 파일들이 들어있습니다. 열공도우미.lnk(파란 색 사각형)은 바로가기 파일입니다. 이 압축파일을 앞서 설치한 etcl 폴더 안에 풀어넣습니다.

그러면 위와 같은 모양이 됩니다. 이제 옴니아2를 컴퓨터에 연결합니다. 스마트폰을 외부디스크처럼 인식하며 탐색기에서 파일과 폴더의 조작이 가능합니다.

스마트폰이 "모바일 장치"로 나타니며 "내 Windows Mobile 기반 장치"가 루트 디렉토리라고 생각하시면 됩니다. My Storage 폴더에 etcl 폴더를 위의 그림과 같이 복사해 넣습니다.

스마트폰 안에서 Tcl/Tk 실행

스마트폰을 켜고 파일 탐색기를 부릅니다. etcl을 설치한 폴더로 들어가서 bin 폴더 속의 실행파일을 부릅니다.

오른 쪽에 보이는 "열공도우미"는 바로가기 파일(링크 파일)입니다. 그 내용은 이렇습니다.
35#"\My Storage\etcl\bin\etcl-std.exe" "\My Storage\etcl\study4etcl.tcl" 그러니까 이 파일을 실행시키면 Tcl/Tk가 바로 study4etcl.tcl을 실행시킵니다.

윈도 98이나 XP에서는 시작 버튼을 눌렀을 때 나타나는 프로그램들의 정보가 "C:\Documents and Settings\사용자이름\시작메뉴\프로그램"에 들어있는데 윈도 모바일 6.1에서는 "\Windows\시작 메뉴\프로그램" 안에 들어있으므로
"열공도우미" 바로가기 파일을 그 속에 복사해 넣으면 탐색기를 거치지 않고 스마트폰의 메인메뉴에서 바로 실행시킬 수 있어서 편리합니다.

참고로, 윈도 모바일의 파일 탐색기에서 바로가기 파일을 만드는 방법을 알아봅니다. 바로가기 파일을 만들려고 하는 그 실행파일을 수초간 지긋이 누르고 있습니다. (가볍게 잠깐 누르면 그 파일이 실행되어 버립니다.) 그러면 팝업메뉴가 뜨는데 "복사"를 선택합니다. 그런 후 바로가기 파일을 위치시키고자하는 폴더에 가서 빈 공간을 다시 수초간 누르고 있으면 또 팝업메뉴가 뜨는데 이 때 "바로가기 만들기"를 선택하면 됩니다.

이제 bin 폴더안의 etcl-std.exe를 실행시킵니다.

그러면 위의 그림과 같은 화면이 나타납니다. 왼쪽 그림의 아래쪽에 빨간색 사각형 속의 아이콘이 두 개 있는데, 왼쪽 것은 콘솔을 활성화시키는 아이콘이고 오른쪽 것은 위젯들이 놓이는 메인 윈도를 활성화시키는 것입니다. 번갈아가며 눌러 보십시오.

여기서 한가지 참고로 언급할 것은, etcl을 종료할 때 화면 오른쪽 상단의 [X] 버튼을 통하지말고
File 메뉴를 선택한 후 나타나는 Exit 메뉴를 통해서 하는게 좋겠다는 것입니다. 이유는 모르겠지만 [X] 버튼을 통해 종료시킨 경우 다시 etcl을 구동시키면 주 메뉴만 나타나고 콘솔창과 주 윈도가 나타나지를 않았습니다. 이 점 외에는 etcl의 오작동은 없었습니다.

컴퓨터에서와 마찬가지로 콘솔에서 명령을 입력하면 주 윈도에서 실행됩니다. 소스를 부르고 싶으면 File 메뉴로 들어가서 Source... 메뉴를 선택합니다.

Tcl 소스를 열기 위한 창인데, 모든 폴더에 있는 모든 파일이 다 나타납니다. 원하는 폴더와 *.tcl의 형식을 지정하면 좀 더 쉽게 찾을 수 있습니다.

그런데 이상한 것은 폴더를 선택할 때 "모든 폴더"라고 되어 있지만 모든 폴더의 파일이 다 나타나는 것은 아니고 특정한 폴더만 나타났습니다. 혹 자신이 만든 파일이 보이지 않으면 파일을 다른 폴더로 옮겨 보시기 바랍니다.

study4etcl.tcl을 선택해 봅니다.

열공도우미 프로그램이 실행되는 장면입니다. 몇몇 메뉴와 아이콘은 편의상 불활성화 시켜 놓았습니다. 몇 부분만 수정하였더니 완벽하게 잘 동작하였습니다.

프로그램의 수정

컴퓨터에서 만들어진 프로그램을 스마트폰에서 쓸 수 있게 하기 위하여 수정해야될 내용을 적어보았습니다.

일단 윈도크기를 조절해야 합니다.

테스트 해 보니 윈도 크기를 위 그림에서의 3번 크기로 하려면 476 X 744 픽셀, 2번 크기로 하려면 476 X 694, 1번 크기로 하려면 476 X 652 픽셀로 하면 됩니다. 경우에 따라 조금 달라질 수 있겠죠.

만약 프로그램이 다른 파일을 찾는다면

파일을 찾는 경로를 스마트폰 안의 트리를 생각해 가면서 수정해야 합니다.
위에서 설명드린 바와 같이 필자의 경우 스마트폰에서 \My Storage\etcl에다
프로그램을 설치해 넣었기 때문에 프로그램을 거기에 맞춰 수정했습니다.

메인 메뉴 아래에 놓이는 아이콘이 좀 작게 나옵니다.

그래서 이미지 크기를 2배로 늘렸습니다.

폰트는 좀 크게 나와서 일반적인 용도의 글은 8 로 하였습니다.

필요에 따라 더 크게 하면 되겠습니다.

첨부 파일파일 크기
1.png11.91 KB
2.png19.69 KB
3.png21.67 KB
4.png21 KB
5.png22.85 KB
6.png64.01 KB
7.png16.21 KB
8.png12.23 KB
9.png28.37 KB
10.png17.38 KB
11.png10.28 KB
study4etcl.zip21.92 KB