최신 리눅스에서 심시티 3000 즐기기

Posted at 2010/05/17 17:09 / Modified at 2010/05/17 17:11 by peremen.

알고 계십니까? 심시티 3000에는 네이티브 리눅스 포트가 있다는 사실을. 당장 구글에서 '심시티 3000 리눅스'라고 검색을 해도 이 사실은 잘 알려져 있지 않다. 리눅스 포트가 나온 건 심시티 3000이 나왔을 무렵이었고, 지금은 망해버린 로키 소프트웨어(2002년에 망했지만 아직도 웹 사이트는 열려 있다)가 포팅을 하였다. 같은 시기에 나온 윈도용 심시티 3000은 최근의 윈도에서도 잘 돌아가지만, 리눅스 세계는 자고 일어나면 뭔가 바뀌어 있는데다가 유저랜드까지도 오픈소스가 대부분이기 때문에, 이러한 바이너리로만 배포되는 프로그램은 '지원하는 배포판'을 벗어나면 삽질의 시작이다. 심시티 3000 또한 그렇다.

어쨌든, 로키 소프트웨어가 망한 이후에 여러 사람들이 저 때 당시 사용되었던 라이브러리를 별도로 패키징해서, 로키 소프트웨어가 포팅했던 게임을 비교적 최근의 배포판에서도 돌릴 수 있도록 해 주는 별도의 라이브러리 패키지를 만들었다. 대개 loki_compat 따위로 검색해 보면 나온다. 우분투 6.xx에서 심시티 3000을 돌리려면 이 패키지를 설치해야 한다는 사실에서 알 수 있듯이, 지원 따위 끊긴 상당히 오래된 버전의 glibc/SDL/기타등등 라이브러리를 사용했기 때문에 이건 필수다. 하지만 주의깊게 지시 사항을 따라하지 않으면 실패하기 십상이며, 나도 이 때문에 loki_compat 라이브러리를 받아 놓고도 이게 제대로 실행되는 걸 본 적이 없다.

최근에 나온 프로젝트 중 loki installers for linux gamers, 줄여서 liflg가 있다. 이 프로젝트는 오픈소스로 공개된 loki_setup을 사용하여, loki_compat 라이브러리와 적절한 설치 스크립트를 하나로 묶어서 게임 인스톨러를 제작하였다. loki_compat 라이브러리를 수동 설치할 때와는 달리 지정한 경로 안에 알아서 압축까지 풀어 주고, 이 라이브러리를 사용하는 실행 스크립트도 알아서 만들어 준다. 그래서 이 방법을 사용하면 설치 및 실행 성공률도 상당히 높다. 심시티 3000 리눅스 버전은 인터넷에서 구하기가 쉽지 않고, 토렌트를 뒤져도 잘 나오지 않는다. 모종의 경로로 구해둔 게 있긴 하지만 괜히 업로드해 뒀다가 저작권 문제가 생길 수 있으므로 여기에서는 생략한다. 심시티 3000 리눅스 버전 iso 파일을 구했으면 인스톨러를 다운로드받는다. 베타라고 쓰여 있지만 잘 작동한다. 32비트 리눅스를 사용하고 있으면 넘어가고, 64비트 리눅스를 사용하고 있으면 미리 32비트 호환용 라이브러리를 설치해 둔다. 데비안 amd64 unstable에서 실험 결과 잘 작동한다.

다운로드가 끝났으면 구해 둔 iso 파일을 CD에 굽는다. 아직까지 loki_installer가 CD-ROM을 인식하는 건 잘하지, 루프백으로 마운트시켜 둔 CD 이미지를 인식하지는 못 하는 것 같다. 방법을 알고 있으면 제보 바란다. 그 다음 다운로드받은 인스톨러 파일에 실행 권한을 준다. Dolphin의 경우 오른쪽 클릭->속성->권한->실행 가능에 체크하면 된다. 그 다음 CD를 삽입하고 인스톨러를 실행시킨다. 일반 사용자로 실행시키면 자기 홈 디렉터리 아래, 루트로 실행시키면 /usr/local/games 아래에 설치한다. 첫 화면이 지나면 설치 경로와 구성 요소를 물어본다. 이 때 언어, Building Arcitect, 인트로 영상 설치 여부를 같이 물어오므로 필요하면 선택한다. 설치가 시작되면 CD에서 파일을 복사하고, 알아서 시작 메뉴 항목도 만들어 준다.

심시티 3000 설치 화면

심시티 3000 설치 화면

K 메뉴 항목

K 메뉴 항목


자 이제 시작 메뉴 항목을 통해서 심시티 3000을 실행시켜 보자. 첫 실행 시 해상도는 640x480이므로, 게임 옵션을 적절히 수정해야 한다. Geforce 8400M GS, 듀얼 모니터 환경에서 테스트해 본 결과, 1280x1024는 게임이 진행될수록 끊김 현상이 나오므로 1024x768이나 1152x864 해상도를 추천한다. 인터페이스, 도시 건설, 글꼴을 비롯한 모든 요소가 윈도용 심시티 3000과 동일하므로, 심지어는 치트키까지 똑같이 쓸 수 있다.

심시티 3000 시작 화면

심시티 3000 시작 화면

심시티 3000 게임 화면

심시티 3000 게임 화면


그러면 즐겜.

2010/05/17 17:09 2010/05/17 17:09

Response: No Trackback, No Comment

노키아 배터리용 24핀 충전 거치대 제작 - 테스트

Posted at 2010/04/17 03:33 / Modified at 2010/04/18 19:17 by peremen.

그렇게 이베이에 주문을 넣고 3주쯤 지나서 소포가 도착했다. BP-4L의 크기가 더 크기 때문에 충전 거치대는 BP-4L용으로 2개 질렀다. 지금 와서 생각해 보니, 실패를 대비해서 2개를 지른 건 잘 한 선택이었다. 하나는 AC 플러그가 달린 버전, 하나는 2mm 잭만 달린 버전이다. 원래는 2mm 잭만 달린 버전을 개조하고 AC 플러그 버전은 그대로 쓰려고 했다. 하지만 2mm 잭에 충전기를 끼웠다 빼는 순간 중간의 극이 삐뚤어져서 '아 이것이 중국 퀄리티구나'라는 사실을 깨닫게 되었다. AC 플러그 버전도 하드웨어 퀄리티가 그닥 좋지는 않아서, 학교 잡화점에서 산 돼지코가 끝까지 들어가지도 않아서 '내장은 버리고 외장만 사용'하기로 결정하였다.

이베이표 충전 거치대 회로 기판

이베이표 충전 거치대 회로 기판. 판매자 말로는 마이크로칩 내장이라는데 개뿔. 트랜지스터와 저항 뿐이다.

내가 여기서 필요한 건 저 위 전극 뿐인데, 어찌 전극 납땜 상태도 영 안 좋다. 선을 새로 납땜하는데, 인두 열기 때문에 녹은 납이 아래로 흘러내려서 플라스틱을 변형시켜 버렸다. 변형 정도가 점점 커져서 하는 수 없이 상판 중 하나는 버리고, 하나를 더 뜯었다. 작업하기 정말 골때리겠지만, 90도로 세워서 작업하면 그나마 녹는 시간이 좀 늦춰진다. 하지만 이것도 전극이 가열되면 플라스틱이 녹기 때문에 저 부분 납땜은 속전속결이 답이다. 여담이지만 중국산 납은 연기에 무슨 이상한 물질이 섞인 건지 작업하는 동안 문을 열어 놔야만 했다.

그 다음 미리 준비해 둔 24핀 커넥터와 4.7kOhm 저항을 납땜한다. 다행히도 옛날 휴대폰 충전 거치대에서 뜯어낸 24핀 커넥터는 SMD 방식이 아니기 때문에 잘 구부리면 만능 기판에도 들어간다. 배터리 ID는 4.7kOhm으로 이어 버려서 BSI 값이 실수로 전달되는 것을 막는다. 그 대신 충전기를 먼저 꼽으면 빨간 불만 깜빡이므로 배터리를 먼저 꼽아야 한다. 나머지야 배터리 쪽 전극의 양극과 음극을 충전기 쪽과 이으면 되기 때문에 난이도 자체는 어렵지 않다. BP-4L과 BL-5F의 홈 크기가 다르기 때문에 인두기로 홈 부분을 지져서 두 배터리 모두 들어가도록 손봤다.

24핀 커넥터와 저항 납땜

24핀 커넥터와 저항 납땜

다만 이걸 어떻게 깔끔하게 수납하느냐가 문제인데, 원래 기획대로라면 24핀 커넥터가 저 아래로 향해야 한다. 하지만 아래쪽 플라스틱이 상당히 강해서 옆판을 파내기로 계획을 바꿨다. 옆판 플라스틱을 가위로 뭉텅뭉텅 자르고, 회로 기판을 돌려서 24핀 커넥터가 바깥쪽으로 나오게 만든다. 그 다음 나사를 적당히 조여 줘서 케이스가 맞물리도록만 만든다. 일단 배터리를 꽂지 않고 충전기만 꽂았을 때, 빨간 불이 깜빡이는지로 정상 상태를 점검해 보았다. 이건 오래 전에 기존 애니콜 충전 거치대를 사용할 때에도 똑같이 적용된다.

빨간 불이 깜빡이면 BP-4L과 BL-5F 둘 다를 꼽아 보자. 6210에 BL-5F를 꼽고 빈 상태에서 만충전까지 걸린 시간보다 24핀 충전기로 BL-5F를 만충전시키는 데 걸린 시간이 좀 많이 오래 걸려서 처음에는 과연 녹색불이 뜰 지 의심스럽기도 했다. BL-5F 만충전이 한 2시간 30분 정도 걸렸고, 용량이 그거의 1.6배(950mAh vs 1500mAh) 정도 되는 BP-4L은 4시간이 지나도록 만충전에 불이 들어오지 않아서 처음에는 무슨 문제가 생겼나 했다. BP-4L을 시험해 볼 때는 도대체 만충전이 안 되는 것 같아서 이러다가 배터리 터지는 거 아닌가 싶어서 뺐다가 N810에 끼워서 잔량 확인했다가 다시 끼웠다를 반복했다.

여튼 BP-4L은 완전 충전까지는 보지 못했다. BP-4L 거치대에 BP-4L을 끼운 만큼 어긋남은 없었다. 1500mAh 충전시키는 데 시간이 이리 오래 걸릴 줄은 예상하지 못했다. 하긴, 국산 휴대폰 중 1500mAh 배터리 쓰는 걸 본 적이 없었던 게 충전 시간 때문일지도 모르겠군.

BP-4L 충전 시도

BP-4L 충전 시도

추가: 1500mAh 배터리를 사용하는 T*옴니아 2의 배터리 충전 시간이 약 5시간 정도 걸린다고 해서 이번에는 5시간을 기다려 봤다. 5시간쯤 되니 BP-4L도 만충전이 뜬다.

BP-4L 충전 완료

BP-4L 충전 완료


BL-5F는 다행히도 만충전이 떠 줘서 제작이 실패하지는 않았다고 안심할 수 있었다.

BL-5F 충전 시도

BL-5F 충전 시도

BL-5F 충전 성공

BL-5F 충전 성공

여튼 원래 목적이었던 BP-4L 충전 거치대 제작은 충전 시간이 너무 오래 걸려(...) 실용성이 좀 떨어졌지만, 24핀 충전기를 다시 꺼내 쓸 수 있다는 사실 하나만으로도 제작할 이유는 충분하다. 역시 24핀 충전기는 좋은 리튬이온 배터리 충전기지, 좋은 Power Source는 아니다. 배터리 하나 충전 시키는 것도 폰에다가 꼽는 것보다 더 느린 판국에 폰에 이걸 꼽는다고? 비상용 아니면 쓰지도 못하겠군.

2010/04/17 03:33 2010/04/17 03:33

Response: No Trackback, 2 Comments

노키아 배터리용 24핀 충전 거치대 제작 - 준비 및 기본 지식

Posted at 2010/01/02 11:26 / Modified at 2010/01/02 23:13 by peremen.

내게는 노키아 배터리가 4개나 있다. 2개는 6210(BL-5F), 다른 2개는 N810(BP-4L)용이다. 둘 다 배터리 충전용 거치대가 없기 때문에 배터리를 서로 바꿔서 충전하는 수고를 매번 하고 있다. 이미 노키아 까페 등지에서 24핀 충전 거치대를 개조한 사람도 있고, 서드파티 충전 거치대를 파는 사람도 있다. 하지만 기성품 거치대 중에서 내 요구를 만족시켜 주는 건 없었다. BL-5F와 BP-4L 둘 다 충전할 수 있는, 24핀 입력을 받는 거치대가 필요했다.

TTA 24핀 규격에 따르면, 충전 회로가 내장되지 않은 휴대폰은 1, 21, 22번 핀, 충전 회로가 내장된 휴대폰은 4, 5번 핀을 사용하며 접지 핀으로 12, 19번 핀을 사용한다. 대부분 시장에 풀린 충전기는 1, 12, 19, 21, 22번 핀을 사용하며, 휴대폰들 역시 충전 회로를 충전기에 넘기면서 4, 5번 핀을 거의 사용하지 않는다. 충전 거치대 역시 회로는 1, 12, 19, 21, 22번으로 연결되어 있고, 뜯어 봐도 별다른 조정 회로 없이 배터리를 바로 연결시킨다. 충전 회로를 내장시킨 충전기 보급 탓인지, 20핀 규격이 되면서 충전 회로 내장형 휴대폰을 위한 전원 공급이 삭제되었다. 아주 오래 전에 썼던 LG-LC8000은 충전 회로가 내장되어 있었기 때문에 내장 AC 어댑터를 들여다보면 4, 5번 핀만 연결되어 있었다. 표준형 충전기로 충전이야 할 수 있었지만 충전 인식이 되지 않았고 충전 자체도 잘 되지 않았다. 전압 0.8V 차이가 이런 걸 만들어낸다. 충전기 전압이나 전류가 중요하지 않다는 사람들 어디 가셨나.

TTA 충전기의 충전 관련 부분.

TTA 충전기의 충전 관련 부분. TTAS.KO.06-0028/R2에서 발췌.

이론적인 설명은 이쯤에서 줄이고 직접 사진으로 충전 단자 차이를 보자. 필요한 설명은 아래 사진에 다 되어 있다. LG-xC8000 어댑터 출력은 5V/2A, 일반 TTA 충전기 어댑터 출력은 4.2V/750(일부 900)mA, 노키아 충전기 어댑터 출력은 5V/890mA이다. 배터리 충전 거치대를 만들기 위해서 일반 충전기 핀 배열을 참조할 것이다. 노키아용 24핀 젠더를 만들고 싶다면, 일단 4.2V를 5V로 올리는 작업을 해야 한다. 과학 시간에 졸지 않았다면 에너지 보존의 법칙이 무엇인지는 알 것이고, 전력은 전압과 전류의 곱으로 나오고, 모든 전압/전류 변환에는 손실이 생긴다는 것도 알 것이다. 노키아 어댑터에 필요한 전력은 5*0.89 = 4.45W, TTA 24핀 충전기에서 끌어낼 수 있는 전력은 4.2*0.75=3.15W이다. DC 변환 IC를 통과했을 때 손실을 감안하면 전력 부족으로 제대로 충전되지 않을 수도 있다.

각종 충전기 핀 출력 비교

각종 충전기 핀 출력 비교


에너지 보존의 법칙을 뛰어넘고, 전력 부족으로 제대로 충전이 안 되는 걸 극복하고 노키아용 24핀 젠더를 굳이 만들겠다면, 2mm 충전 단자 스펙TTAS-KO-06.0030을 읽어보자. 2mm 충전 단자 스펙 3.1절에는 고정전류 충전기, 4.1절에는 태양전지나 수동 발전기 같은 가변전류 충전기에서 허용되는 전압/전류 값이 나와 있다. TTA 충전기 스펙에서 정하는 4.15~4.23V/450~900mA는 3.1절과 4.1절 모두에서 허용하는 값이다. 4.2절에는 가변전류 충전기에서 나오는 전압이 4.65V 이상이 되지 않으면 충전이 시작되지 않는다고 나와 있다. 충전을 시작하기 위해서 충전기 판별을 할 때, 1~2mA 전류가 흐를 때 충전기 전압을 확인한다. 4.65~5.2V면 가변전류 충전기, 5.5~9.3V면 고정전류 충전기, 이 범위 외의 값이면 불량으로 판정한다. TTA 스펙에는 V/I 곡선이 나타나 있지 않아서 1:1로 비교할 수는 없지만, 노키아 충전기에 들어가는 전압이 TTA 충전기보다는 높으며, 전류 문제도 발생할 수 있음을 시사하고 있다. 이미 애플 아이팟/아이폰용 24핀 젠더는 시중에 출시되어 있고, 내부적으로 4.2V를 5V로 승압해서 출력한다. 하지만 이것도 간혹 인식 문제가 발생하기도 하며, 노키아 2mm 충전 단자는 5V보다 전압을 높여야 한다. 자연스럽게 공급 가능한 전류의 양은 떨어지고 충전 속도도 느려진다. 여기다가 인식 문제도 추가하면 답이 없다.

이런 문제 때문에 나는 노키아 휴대폰으로 갈아타자마자 24핀 충전기를 모두 집에 놔뒀고, 노키아 충전기 하나로 폰 2개를 같이 충전해서 쓴다. 다음 문단으로 넘어가기 전에 강조 하나만 하자면, 24핀 충전기 그 자체는 매우 좋다. 좀 더 범용적으로 개조해서 아무 리튬이온 배터리나 충전할 수 있도록 만드는 게 이미 가능하다. 이걸 가지고 노키아 휴대폰 배터리를 충전하는 건 전기적으로 아무런 문제가 없다. 이 충전기를 가지고, 충전 회로가 내장되어 있는 기기의 배터리 충전용 전원 공급을 시도하는 건 전기적으로 문제가 있을 수도 있다. 충전 회로 내장형 기기를 위한 전원 공급은 24핀 단자 스펙에는 명시되어 있지만 20핀으로 오면서 빠졌다. 어떻게 저떻게 젠더를 만들 수는 있겠지만, 노키아가 굳이 이 일에 손을 댈 필요가 있는 건 절대 아니다. 젠더 찾는 사람들은 아쉽지만 포기하는 게 좋다.

배터리 충전 거치대 제작 계획으로 돌아가자. 노키아 배터리의 접촉 단자는 총 3개 달려 있다. 각각 V, GND, BSI이다. V와 GND에서는 전압이 나온다. BSI는 배터리 용량 및 온도 센서이자, 온도가 증가하면 작아지는 가변 저항이다. 과거에는 니켈계 배터리와 리튬계 배터리가 혼용되었기 때문에 BSI 핀이 배터리 용량, BTEMP 핀으로 온도를 파악했지만 현재는 이 둘이 합쳐져 있다. BSI 핀과 GND 사이의 상온에서의 저항은 배터리마다 다르다. BL-5F는 27㏀, BP-4L은 120㏀ 값이 찍혔다. 다른 노키아 배터리는 어떨까 찾아 보았지만 잘 안 보인다. 상온에서 BSI를 측정하려면 아무 표시도 안 되어 있는 극과 -극 사이 저항을 멀티테스터로 재면 된다. BSI 핀의 저항이 급격하게 변화하면 배터리 문제로 파악하고 휴대폰이 켜지거나 충전이 시작되지 않는다.

국내 휴대폰 배터리의 접촉 단자는 V, GND, BID이다. 노키아 배터리의 BSI 단자를 멀티 테스터로 찍어 보면 저항처럼 보이고, 처음에는 나도 저항인 줄 알았다. 주위에 있는 삼성 휴대폰 배터리를 찍어 보니 4.7㏀, 에버 배터리 하나는 1.5㏀이 나왔다. TTA 스펙의 BID에 따르면, 27㏀/4.7㏀/1.5㏀에 따라서 충전 전류가 450/750/900mA로 달라진다. BL-5F 배터리의 BSI 값 27㏀은 순전히 우연이다. TTA 스펙에 의해서 충전 전류도 450mA밖에 못 뽑아내기 때문에 충전 시간도 느린 게 당연하다. BP-4L 배터리를 그대로 연결시켰다면 저항값이 안 나와서 충전이 되지 않았거나, 되긴 하는데 뭔가 이상했을지도 모른다. 그래서 한 서드파티 충전기 제작자의 홈페이지에는 "배터리가 삽입된 것처럼 보이게" 한다고 쓰여 있다.

사전 조사는 이 정도로 끝내고, 언제 한 번 서면 근처에 나가서 24핀 커넥터와 만능 기판, 4.7㏀ 저항을 사 와서 제작에 들어가야겠다. 노키아 배터리와 연결되는 단자 부분은 SPH-W2100 배터리 거치대를 잘 잘라서 쓰고, 가능하면 SPH-W2100 충전 거치대 안의 보드와 기구물을 사용하고 싶지만 BP-4L 배터리 크기 때문에 만능 기판 사용으로 선회해야 할 것 같다.

2010/01/02 11:26 2010/01/02 11:26

Response: No Trackback, 2 Comments

MMF 파일을 MIDI로 바꾸기

Posted at 2009/12/29 22:06 / Modified at 2010/01/01 22:33 by peremen.

대부분의 국내 휴대폰들은 MMF라는 야마하에서 만든 벨소리 포맷을 사용한다. 경우에 따라서 미디로 사용할 수도 있고 PCM을 그대로 집어넣을 수 있다. 국내 휴대폰 벨소리는 MMF로 통일되어 있는데, 일부 해외 휴대폰 및 스마트폰은 MMF를 지원하지 않는다. 어쩌면 노키아 휴대폰으로 갈아타면서 잃어버린 것 중 가장 큰 게 MMF 벨소리일지도 모른다. 다행히도 MMF를 지원하지 않는 휴대폰은 일반적인 MIDI는 대부분 지원한다.

MIDI나 음악 파일을 MMF로 만드는 방법은 국내에도 많이 소개되어 있지만 그 역은 잘 알려져 있지 않다. 원음벨 MMF 파일은 PCM 신호를 포함하고 있으므로 MIDI로 절대 변환할 수 없다. MP3 등의 음악 파일이 '음 자체'를 저장한다면, MIDI는 '악보'를 저장한다. 악보를 보고 연주하는 건 누구나 가능하지만, 흘러나오는 곡만 듣고 악보를 그려내는 사람은 신의 영역에 속한다. 따라서 원음벨은 같은 속성을 가지는 MP3 등으로 변환하는 게 좋으며, 미디벨은 MP3 등의 음악 파일로 바꾸기보다는 MIDI를 그대로 뽑아내는 게 용량대비 효율이 좋다. 녹음하는 뻘짓 할 필요가 없다.

MMF를 MIDI로 바꾸는 프로그램은 잘 나오지 않는다. 처음 찾아본 프로그램은 Mobile Music Polyphonic이었다. 과거 버전은 확장자만 바꾼 MMF 파일(ma2, ma3 등)을 제대로 인식하지 못하고 UI가 좀 불편해서, 최신 버전을 구해 봤더니 이건 완전 아이폰 전용으로 바뀌어 있어서 원하는 기능인 MIDI 추출은 테스트해 볼 수도 없었다. 좀 더 찾아봤더니 Plinksoft RingtoneComposer 역시 같은 기능을 한다. 아직까지 데모 버전의 제한이 무엇인지는 파악하지 못했지만, MMF->MID 변환 중 파일을 잘라먹지는 않는 것 같다. 그래서 비밀 댓글로 과자제보 받습니다.

사용자 삽입 이미지

하여튼 처음 프로그램을 켜면 UI가 그다지 단순해 보이지는 않는다. 일단 File->Open SMAF File로 가서 MMF 파일을 하나 찍어서 열자. 원음벨이면 미디 트랙이 하나만 보이고 재생을 눌러도 아무 반응이 없으며, 미디벨이면 트랙이 여러 개 보인다. 원음벨은 MMF를 변환하기보다는 MP3과 같은 더 고음질 파일을 잘라서 쓰는 걸 추천한다. 아무튼 미리 들어보고 원하는 대로 소리가 나는지 확인해 보자. 소리가 제대로 나면 File->Save를 눌러서 미디로 저장한 다음 빠져나온다.

이제 원하는 방법을 써서 휴대폰에 미디 파일을 집어넣자. 기본 음악 재생기로도 재생되며, 프로필 메뉴에서 원하는 파일을 지정해 주면 벨소리로 쓸 수 있다. 이제 MMF 미디벨을 폰 바꿨다고 버리지 말자. 하지만 원음벨은 새로 구하는 게 더 낫다.

사용자 삽입 이미지

2009/12/29 22:06 2009/12/29 22:06

Response: No Trackback, No Comment

우체국 OTP 발급 비용 3000원

Posted at 2009/12/24 22:03 / Modified at 2010/01/01 23:01 by peremen.

우리 학교의 주 거래 은행은 2군데, 우체국과 우리은행이다. (역시 교수는 최강 행정은 막장 ㅋㅇㅅㅌ) 거기다가 지난 여름방학에 높은 이율에 낚여서 신청한 하이투자증권 CMA 계좌 덕분에 무려 보안카드가 3개이다. 셋 다 VirtualBox 안에서(기말고사 덕분에 최근 버전 번역을 못했다. 젠장.) 키보드 보안 프로그램과도 잘 충돌하지 않는다는 점에서는 합격이지만, 세 종류의 서로 다른 보안카드를 가지고 있는다는 사실 자체가 불편했다.

평소에도 OTP 기계를 만들어야 한다는 생각은 했지만 처음 OTP가 나왔을 때 만원 가까이 하는 발급 비용 때문에 망설여 왔다. 그러던 어느 날, 동아리방에 굴러다니는 우체국 OTP를 보고 이거 얼마 하냐고 물어 보니까 3000원 한다고 했다. 숫자 6개만 1분마다 바뀌는 간단한 형태의 OTP지만, 이거 하나로 보안카드 3개를 다 합칠 수 있다는 점이 끌려서 우체국으로 가서 신청하고 왔다. 우체국에 계좌가 있었기 때문에 신분증만 제시하니 만들어 주었다.

일단 OTP를 받아 오면 이렇게 생겼다.

우체국 OTP 박스 정면

우체국 OTP 박스 정면

상자 뒷면에는 OTP 일련 번호와 유효 기간만 나와 있는 창이 파여 있어서 OTP를 최초 등록할 때 사용한다.

우체국 OTP 박스 뒷면

우체국 OTP 박스 뒷면. 시리얼 번호는 가렸다.

상자를 열면 OTP 본체와 사용 설명서가 들어 있다. 여기 보이는 이 녀석은 우체국 스티커가 붙어 있는 RSA SecurID 700 모델이다. RSA 외에도 OTP 제조 회사는 더 있다.

사용자 삽입 이미지

OTP를 받아 보면 6자리 숫자가 표시되고 맨 오른쪽의 점은 정신없이 깜빡인다. 맨 왼쪽에 있는 6개의 막대기는 유효 기간을 뜻하며 10초가 지날 때마다 하나씩 막대기가 사라진다. 1분이 지나면 막대기 6개가 다시 채워지고 숫자가 바뀐다. 배터리가 방전되거나 유효 기간이 만료되면 새 OTP를 발급받아야 한다. 요즘 나오는 OTP는 모든 금융 기관에서 하나를 같이 사용할 수 있는 통합 OTP이다. 금융 기관마다 발급받아야 하는 보안 카드와는 달리, 통합형 OTP는 제조사 ID와 일련번호만 있으면 어느 금융 기관이나 등록할 수 있다.

일단 우체국에는 등록되어 있기 때문에 우체국 뱅킹에서는 바로 사용할 수 있다. 우리은행에 타기관 OTP를 등록하려면 은행 지점에 OTP와 신분증을 들고 가면 바로 처리해 주며, 하이투자증권의 경우에는 HTS 및 홈페이지에서 OTP를 바로 등록할 수 있었다.

하이투자증권 OTP 등록

하이투자증권 OTP 등록

아직까지 대부분 은행들이 타기관 OTP를 등록하려면 영업점에 방문하도록 되어 있지만, OTP 일련번호와 제조사 코드만 있으면 되므로 홈페이지에서도 가능하도록 하는 옵션을 추가했으면 한다.

OTP를 등록하면 계좌 이체 후 공인인증서 암호를 묻기 전, 보안카드 번호를 적는 대신 OTP에 표시되는 숫자를 입력하라고 한다. OTP 숫자의 유효기간은 1분이므로 이 시간 안에 입력하는 게 좋다. 한 번 털리면 끝장나는 보안카드와는 달리 OTP는 내가 잃어버리지 않는 한 특정 시점에서 OTP에 나타나는 숫자가 털려봤자 숫자가 바뀌므로 보안성이 더 좋다. 여러 장의 보안카드 통합의 효과도 있으므로 관리하기도 쉽다.

우리은행 계좌이체 중 OTP 번호 입력

우리은행 계좌이체 중 OTP 번호 입력

OTP를 무료로 발급받는 방법이 찾아 보면은 있겠지만, 이후 갱신 문제도 있고 해서 적은 돈을 내고 주거래 은행 중 한 곳에서 만들었다. 요약하면 OTP 킹왕짱.

2009/12/24 22:03 2009/12/24 22:03

Response: No Trackback, No Comment

Qt/S60 베타로 프로그램 짜 보기

Posted at 2009/11/12 03:35 / Modified at 2009/11/12 03:35 by peremen.

기존에 Qt로 프로그램을 짜 봤다면 Qt/S60을 쓸 수 있다는 게 얼마나 흥분되는 일인지 알 수 있다. Qt/S60은 트롤텍이 노키아에 인수된 후부터 활발히 개발된 Qt 포트이다. 윈도, 맥 OS X, (임베디드) 리눅스 이외 기종으로 제일 처음 나온 포트는 윈도 모바일이지만, 노키아에 인수당한 이후 윈도 모바일용 Qt보다는 Qt/S60에 더 많은 신경을 쓰고 있음을 알 수 있다. 마에모도 Qt로 전향할 예정인데다가, 든든한 데스크톱 우군 KDE가 버텨 주고 있어서 지금 안드로이드나 아이폰에 부화뇌동하느니 Qt 프로그래밍을 익혀 두는 것도 몸에 나쁘지는 않을 것이다.

Qt의 모토는 Code Less, Create More, Deploy Anywhere다. 노키아 인수 전까지는 앞 두 마디만 사용했으며, 노키아가 Qt 로고를 현재처럼 바꾼 이후 Deploy Anywhere가 같이 추가되었다. 과연 Qt로 짠 소스 코드가 Deploy Anywhere가 될 수 있을지 한 번 실험해 보기로 했다. 일단 Qt/S60을 구해서 설치해 보자. 2009년 11월 현재 Qt 홈페이지 페인 화면에 Qt/S60 4.6.0 베타 링크가 걸려 있으므로, 일단 이거 SDK를 다운받아 두자. Qt/S60은 S60을 기반으로 움직이므로, 그 까다롭다는 S60 SDK도 같이 설치되어 있어야 한다. Carbide.C++(IDE), S60v3 FP2 SDK, Open C/C++ 플러그인 삼대천왕을 설치하면 된다. 전부 한 덩치 하는 몸이라서 시간이 꽤 걸렸고, 이 순서대로 설치하지 않으면 미묘한 오류가 발생한다. 설치를 마음대로 했다가 3시간을 삽질하는 일이 없길 바란다.

그 다음 Qt/S60을 설치한다. 깔려 있는 SDK를 자동으로 인식하고 그에 맞는 Qt를 설치해 준다. 설치가 끝난 다음, Carbide.C++ 쪽 환경 변수를 먼저 등록한 다음 Qt/S60 명령 프롬프트를 실행해야 라이브러리 및 컴파일러 경로를 헤매지 않는다. 이것 때문에 1시간을 또 고생했다. 여기까지 잘 왔으면, Qt 명령 프롬프트를 실행시켜서 demos나 examples 폴더로 이동한 다음, qmake-make를 실행시켜서 예제를 빌드해 보고, make run을 통해서 각각 예제를 실행시켜 본다. make 실행 시 기본 타겟은 debug-winscw로, 에뮬레이터를 통해 실행된다. make distclean을 실행시켜 줘야 에뮬레이터에서 흔적이 사라지므로 테스트 후 실행시켜주는 게 좋다. S60 SDK에 내장된 에뮬레이터는 그럭저럭 쓸만하지만, 한글 글꼴이 기본적으로 없다는 건 알아 두어야 한다.

S60 SDK 에뮬레이터

S60 SDK 에뮬레이터


정상 작동을 테스트해 보았으면 기존 Qt 프로그램을 포팅해 보자. QMake를 사용하는 프로젝트라면 아무 무리 없이 Qt/S60으로 포팅 가능하다. 얼마든지 리눅스에서 Qt로 짰던 프로그램을 S60으로 '소스 한 줄 고치지 않고' 포팅 가능하다. 심비안 플랫폼은 모든 실행 파일에 고유 UID가 붙는다. 이게 겹치면 시밤쾅하기 때문에 프로그램을 배포하려면 UID를 따야 한다. 돈 내는 건 없으므로 전문적으로 뭔가를 만들어 보려면 UID를 신청해 보자. 발급받은 UID가 있으면 .pro 파일에 UID를 적어 주고, 없으면 qmake가 테스트용 UID를 만들어 준다. make release-gcce를 내린 다음 make sis라는 명령을 내리면 sis 파일을 만든다. 테스트 인증서로 서명되었으므로, 실제 배포할 때는 인증서 문제를 해결해야 한다. 이 외에도 약 10MB에 달하는 Qt 라이브러리 설치 문제도 신경써야 한다. 현재는 Qt/S60이 베타 단계라서 배포할 때 신경이 거슬리겠지만, 정식 릴리즈가 나온 다음에는 휴대폰 롬에 통합될 수도 있거나 용량이 더 적어질 수도 있다.

현재 Qt 4.6.0 베타는 S60에서 살짝은 껄끄럽게 돌아간다. S60v5는 터치 인터페이스를 지원하지만 S60v3은 위젯을 돌아다닐 때 키패드를 사용해야 하며, 심비안 네이티브 프로그램에 비해서 살짝 멈칫하는 게 느껴진다. FEP도 잘 붙어서 한글 입력도 무리없이 할 수 있다. 대부분의 UI 구성요소는 S60 테마를 그대로 따르므도 생긴 거의 이질감은 전혀 느껴지지 않는다. Qt의 장점은 여기서 드러난다. 오늘 오후동안 짜 본 노래방 검색 프로그램을 휴대폰에서 한 번 돌려 보았다. Qt의 GUI와 SQL 부분을 사용한다. PyS60으로 짜려고 했으나, SQLite 모듈이 없어서 Qt의 SQLite 모듈을 사용하려고 Qt를 사용했다. 아직까지 휴대폰에서 좀 동작이 끊기는 감이 없잖아 있지만, 아직 Qt/S60은 베타 단계이기 때문에 정식 릴리즈가 되면 더 빨라질 가능성이 열려 있다.

Qt/S60 테스트 프로그램

Qt/S60 테스트 프로그램. 한글 입출력도 원활하다.

메뉴, 위젯 모두 이질감이 적다.

메뉴, 위젯 모두 이질감이 적다.


기존에 Qt로 프로그램을 만들어 봤으면 복잡한 S60 C/C++를 배우지 않고도 S60 휴대폰에 프로그램을 바로 올릴 수 있으므로, 뭔가 만들어보고 싶으면 과감하게 도전해 보자.

ps. 노래방 검색 프로그램은 아직 개발 중이며, 역시 아직 개발 중인 Qt/S60 라이브러리를 사용한다. Qt/S60이 정식 출시되는 대로 공개할 예정이다.

2009/11/12 03:35 2009/11/12 03:35

Response: A trackback, 7 Comments

데비안, GRUB 2, intelfb

Posted at 2009/10/25 20:24 / Modified at 2010/01/01 23:04 by peremen.

리눅스 커널 소스 트리를 뒤지다 보면 두 종류의 비디오 드라이버를 찾을 수 있다. 하나는 우리가 흔히 말하는 그래픽 드라이버인 DRI 드라이버이고, 또 다른 하나는 프레임버퍼 드라이버이다. 전자는 X.org 하에서의 2D/3D 가속 등을 담당하며, 후자는 X.org가 뜨기 전까지, 흔히 콘솔이라고 말하는 영역에서 그래픽 처리를 담당한다. 프레임버퍼를 전혀 사용하지 않으면 과거 도스 시절에나 볼 수 있었던 콘솔이 뜨지만, 프레임버퍼를 사용하면 해상도도 높아지고, mplayer를 사용하여 동영상도 볼 수 있다. 부팅 스플래시도 이렇게 처리한다.

GRUB 1에서 리눅스 프레임버퍼를 사용하려면 커널 옵션으로 vga=xxx 또는 video=xxx를 추가해 줘야 했다. vga=xxx 옵션을 추가하면 하드웨어 가속을 전혀 사용하지 않는 vesafb를 불러온다. vesafb는 이름처럼 표준적인 기능만 제공해서 VESA 표준이 아닌 해상도(와이드 포함)를 사용하려면 하드웨어 정보를 들여다봐서 모드 값을 알아내야 했다. 이외의 다른 프레임버퍼 드라이버를 사용하려면 video=(프레임버퍼 드라이버) 식으로 지정해 주면 된다.

GRUB 2로 진화하면서 GRUB 구조가 완전히 바뀌면서 프레임버퍼 설정 방법도 바뀌었다. 더 이상 menu.lst 파일의 주석에 정보를 숨기지 않고, 모듈화된 설정 파일로 바뀌었다. 프레임버퍼 설정 역시  GRUB 1에서 썼던 것처럼 vga=xxx라는 커널 옵션을 줘도 커널은 이 옵션을 적절히 무시한다. 그리고 해상도를 지정하기 위해서 암호같은 모드 값을 외울 필요도 없어졌다. 데비안 기준, /etc/default/grub 파일을 수정해 주면 게임이 끝난다. 처음 파일을 열어 보면 다음과 비슷할 것이다.

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""

# Uncomment to disable graphical terminal (grub-pc only) #GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=1280x800
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entrys
#GRUB_DISABLE_LINUX_RECOVERY="true"

보이는 것처럼 menu.lst 파일의 주석 대신 환경 변수를 사용한다. 그래픽 모드를 사용하려면 GRUB_GFXMODE의 주석을 풀고 원하는 해상도 및 색 농도로 설정해 주면 된다. 1024x768의 32비트를 사용하려면 1024x768x32로 입력해 주면 된다. 설정을 업데이트했으면 update-grub 명령을 내려서 실제 grub.cfg 파일에 반영시키면 된다. 다음 부팅 때부터 GRUB은 그래픽 모드에서 실행되며, GRUB에서 설정된 해상도가 리눅스 프레임버퍼까지 간다. 이 과정에서 vesafb 모듈이 자동으로 올라가며, video=xxxxx 옵션을 주면 선택한 드라이버를 사용한다.

내 서브노트북 Q10을 업어오면서, 원래 계획은 intelfb 드라이버를 올려서 X11 없는 GUI 사용이었다. 인텔 830M 그래픽은 분명히 intelfb 드라이버의 지원 목록에 있었다. 하지만 intelfb 드라이버는 유명한 에러 메시지를 내놓으면서, 정작 뚜렷한 해결책도 없었기 때문에 X11을 그냥 올렸고 KDE를 설치했다. intelfb 드라이버의 문제는 다음 문단에 설명한다.

대개의 프레임버퍼 드라이버는 video 옵션만 지정해 주면 되는데, intelfb 드라이버, 특히 노트북에서 사용하려면 상당히 머리가 아프다. GRUB에서 그래픽 환경 설정을 하지 않고 보통의 프레임버퍼 드라이버처럼 video=intel:mode=1024x768 식으로 해상도를 지정해 주면 노트북 사용자들을 좌절하게 만드는 "intelfb: Video mode must be programmed at boot time" 오류가 뜬다. vga=xxx 옵션을 같이 줘 놓으면 비디오 모드는 제대로 찾는데, 이제는 vesafb와 순위 쟁탈전을 벌이면서 "intelfb: cannot acquire agp"나 "intelfb: Cannot reserve FB region" 같은 오류가 뜨면서 기대하던 인텔 프레임버퍼가 뜨지 않는다.

원인을 계속 찾다 보니, 데비안 커널에 내장된 vesafb가 원인이었다. 커널 컴파일을 새로 하면서 vesafb를 빼 버리고, initramfs를 만들면서 intel_agp, agpgart, intelfb 모듈을 추가시켜 줬다. 어차피 프레임버퍼에 관심을 가질 정도로 리눅스를 잘 아는 사람이라면 커널 컴파일이 무엇인지는 알 테니, 여기에서 방법은 생략하겠다. 어떻게 컴파일을 하든, vesafb를 빼고 intelfb를 포함해서 컴파일해야 한다. 내 경우, 서브의 사양이 심각하게 안 좋아서 대부분의 안 쓰는 모듈을 과감하게 빼고 컴파일했다.

커널 컴파일과 initramfs 생성이 끝난 다음, GRUB 설정을 수정해서 video=intelfb 옵션을 추가해 주었다. 반신반의했지만 성공했다. 비디오 모드를 바꿀 수 없다는 경고 메시지가 지나갔지만, 프레임버퍼 정보를 보니 인텔 프레임버퍼를 정확하게 잡아 주었다. 여기까지 왔다면 프레임버퍼를 사용하는 리눅스 프로그램은 무엇이든지 쓸 수 있다. mplayer를 사용해서 영화를 볼 수도 있고, fim으로 그림을 보거나 w3m-img를 설치해서 그림까지 보면서 웹을 즐길 수 있다. fbgrab을 설치하면 프레임버퍼의 스크린샷을 찍을 수 있고, gpm을 설치하면 마우스를 사용할 수 있다.

아래는 부팅 동영상과 실제 인텔 프레임버퍼를 사용한다는 걸 보여 주는 명령들이다.

데비안 intelfb

데비안 intelfb

요약하면, 데비안을 사용하는 노트북에서 intelfb를 제대로 쓰려면 커널을 다시 컴파일해야 한다. 이 때 기본 내장된 vesafb 옵션을 끄지 않으면 서로간의 충돌 때문에 intelfb가 올라오지 않는다. 커널을 새로 설치한 다음, GRUB 설정 파일을 편집해서 원하는 해상도를 설정하고, 리눅스 커널 인자에 video=intelfb를 추가해서 인텔 프레임버퍼를 사용하게 하면 된다.

2009/10/25 20:24 2009/10/25 20:24

Response: No Trackback, No Comment

노키아 6210으로 할 수 있는 일 - 리눅스와 동기화

Posted at 2009/08/26 14:45 / Modified at 2009/10/11 15:48 by peremen.

대한민국에 팔리는 휴대폰 중 리눅스에서 사용할 수 있는 폰이 얼마나 있을까? 거의 없다에 올인이다. 대부분의 국내 제조사 휴대폰은 윈도를 벗어나면 먹통이 된다. 비트핌과 같은 서드파티 유틸리티 중 국내 휴대폰을 제대로 동기화시킬 수 있는 프로그램은 없다. 그나마 윈도 모바일을 탑재한 스마트폰은 다른 운영체제에서 동기화가 된다. 그리고 노키아 6210 역시 리눅스에서 동기화를 지원한다. 리눅스 사용자라면 놓치면 안 된다.

우리가 사용할 도구는 MultiSync이다. 첫 페이지에서 눈여겨볼 항목은 SyncML 지원이다. 과거 SPH-W2100을 리눅스에서 사용하기 위해서 패킷 캡처를 해 본 결과 동기화 통신에는 SyncML을 쓰고 있는 것 같지만, 동기화 모드로 진입시키기까지 과정이나 어떤 식으로 SyncML을 주고받는가에 대해서는 전혀 문서화되지 않았다. 반면 해외 휴대폰들은 국내에 비하면 상황이 상당히 나아서 서드파티 도구로도 충분히 동기화시킬 수 있다.

이제 휴대폰을 동기화시키려면 MultiSync와 함께 각각 데스크톱 환경에 특화된 PIM(개인 정보 관리자) 프로그램을 설치해야 한다. KDE Kontact를 설치하면 전자 우편 프로그램 KMail, 주소록 프로그램 KAddressBook, 달력 프로그램 KOrganizer, 메모 프로그램 KNotes를 비롯한 KDE PIM 프로그램이 설치된다. MultiSync는 이 프로그램과 휴대폰 사이에서 데이터를 동기화시키는 역할을 담당한다.

나는 현재 데비안을 사용하고 있고, 어지간한 곳에서는 데비안이나 우분투가 크게 비슷하기 때문에 우분투 쪽의 가이드를 참고하였다. PIM 패키지를 설치했다면, MultiSync와 각종 플러그인, GUI 프로그램 패키지를 설치하면 된다. multisync-tools는 필수 패키지이고, opensync-plugin-syncml, libsyncml-tools는 휴대폰과 연결하기 위한 SyncML 플러그인이다. opensync-plugin-kdepim은 KDE PIM과 동기하기 위한 플러그인이다. GUI를 좋아한다면 multisync0.90 패키지를 같이 설치해 주자.

모든 패키지 설치가 끝났다면 msynctool --listplugins를 실행시켜 설치 상태를 확인하자. 설치가 제대로 되었다면 SyncML, KDE PIM 플러그인이 있다고 나타난다. 그 다음에는 휴대폰을 등록해야 한다. 상세한 설명은 가이드에 나와 있으므로, 여기서는 개요만 다루겠다. 우선 동기화 그룹을 설정한다. 동기화 그룹 안에는 무엇과 무엇을 동기화시킬지를 등록하면 된다. 새 동기화 그룹을 만든 다음, KDE PIM과 SyncML을 구성원으로 등록한다. 그 다음 SyncML 쪽을 설정한다. USB나 블루투스 둘 다 지원하므로 취향에 따라서 선택하면 된다.

8월 28일 내용 추가: 굳이 CLI 상에서 동기화 설정을 할 필요가 없다. 아래의 GUI 프로그램 multisync0.90을 처음 실행시키면 빈 창이 뜬다. 위에 있는 '추가'를 눌러서 동기화 그룹의 이름을 지어준 다음, 그룹 추가 후 '편집'을 누른다. 어떤 동기화 구성요소를 추가할 지 물어보는데, SyncML OBEX Client와 KDE Desktop을 추가시켜주면 된다. KDE Desktop 쪽은 설정할 필요가 없지만, SyncML OBEX 클라이언트는 수정해 줘야 한다. 편집을 누른 다음 SyncML OBEX Client 쪽에서 identifier를 PC Suite로, USB 연결을 사용한다면 인터페이스의 숫자를 2에서 5로 바꿔 주면 된다. 대신 블루투스 연결을 사용한다면 휴대폰의 블루투스 MAC 주소를 지정해 줘야 한다. *#2820#(*#bta_#)을 누르면 블루투스 주소가 뜬다.

여기까지 과정을 잘 따라왔다면 명령행으로 동기화하거나 앞서 설치한 multisync0.90 GUI 도구를 실행시켜서 동기화하면 된다. GUI는 상당히 간단해서, 휴대폰을 연결한 다음 '새로 고침'만 누르면 동기화가 시작된다. 참 쉽죠?

multisync GUI 도구

multisync GUI 도구

상황에 따라서 오류 메시지를 내고 동기화가 끝날 수도 있지만, 대개의 경우 오류 메시지가 떴음에도 불구하고 성공한다. 동기화가 끝난 후 PIM 프로그램을 실행시켜 보면 정보가 업데이트되었음을 확인할 수 있다. 아래는 설정을 모두 완료한 다음 노키아 6210과 컴퓨터를 동기화시키는 장면이다.

동기화가 끝났으면 KAddressBook을 실행시켜서 전화번호를 확인해 보자. 처음에는 아무것도 입력하지 않았고, 동기화한 이후 휴대폰의 연락처가 모두 컴퓨터로 입력되었다. 아직까지 KDE PIM 쪽은 많이 사용해 보지 않아서 번역 상태가 좋은 편은 아니지만 시간과 노력이 해결해 줄 문제이다. 또는 번역 파일을 보내 주면 얼마든지 커밋해 줄 수 있다. KAddressBook을 사용해서 얼마든지 연락처 정보를 편집할 수도 있고, 적당한 프로그램만 깔려 있으면 휴대폰에 손 안 대고 전화를 걸거나 문자를 보낼 수도 있다.

KAddressBook으로 본 전화번호부

KAddressBook으로 본 전화번호부

리눅스를 쓴다면 당장 노키아 6210을 사서 오픈소스 PIM 도구의 강력함을 직접 체험해 보기 바란다.

2009/08/26 14:45 2009/08/26 14:45

Response: No Trackback, 2 Comments

노키아 N810으로 싸이월드 미니 즐기기

Posted at 2009/04/27 11:29 / Modified at 2009/04/27 20:59 by peremen.

사실 노키아 N810에 내장된 브라우저는 충분히 강력하다. 한 박자 쉬는 것만 감수할 수 있으면 어지간한 큰 사이트도 잘 들어가진다. 해상도도 800x480으로 꽤나 높기 때문에, 그냥 PDA용 사이트에 들어가면, 화면을 돌리지 않는 한 가로가 텅 비는 사태가 발생한다. 디자인이 잘 되어서 가로 800픽셀도 문제없이 소화해낸다면 이야기가 달라지지만. 그래서 이놈으로 인터넷을 할 때에는 모바일 사이트를 쓰는 게 불편하다. 기능 제약도 있고 모양이 좋지 않아서이다.

그런데 싸이월드 미니는 아닌 것 같다. 애시당초 이게 나온 이유가 옴니아 때문이다. 옴니아의 액정 해상도도 800x480이기 때문에 잘리거나 남는 공간 없이 잘 보인다. 게다가 이걸 만들면서 기존에 쩡했던 PDA용 스윙 싸이월드 페이지를 없애버려서 별 수 없이 새로운 싸이월드 미니를 써야 한다. 옴니아 특화 서비스랍시고 아무 브라우저나 접속하면 츤츤댄다. 그냥 브라우저로 싸이월드 미니를 들어가면 이런 말이 뜬다

기본 MicroB로 싸이월드 미니 접속시 화면.

기본 MicroB로 싸이월드 미니 접속시 화면.

문제는 저기서 지원 단말기를 눌러도 옴니아밖에 없다. 하여간 기존 스윙 싸이월드 사용자는 어쩌라고. 스마트폰뿐만 아니라 넷북 또한 가로 해상도 제한이 있어서 저 서비스를 사용하는 게 나을수도 있다. 하여간 저 상황에서 제대로 된 페이지를 보려면 훼이크를 써야 한다. 다행히도 저장소만 잘 추가해 주면 훼이크를 쓸 준비는 끝난다. 이미 User Agent Switcher가 있다. 링크를 따라 가면 원클릭으로 설치할 수 있는 방법이 있으며, MicroB를 두 번 껐다 켜지 않으면 낚일 수도 있다.

User Agent Switcher 설치 후.

User Agent Switcher 설치 후.

아래 사진은 User Agent Switcher가 제대로 설치되었을 때 패키지 목록에 뜨는 화면이다. 하여간 이걸 설치하고 브라우저를 두 번 껐다 켜면, 별다르게 추가되는 메뉴가 없어서 낚일 수도 있다. 다른 MicroB용 확장 기능이 그렇듯이 얘도 별도의 메뉴를 추가하지 않는다. 따라서 암호같은 설정 페이지 URL(chrome://useragentswitcher/content/config.html)을 직접 입력해야 한다. 자주 사용한다면 저걸 책갈피에 추가하는 게 좋다.

한술 더 떠서 새 사용자 에이전트 입력도 상당히 불편하다. Add를 누르면 사용자 에이전트를 구성하는 각각 구성 요소를 순서대로 물어본다. 되돌아갈 수도 없어서 문제다. 한 번 틀렸으면 삽되므로 처음부터 제대로 입력할 필요가 있다. 이 블로그에 따르면 싸이월드 미니를 띄워 주는 사용자 에이전트가 두 종류 있다고 한다. 하나는 옴니아에 내장된 Pocket IE, 다른 하나는 Opera이다. 둘 중 아무거나 써도 된다고 하니 여기서는 Opera의 사용자 에이전트를 입력시켜 보겠다.

하여간 저 창에서 Add를 누르면 사용자 에이전트 설명, 서버로 전달할 문자열, 프로그램 이름, 버전, 플랫폼, 제조사, 제조사 하위 설명 등을 순서대로 물어온다. 오페라의 사용자 에이전트를 입력하기 위해서 나는 이 과정을 거쳤다.

  • Description: Opera 9.5 (TMONIA)
  • User Agent: Opera/9.5 (Windows NT 5.1; SKT; U; en)
  • App Name: Opera
  • App Version: 9.5 (Windows NT 5.1; SKT; U; en)
  • 나머지: 비움

복사해서 붙여넣기가 상당히 압박스러우므로 이 순서와 문자열을 웬만하면 기억해 둬야 한다. Pocket IE 정보를 추가하는 것도 비슷하게 하면 된다. 힘겨운 과정을 거쳐서 입력을 다 시키면 이렇게 된다.

엄청나게 압박스러운 사용자 에이전트 입력 장면.

엄청나게 압박스러운 사용자 에이전트 입력 장면.

방금 추가한 사용자 에이전트를 선택한 다음, Choose Selected User Agent를 누른 다음 다시 싸이월드 미니로 들어간다. 이제 제대로 된 페이지가 뜬다.

노키아 N810으로 본 싸이월드 미니.

노키아 N810으로 본 싸이월드 미니.

가로 해상도가 800이 나와 줘서 스크롤의 압박 없이 볼 수 있다. 미니홈피나 클럽도 이 상태에서 잘 된다. 아무튼 SK컴즈에서 싸이월드 미니를 옴니아 전용으로만 쓰지 말고 다른 장치에서 접속할 수 있도록 바꿔 두길 바랄 뿐이다.

2009/04/27 11:29 2009/04/27 11:29

Response: No Trackback, 2 Comments

델 노트북 태그의 정체

Posted at 2009/03/13 17:08 / Modified at 2009/03/13 17:08 by peremen.

델 컴퓨터의 바이오스에 들어가 보면 사용자가 수정할 수 없는 태그가 두 개 있다. 하나는 Asset Tag, 다른 하나는 Ownership 태그이다. 델이 기본적으로 제공하는 프로그램만으로는 이것을 편집할 수 없기 때문에 이 태그에 신경을 쓰는 사람은 적을 것이다. 많은 사람들의 생각과는 다르게 이 태그들은 간단한 프로그램만으로도 편집할 수 있다.

델 바이오스 화면의 태그

델 바이오스 화면의 태그

데비안에는 libsmbios-bin이라는 패키지가 있다. 이름이 말하는 것과는 달리 이 패키지는 사실상 델 전용 패키지이다. 내용물을 보아도 델 컴퓨터가 아니면 실행시킬 필요가 전혀 없는 프로그램만 들어 있다. 가령 dellBiosUpdate 같은 프로그램은 델이 아니면 실행시켜 봤자 헛수고일 것이고, serviceTag 같은 프로그램은 델이 아니면 제대로 된 값을 돌려 주지 않을 것이다. 반면 델 사용자라면 이 패키지의 내용물이 꽤 유용하다.

libsmbios-bin은 데비안이나 우분투라면 apt-get install만으로도 쉽게 깔 수 있고, 기타 다른 배포판은 잘 모르겠다. 이 패키지를 설치하면 앞서 이야기했던 델 전용 프로그램이 깔린다. 대부분 프로그램의 이름은 제어하는 장치 이름으로 되어 있기 때문에 한 번씩 실행시켜 보면 알 수 있고, 도움말이 나오지 않으면 -h 옵션을 붙이면 된다. 여기에서는 그 중 assetTag와 propertyTag에 대해서 알아 볼 것이다.

델의 Asset Tag는 기업을 목적으로 만들어졌다. 한 회사에서 다량의 PC를 구입할 때 각각 PC별로 태그를 붙여서 구분하기 위한 것이고, 바이오스 화면에만 표시된다. 자세한 정보는 여기에서 확인할 수 있다. 때때로 윈도 무인 설치 시 이 태그에서 컴퓨터 이름을 만들어내기도 한다. 개인 사용자라면 이 태그를 설정할 필요는 없겠지만, 컴퓨터가 여러 대 있다면 유용할지도 모른다. 이 태그는 최고 10자까지 설정할 수 있다.

Ownership Tag는 이와는 달리, 부팅 화면 및 바이오스 화면에 직접적으로 표시된다. 컴퓨터의 사용자가 누구인자를 알려 주는 태그이므로 설정해 두면 이름을 적는 것만큼 유용할 것이다. 어지간한 사용자들은 바꿀 수 있는 방법을 모르기 때문에 도난 방지에도 눈꼽만큼은 유용할 것이다. 최고 80자까지 설정할 수 있다. 아래 화면은 Ownership Tag에 설정해 둔 이름이 표시되는 화면이다.

POST 화면에 뜨는 이름

POST 화면에 뜨는 이름

부팅 암호 화면에 뜨는 이름

부팅 암호 화면에 뜨는 이름

아무튼 이 두 태그를 변경하려면 먼저 dcdbas 커널 모듈을 올려야 한다. 이미 이 모듈은 여러 배포판에 포함되어 있으므로, 간단하게 modprobe 명령을 실행시키면 된다. 그 다음 assetTag와 propertyTag 명령을 실행시키면 현재 설정되어 있는 값을 볼 수 있다. 커널 모듈이 올라가 있지 않으면 오류 메시지가 표시된다. 권한 오류가 나타나면 루트로 실행하면 된다.

값을 설정하려면, assetTag -s (설정할 값) 또는 propertyTag -s (설정할 값)을 입력하면 잠깐 멈칫했다가 값이 설정되었다는 메시지가 뜬다. 바이오스에 암호가 걸려 있다면 --password (바이오스 암호)를 추가해야 성공한다. 암호를 평문으로 입력해야 하기 때문에, export HISTSIZE=0을 먼저 입력한 다음 명령행으로 암호를 입력하는 것을 추천한다.

assetTag를 설정하면 바이오스 화면에만, propertyTag를 설정하면 POST 및 부팅 암호 입력 화면에 다 표시된다. 이 두 태그 항목이 바이오스에 있는 모델은 대부분 지원한다. 평소 어떻게 변경하는지 알 수 없었던 태그를 변경해 두면 소유권을 더 확실히 표시해 둘 수 있을 것이다.

2009/03/13 17:08 2009/03/13 17:08

Response: No Trackback, No Comment