Tạo biểu tượng thời tiết trên desktop với Geektool 3 .

zhuming88
3/4/2011 17:44Phản hồi: 15
Tạo biểu tượng thời tiết trên desktop với Geektool 3 .
Các bạn thân mến, mình có xem qua trong bài tùy biến desktop của Mac bằng Geektool nhưng ko có hướng dẫn cụ thể về phần hiển thị thời tiết và điều kiện thời tiết bằng Geektool nên mình mạo muội viết bài hướng dẫn này, hi vọng có thể giúp các bạn newbie mần được một cái icon thời tiết trên desktop cho nó oách.

Đầu tiên tải Geektool về tại đây và tiến hành cài đặt:

http://update.tynsoe.org/geektool3/Public/GeekTool%203.0.dmg

[​IMG]

Sau khi cài đặt vào System Preferences , mở GT lên:


[​IMG]

[​IMG]

Sau khi mở GT lên, việc đầu tiên là bạn sẽ tạo một shell Geeklet để tải ảnh icon thời tiết về thư mục tạm có tên là “tmp”, sau đó bạn tiếp tục tạo một Geeklet ảnh của thời tiết để đặt lên desktop, ảnh này được tải từ thư mục “tmp” nói trên.

Tạo một shell Geeklet bằng cách kéo và thả một shell Geeklet
[​IMG] vào desktop. (Sau khi thả Geeklet vào desktop, bạn sẽ thấy hai cửa sổ, một cửa sổ hiển thị Geeklet và một cửa sổ properties của Geeklet đó, bất kỳ Geeklet nào cũng sẽ có 2 thành phần như thế).

[​IMG]

Tiếp đó bạn đặt tên cho Geeklet này (Ở đây mình đặt là Grab_ImgWeather) và dán đoạn script sau vào ô Command:

curl --silent "YOUR_WEATHER_URL" | grep "forecast-icon" | sed "s/.*background\\:url(\\'\\(.*\\)\\')\\;\\ _background.*/\\1/" | xargs curl --silent -o /tmp/tên_file_icon.png

[​IMG]

Quảng cáo



Trong đoạn script trên, bạn chỉ cần lưu ý 2 phần in đậm :
- YOUR_WEATHER_URL được thay bằng link trang thời tiết thành phố bạn muốn xem trên yahoo weather.
- tên_file_icon.png đây là file icon thời tiết mà đoạn script tải về thư mục tạm. Tên của file này là do bạn đặt. Bạn có thể đặt tên tùy thích nhưng càng ngắn gọn và dễ nhớ càng tốt. Và bạn sẽ phải nhập chính xác tên file này vào Geeklet ảnh để hiển thị ảnh ra desktop.

Ví dụ cho các bạn tham khảo:

curl --silent "http://weather.yahoo.com/vietnam/ha-noi/hanoi-1236594/" | grep "forecast-icon" | sed "s/.*background\\:url(\\'\\(.*\\)\\')\\;\\ _background.*/\\1/" | xargs curl --silent -o /tmp/HN_Icon.png

Về cách tìm link thời tiết của thành phố mà bạn muốn xem, bạn trực tiếp vào trang http://weather.yahoo.com/ , chọn khu vực , chọn quốc gia, chọn tỉnh, chọn thành phố và copy đường link dán vào phần YOUR_WEATHER_URL.

[​IMG]

Quảng cáo



Sau khi nhập script và đặt tên cho Geeklet, bạn sẽ nhập chu kỳ refresh của đoạn script này để tải được biểu tượng thời tiết mới nhất. Chúng ta nhập chu kỳ là 5 phút (300 giây) trong ô “Refresh every [ ] s”.

Tiếp theo chúng ta sẽ đưa icon thời tiết ra ngoài desktop bằng một Geeklet ảnh.
Cách tạo một Geeklet ảnh rất đơn giản, bạn chỉ việc kéo biểu tượng Image [​IMG] thả vào desktop. Sau đó ở mục Command bạn sẽ nhập đường dẫn đến biểu tượng thời tiết như sau:

file:///tmp/HN_Icon.png

Lưu ý là bạn phải nhập chu kỳ refresh của Geeklet hình ảnh này để được cập nhập tình trạng thời tiết nhé. Ở đây mình chọn chu kỳ 5 phút (300 giây), chu kỳ càng ngắn thì CPU sẽ càng hoạt động nhiều dẫn đến hao pin, các bạn cũng nên lưu ý vấn đề này.

Biểu tượng thời tiết này sẽ thay đổi dựa theo tốc độ thay đổi trên trang yahoo weather nên đôi khi cập nhật hơi chậm.

Sau khi thực hiện xong 2 Geeklet trên bạn đã hoàn thành thao tác hiển thị biểu tượng thời tiết của yahoo trên desktop. Tuy nhiên để “pro” hơn nữa chúng ta sẽ thêm một Geeklet hiển thị trạng thái thời tiết và nhiệt độ (bằng shell Geeklet), bạn lại tạo một shell Geeklet và đưa đoạn script sau vào ô Command:

curl --silent "http://xml.weather.yahoo.com/forecastrss?p=YOUR_AREA_CODE&u=c" | grep -E '(Current Conditions:|C<BR)' | sed -e 's/Current Conditions://' -e 's/<br \/>//' -e 's/<b>//' -e 's/<\/b>//' -e 's/<BR \/>//' -e 's/<description>//' -e 's/<\/description>//'

Bạn lưu ý trong đoạn script trên, đoạn text YOUR_AREA_CODE sẽ được thay bằng đoạn code dùng trong RSS feed của thành phố bạn muốn hiển thị điều kiện thời tiết và nhiệt độ. Cách tìm đoạn code này cũng rất đơn giản, sau khi mở trang thời tiết của thành phố bạn muốn xem ở yahoo weather, bạn sẽ nhấn vào nút RSS để được dẫn đến link RSS feed thời tiết của thành phố đó.

[​IMG]

[​IMG]

Tiếp theo bạn chỉnh font và màu text theo ý thích.

[​IMG]

Sau khi hoàn tất các thao tác trên, desktop của bạn sẽ hiển thị icon thời tiết và điều kiện, nhiệt độ của thành phố bạn muốn xem thời tiết. NHƯNG ... nếu người khác nhìn vào thì sẽ không biết đó là thời tiết của thành phố nào (kỳ cục nhỉ). Do đó bạn sẽ khắc phục tình trạng này bằng cách hiển thị tên của thành phố đó lên desktop của mình với một shell Geeklet và đoạn script cực đơn giản. Bạn nhập vào ô Command nội dung:

echo “Ha Noi”

Đặt tên cho Geeklet này là gì tùy bạn, ở đây mình đặt là HN_Label. Chỉnh font và màu chữ, kéo và thả dòng text Ha Noi gần biểu tượng thời tiết. Thế là coi như xong. Bạn có thể đóng Geektool và thưởng thức thời tiết Ha Noi trên desktop của mình.

[​IMG]

Bạn có thể thực hiện lại các thao tác trên cho một thành phố khác để đặt lên desktop của mình, tuy nhiên bạn ko nên đặt nhiều hơn 2 thành phố lên desktop vì như thế sẽ khá hao tốn tài nguyên hệ thống.

Chúc các bạn thành công.
15 bình luận
Chia sẻ

Xu hướng

hay fet nhi? thu lam xem no ra sao !:rolleyes:
haiboy2091
ĐẠI BÀNG
13 năm
" tên_file_icon.png đây là file icon thời tiết mà đoạn script tải về thư mục tạm. Tên của file này là do bạn đặt. Bạn có thể đặt tên tùy thích nhưng càng ngắn gọn và dễ nhớ càng tốt. Và bạn sẽ phải nhập chính xác tên file này vào Geeklet ảnh để hiển thị ảnh ra desktop."
Mình Vẫn chưa hiểu đoạn này lắm. làm cách nào để tạo đc file icon ....
thanhtung08
ĐẠI BÀNG
13 năm
Xin trả lời thay chủ topic, nó được tạo ra nhờ vào cái shell đầu tiên qua cmd:

curl --silent "YOUR_WEATHER_URL" | grep "forecast-icon" | sed "s/.*background\\:url(\\'\\(.*\\)\\')\\;\\ _background.*/\\1/" | xargs curl --silent -o /tmp/tên_file_icon.png
khó hiểu quá.........làm rồi nhưng lung tung hết
mình k tạo đc một shell trên mac 10.7.2
cuong7107
ĐẠI BÀNG
12 năm
Em cũng bị như bác , có ai biết giải quyết giúp em với
cuong7107
ĐẠI BÀNG
12 năm
em làm được rồi các bác ah, cám ơn bác chủ
BƯỚC 1: SHELL (nó sẽ không hiện thị gì hết , cứ làm tiếp bước 2)
curl --silent "http://weather.yahoo.com/vietnam/phu-tho/phu-tho-1252556/?unit=c" | grep "forecast-icon" | sed "s/.*background\\:url(\\'\\(.*\\)\\')\\;\\ background.*/\\1/" | xargs curl --silent -o /tmp/pt_Icon.png\

BƯỚC 2: SHELL
echo && curl --silent "http://weather.yahooapis.com/forecastrss?p=VMXX0017&u=c" | grep -e "Forecast:" -A 2 | tail -n 2 | sed -e 's/<br \/>//' -e 's/<BR \/>//' | sed "s/\(.*\)\.\ \(.*\)/\1\?\2/" | tr "?" "\n" | sed "s/High\:\ \(.*\)\ Low\:\ \(.*\)/\?High\: \1\ Low\:\ \2/" | sed "s/\?\(.*\)/\\1/"

BƯỚC 3: SHELL
curl --silent "http://weather.yahooapis.com/forecastrss?p=VMXX0017&u=c" | grep -E '(Current Conditions:|C<BR)' | sed -e 's/Current Conditions://' -e 's/<br \/>//' -e 's/<b>//' -e 's/<\/b>//' -e 's/<BR \/>//' -e 's/<description>//' -e 's/<\/description>//'

BƯỚC 4: IMAGE ( giống B1)
file:///tmp/pt_Icon.png


BƯỚC 5: SHELL
echo “tuyen quang
hiroshima
ĐẠI BÀNG
12 năm
@cuong7107 Bác này có khả năng sư phạm, còn bác zhuming88 có chuyên môn mà ko có khả năng sư phạm HEHR, dù sao cũng thank 2 bác có bài viết hay.
laobeomac
ĐẠI BÀNG
12 năm
Lằng nhằng thật...
ơ thế muốn làm đồng hồ bằng cái này thì sao hả bác
@KunKun.idesu Đồng hồ Digital thì được. Chứ Analog thì chưa thấy bro nào quất được.
[​IMG]

Để cái thời tiết không có forecast mấy ngày tới nên cũng không thích lắm. Thông tin cũng không chuẩn nếu mình chỉ ở vùng lân cận. Bình thường hoá thì cái Desktop nhìn nó vẫn có chất riêng. Khoe của tí nhé các bác. :p
cái này nó k tự update city khi mình ở chỗ khác đc nhỉ? 😔
@conchimnon01
Bên Macrumors có một bạn dùng Python để code cho nó tự grep location theo địa chỉ IP đó. Nhưng cũng không có forecast của các ngày lân cận. Còn mấy bạn dùng forecast của 3 hoặc 5 ngày lân cận thì đều dùng Shell trực tiếp. Mới đầu mình cũng xài nhưng cái yahoo weather chán lắm, độ chuẩn xác không được như mong muốn. Còn nếu là muốn trang trí thì nhiều kiểu geeklets phối với wallpaper đẹp hơn.
Sao em làm giống bác chủ r` mà nó vẫn ko hiện ra cái biểu tượng icon thời tiết nhỉ :mad: ko biết bị gì luôn 😔

Xu hướng

Bài mới









  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2024 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: Số 70 Bà Huyện Thanh Quan, P. Võ Thị Sáu, Quận 3, TPHCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019