태그 : Dock

Avant-Window-Navigator... Weather Applet


 Compiz 위에서 동작하는 Dock 프로그램으로 Avant-Window-Navigator(AWN)이라는 프로그램이 있다. 이 프로그램에 대해서는 이전에 소개한 적이 있으니, 생략하고 오늘은 그 안에 있는 애플릿(Applet) 중 하나 인 날씨 애플릿(Weather Applet)의 버그에 대해서 얘기하고자 한다.

 위에 보이는 것이 바로 날씨 애플릿인데, 클릭할 경우 5일 간의 날씨 정보를 보여준다. 이 날씨 정보는 유명한 날씨 정보 사이트인 weather.com의 정보를 이용한다. 이 날씨 정보의 경우에는 버그라고 할 만한 것이 없다. 하지만 아래에 소개할  날씨 지도의 경우에 버그가 있다.


 위에 보이는 것이 바로 날씨 지도 보기(View Weather Map)인데, 한국의 서울(Seoul, South Korea)이라면 위와 같이 나와야 정상이겠지만 실제로 AWN을 설치 후 날씨 지도를 보면 엉뚱한 위치의 날씨 지도가 나오는 것을 볼 수 있다. 이것은 weather.com 사이트의 문제로, 한국의 위치 정보가 보여줄 날씨 지도에 잘 못 매칭되어있기 때문으로 보인다.

 사실 weather.com의 문제이므로 날씨 애플릿의 문제라고는 할 수 없을지 모르겠다. 개발자 역시 한국인이 아니다 보니 미처 이런 점은 확인하지 못했으리라 생각된다. 날씨 지도가 정상적으로 나오도록 하는 것은 크게 어려운 작업은 아니기에 포스팅을 몇달째 미루고 있다가, 혹시나 도움이 될까 싶어서 미루던 포스팅을 해본다.

 해결 방법은 날씨 지도를 받아오는 부분의 소스를 직접 고치는 방법인데, AWN 플러그인의 대부분은 파이썬(python)으로 짜여져 있기에 텍스트 에디터로 소스를 열어서 수정만 해주면 그 즉시 적용이 된다. 컴파일 같은 과정이 필요없다. 물론 AWN은 다시 실행 해 줘야 한다.

수정해 주어야 할 파일은 다음과 같다.
/usr/lib/awn/applets/weather/weather.py
위의 파일의 424번째 줄을 보면 아래와 같을 것이다.
424            usock = urllib.urlopen('http://www.weather.com/outlook/travel/businesstraveler/map/' + self.location_code)
위의 한줄을 아래의 4줄로 바꾸어 주면 된다. 즉, 한국을 선택하면 지도 정보를 받아 올 때, 일본 동경(Tokyo, Japan)의 위치를 기준으로 지도를 받아온다. 한국 이외의 지역을 선택하면 기존과 같은 방법으로 처리하도록 수정해 주었다.
424            if(self.location_code[0:4] == 'KSXX'):
425                usock = urllib.urlopen('http://www.weather.com/outlook/travel/businesstraveler/map/JAXX0085')
426            else:
427               usock = urllib.urlopen('http://www.weather.com/outlook/travel/businesstraveler/map/' + self.location_code)
파이썬(python)은 들여쓰기와 같은 문법에 매우 민감함으로 다른 프로그래밍 언어와는 달리 이것이 지켜지지 않을 때에는 에러가 나며 실행이 되지 않는다. 그래서 편의상 내가 수정한 파일도 첨부해둔다.

수정된 weather.py 파일

by sakuragi | 2008/03/24 02:10 | :: C space :: 컴퓨터 | 트랙백 | 덧글(5)

데스크탑 악세사리... gDesklets

 발단은 무엇이였을까? 어째든 그동안 남의 스크린 샷을 보면서 설치해야 겠다고 생각만 했었던 gDesklets 를 설치했다. 이전에 aDesklets 를 설치했었는데.. 이 녀석은 Gnome + compiz 조합에서 약간 문제가 있어서 깔아놓고 쓰지 않았었다. 하지만 gDesklets는 사용에 큰 문제가 없었다.

 작은 문제라면 compiz 플러그인 중에서 최상위 창보다 아래에 있는 창은 창이 어두워지고, 투명도가 증가하는 Window focus leaves a trail을 쓸 경우 gDesklets의 desklet들이 영향을 받아 약간 거슬렸다. 일단은 compiz의 trail focus 플러그인을 꺼두고 있다.

 아! gDesklets가 뭔지 얘기를 안했다. gDesklets는 데스크탑(시스템)을 꾸며주는 악세사리라고 할 수 있다. 날씨, 메일, 시간, 시스템 모니터링과 같은 정보는 좀 더 보기 좋게 화면에 보여주는 역활을 한다.
compiz의 효과로 desklet들의 경계가 명확히 구분된다.

 gDesklets 설치는 특별한 것이 없다. 시냅틱 꾸러미 관리자(혹은 apt-get)를 열어서 gdesklets, gdesklets-data을 설치해주면 프로그램 메뉴(보조프로그램)에 추가가 된다. 열어서 넣고 싶은 desklet를 더블클릭하면 바탕화면에 가져다 놓을 수 있다.

 여기서 또 하나의 문제가 있었는데, 기본적으로 Dapper에 들어 있는 gdesklets의 날씨를 보여주는 desklet들이 날씨를 받아 오지 못했다. 검색을 해보니, 현재 Dapper에 있는 날씨관련 desklet은 Yahoo에서 받아오는데 Yahoo쪽에서 더 이상 날씨를 받아올 수 없도록 된 모양이다. 이 문제는 iWeather라는 desklet을 직접 받는 것으로 해결하는 방법이 있었다. iWeather은 weather.com에서 날씨 정보를 받아온다.

http://www.ubuntuforums.org/showthread.php?t=215769

 위 링크의 글을 보다 보면 거의 마지막 쯤에 tarball 을 받으라는 글이 있다. 그 tarball을 받은 후에 ~/.gdesklets로 복사한 후에 tarball을 풀어주면 된다.

 혹시나 후에 필요할지 몰라서 iWeather파일을 첨부한다.
   iWeather_0.1-ayo.tar.gz
    cd ~/.gdesklets
    tar xzvf iWeather_0.1-ayo.tar.gz
그후 weather.com에 접속해서 자신이 사는 도시를 찾으면 주소창에 아래와 같은 주소가 있을 것이다. 이중에 /local/ 뒤에 있는 뭔가 코드스러워 보이는 것이 자신의 지역코드이다. 이 코드를 iWeather의 코드를 넣는 부분에 넣어주면 된다.
   http://www.weather.com/outlook/travel/businesstraveler/local/KSXX0050?from=search_city

내가 설치한 desklet은 starterbar, psi-pager, iWeater, clock, ehpemeride 총 5개이다.

이글루스 가든 - 리눅스 갖고 놀기

이어지는 내용이렇게 gDesklets를 설치하고 설정이 끝내면...

by sakuragi | 2006/09/17 00:18 | :: C space :: 컴퓨터 | 트랙백 | 핑백(1) | 덧글(2)

◀ 이전 페이지          다음 페이지 ▶



:+: sakuragi's Recently Tracks :+: