Небольшая инструкция как просто и легко получить такой вывод погоды
Отредактирована 30.11.2009 (все изменения выделены
жирным шрифтом)
ПРЕДУПРЕЖДЕНИЕ!1. Погода берется с аэропортов.
2. Работает только с conky 1.7.2 т.к. в ней имеется возможность работать со скриптами написанными на языке LUA. Если OC UBUNTU-9.10 и установлена conky-all, то скорее всего проблем не будет. Проверить версию CONKY можно введя в терминале команду
3. Выводит значения скорости ветра и давления в привычных м/сек и мм ртутного столбаconky -v
Если ответ будет такой
boris@olgmen:~$ conky -v
Conky 1.7.2 compiled Fri Oct 23 15:55:35 UTC 2009 for Linux 2.6.24-23-server (x86_64)
Compiled in features:
System config file: /etc/conky/conky.conf
Package library path: /usr/lib/conky
X11:
* Xdamage extension
* XDBE (double buffer extension)
* Xft
Music detection:
* MPD
* MOC
General:
* math
* hddtemp
* portmon
* Curl
* RSS
* Weather (METAR)
* Weather (XOAP)
* wireless
* support for IBM/Lenovo notebooks
* nvidia
* eve-online
* config-output
* Imlib2
* ALSA mixer support
* apcupsd
* iostats
* Lua
Lua bindings:
* Cairo
* Imlib2
boris@olgmen:~$
то тогда начинаем или сначала обновитесь до версии 1.7.2
Заходим на сайт
http://weather.noaa.gov
В International Weather Conditions выбираем Russia жмем GO

на странице Russia жмем Select a location и в выпадающем списке находим свой город и жмем GO

в выпадающем списке находим свой город и жмем GO

на странице Current Weather Conditions

Нас интересуют только буквы перед координатами, для Санкт-Петербурга - ULLI, записываем, или запоминаем.
Иконки погоды можно скачать с Интернета, выбор большой, но иконки должны быть .png и их необходимо переименовать согласно списка
"0": _(u"Tornado"),
"1": _(u"Tropical Storm"),
"2": _(u"Hurricane"),
"3": _(u"Severe Thunderstorms"),
"4": _(u"Thunderstorms"),
"5": _(u"Mixed Rain and Snow"),
"6": _(u"Mixed Rain and Sleet"),
"7": _(u"Mixed Precipitation"),
"8": _(u"Freezing Drizzle"),
"9": _(u"Drizzle"),
"10": _(u"Freezing Rain"),
"11": _(u"Light Rain"),
"12": _(u"Rain"),
"13": _(u"Snow Flurries"),
"14": _(u"Light Snow Showers"),
"15": _(u"Drifting Snow"),
"16": _(u"Snow"),
"17": _(u"Hail"),
"18": _(u"Sleet"),
"19": _(u"Dust"),
"20": _(u"Fog"),
"21": _(u"Haze"),
"22": _(u"Smoke"),
"23": _(u"Blustery"),
"24": _(u"Windy"),
"25": _(u"N/A"),
"26": _(u"Cloudy"),
"27": _(u"Mostly Cloudy"),
"28": _(u"Mostly Cloudy"),
"29": _(u"Partly Cloudy"),
"30": _(u"Partly Cloudy"),
"31": _(u"Clear"),
"32": _(u"Clear"),
"33": _(u"Fair"),
"34": _(u"Fair"),
"35": _(u"Mixed Rain and Hail"),
"36": _(u"Hot"),
"37": _(u"Isolated Thunderstorms"),
"38": _(u"Scattered Thunderstorms"),
"39": _(u"Scattered Showers"),
"40": _(u"Heavy Rain"),
"41": _(u"Scattered Snow Showers"),
"42": _(u"Heavy Snow"),
"43": _(u"Heavy Snow"),
"44": _(u"N/A"),
"45": _(u"Scattered Showers"),
"46": _(u"Snow Showers"),
"47": _(u"Isolated Thunderstorms"),
"na": _(u"N/A"),
"-": _(u"N/A")
Копируем скрипт
вывода на экран изображения погоды, также как и папку с иконками, в любое место на ваше усмотрение и называем его weather_icons.lua
--[[
Скрипт weather_icons.lua
Для работы требуется CONKY версии не ниже 1.7.2
В строках
type = "${image /home/boris/weather/weather1/" .. type .. ".png -p 10,100 -f 1800}"
type = "${image /home/boris/weather/weather1/null.png -p 10,100 -f 1800}"
необходимо заменить путь к папке с иконками с /home/boris/weather/weather1 на свой
Значения -p 10,100 в обеих строках отвечают за положение выводимых иконок, первая цифра - расстояние от левой границы conky, вторая от верхней границы.
]]
function conky_show_icon(icao)
local type
type = conky_parse("${weather http://weather.noaa.gov/pub/data/observations/metar/stations/ " .. icao .. " cloud_cover}")
if type ~= "" then
type = "${image /home/boris/weather/weather1/" .. type .. ".png -p 10,100 -f 1800}"
else
type = "${image /home/boris/weather/weather1/null.png -p 10,100 -f 1800}"
end
return type
end
Копируем скрипт перевода скорости ветра из км/час в м/сек--[[
wind_speed.lua by Boris Krinkel (olgmen) 2009 krinkel@rambler.ru
Скрипт написан на языке LUA. Для работы требуется CONKY версии не ниже 1.7.2
Переводит данные о скорости ветра полученные с http://weather.noaa.gov из км/час в м/сек
Вызов этого скрипта в conky, при условии, что скрипт расположен в домашней директории
До строки TEXT
lua_load ~/wind_speed.lua
После строки TEXT
${lua_parse conky_wind_speed ULLI}
Код города Санкт-Петербург ULLI необходимо сменить на код своего города.
]]
function conky_wind_speed(icao)
local a
a = conky_parse("${weather http://weather.noaa.gov/pub/data/observations/metar/stations/ " .. icao .. " wind_speed}")/3.6
if a ~= "" then a = math.ceil(a)
print(a)
else
print()
end
return a
end
Копирыем скрипт перевода значения давления--[[
pressure.lua by Boris Krinkel (olgmen) 2009 krinkel@rambler.ru
Скрипт написан на языке LUA. Для работы требуется CONKY версии не ниже 1.7.2
Переводит данные о давлении полученные с http://weather.noaa.gov из мбар в мм.ртутного столба
Вызов этого скрипта в conky, при условии, что скрипт расположен в домашней директории
До строки TEXT
lua_load ~/pressure.lua
После строки TEXT
${lua_parse conky_pressure ULLI}
Код города Санкт-Петербург ULLI необходимо сменить на код своего города.
]]
function conky_pressure(icao)
local a
a = conky_parse("${weather http://weather.noaa.gov/pub/data/observations/metar/stations/ " .. icao .. " pressure}")*0.75
if a ~= "" then a = math.ceil(a)
print(a)
else
print()
end
return a
end
В .conkyrc до слова TEXT помещаем
lua_load ~/weather_icons.lua # Здесь скрипт помещен в домашнюю директорию, при необходимости смените путь к скрипту
lua_load ~/wind_speed.lua
lua_load ~/pressure.lua
После слова TEXT помещаем
${lua_parse conky_show_icon ULLI}
Заменив в строке
ULLI на код своего города
месторасположение этой строки не зависит от расположения выводимого изображения, т.к. координаты вывода задаются в скрипте.
Следующие строки выводят температуру, направление и скорость ветра, давление и влажность воздуха.
${font Zekton:size=20}${weather http://weather.noaa.gov/pub/data/observations/metar/stations/ ULLI temperature}°C$font
Ветер: ${weather http://weather.noaa.gov/pub/data/observations/metar/stations/ ULLI wind_dir} ${lua_parse conky_wind_speed ULLI} м/сек
Давление: ${lua_parse conky_pressure ULLI}
Влажность: ${weather http://weather.noaa.gov/pub/data/observations/metar/stations/ ULLI humidity} %
Для вывода значения температуры я использовал шрифт Zekton, для остального выводимого текста использовал установленный по умолчанию шрифт Liberation Sans:size=8
К сожалению папку с готовыми иконками погоды выложить на форум не могу из-за большого объема, в сжатом состоянии 1,3 MB,
но могу скинуть на email.