evolution과 팜 한글로 싱크하기
KDE에서는 제대로 되던 싱크가 에볼루션과는 제대로 되지 않아서 한참 삽질을 했더니 약간의 보람이 있군요. 팜과 에볼루션(이하 에보)을 억지로 한글로 싱크시켰습니다.
환경:
gnome-2.7.4
evolution-1.4.6
gnome-pilot-2.0.10
pilot-link-0.11.8
젠투 기반
원인:
* 에보에서 제공하는 calendar/todo등의 conduit은 pilot-link의 libpisock.so 에 의존하고 있습니다. 에보에서는 내부적으로 utf-8만을 사용하는 것으로 보이고, 팜과 에보사이의 인코딩을 변환하기 위해서 libpisock.so의 convert_{To,From}PilotChar() 라는 함수를 사용합니다. 이때 libpisock.so에서는 내부적으로 palm의 charset이 무조건 CP1252인 것으로 가정합니다. 따라서 에보에서 제공하는 conduit에서 인코딩을 변환하면서 한글이 깨지는 현상이 발생합니다.
해결책:
일단 quick-and-dirty로 대강 해결하였습니다. 근본적인 해결책은 pilot-link쪽에 리포트를 해주는 것이지만, 다행히도 "CP1252"와 "EUC-KR"은 글자수가 같기 때문에 일단 쉽게 해결할 수 있습니다. /usr/lib/libpisock.so.xxx 중에서 진짜 파일을 찾아서 헥시 에디터로 CP1252를 EUC-KR로 변경하시면 됩니다. 윈도우 인코딩이기 때문에 CP949가 정확하지만 EUC-KR은 CP949의 subset이니 별 문제는 없으리라 생각합니다.
주의사항:
헥스 에디트를 하신 후, gnome-pilotd 를 restart해주셔야 합니다. 그이후에야 conduit들이 다시 로드되고 변경한 내용이 의미를 가지게 됩니다.
그외의 사항:
kpilot이나 jpilot같은 경우는 자체적으로 인코딩 컨버전을 제공하고 있습니다. 유독 gnome-pilot에서만 인코딩 컨버전이 되지 않기 때문에 발생하는 현상입니다.
잡담:
리눅스에서 아쉬운 딱 한가지가 아웃룩에 있는 일정 데이터였는데, 이제 전혀 걱정이 없어졌군요. 팜을 피벗삼아 버튼만 한번씩 눌러주면 양쪽에 있는 데이터들이 제대로 싱크가 되게 되었습니다. 행복한 리눅싱~ :-)
댓글 달기