На панель задач в GNOME можно добавить удобную фиговинку (подобные штуки называются апплетами) для просмотра текущей погоды. Точнее там даже два апплета: специальный для погоды и для часов, который также может показывать и погоду, оба входят в стандартный набор. Вот так это выглядит (на картинке погода настроена для двух разных городов - Новокузнецка и Красноярска; кстати, изначально выбрать второй возможности нет):
Оказалось, что не все города есть в списке, откуда происходит их выбор в настройках, есть даже не все центры субъектов Российской Федерации. Вообще погода для этих апплетов показывается не для городов, а только для аэропортов (ещё, к примеру, многие джаббер-боты работают так же), но в списке нет некоторых крупных городов как Томск, Красноярск, Магнитогорск, хотя у них есть свои аэропорты. Ещё есть такой косяк, что вроде как нет Нижнего Новгорода, но зато есть Стригино - а это и есть аэропорт Нижнего Новгорода, но ведь вместо Новосибирска ведь нет пункта "Толмачёво".
Однако, добавление недостающих городов, ну а заодно и исправление некорректных названий (как в случае с Нижним Новгородом, либо, допустим, в случае если тольяттинцу захочется, чтобы в апплете отображалось название именно его города,а изначально там есть только Самара - аэропорт-то общий), возможно в данном случае через правку конфигурационных файлов вручную.
В апплете "Сводка погоды" (версия 2.28.0) выбор производится в параметрах на вкладке Местоположение из многоуровнего списка сначала по частям света, потом по странам (все российские города там в Европе, даже те, что географически в Азии). Результат примерно такой (подробности открываются при щелчке на апплете):
Чтобы погоду показывал апплет часов рядом со временем, в его параметрах надо выставить галки "Показывать погоду" и "Показывать температуру", а на вкладке "Местности" добавить город - там просто окошко, в котором можно набрать "Россия" и появится список всех имеющихся российских городов (казалось бы, можно написать что угодно, и даже потом ниже ввести вручную координаты, но погоды для любой местности таким образом не добиться).
Штука с календарём и картой появляется при левом щелчке на апплете, и нужно ещё нажать на "Установить" рядом с городом, чтобы появился домик.
При наведении курсора на область апплета, отображающую прогноз, появляется такая плашечка с подробностями о погоде.
А теперь о том, как добавить отсутствующий в списке город. Прежде всего нужно открыть файл Locations.xml из папки /usr/share/libgweather/ с правами суперпользователя. Надо учесть, ещё, что файл очень большой, и открывать его следует текстовым редактором, который с этим справится, например:
sudo geany /usr/share/libgweather/Locations.xmlНо для этого придётся предварительно установить программу geany. Ещё где-то советовали mcedit, но вот стандартные gedit и kate не подойдут в данном случае.
Остаётся добавить в этот файл информацию о нужном городе по аналогии с содержащейся там уже информацией.
Файл имеет простую структуру - для каждого города есть строка, постоенная по определённым правилам. Например, для Томска будет так:
<city>В самом файле всё это идёт сплошным текстом без переноса строк, однако, думаю, добавлять можно как угодно.
<name>Novosibirsk</name>
<coordinates>55.041111 82.934444</coordinates>
<location>
<name>Novosibirsk</name>
<code>UNNT</code>
<tz-hint>Asia/Novosibirsk</tz-hint>
<coordinates>55.083333 82.900000</coordinates>
</location>
</city>
Для каждого города прописано его "имя" и "место" (видимо, имеется в виду именно аэропорт, их может быть несколько, например, у Москвы 3 <location>, хотя по умолчанию выбирается, судя по координатам, Внуково), координаты и самого города и аэропорта, есть часовой пояс и код ICAO аэропорта.
ICAO - это четырёхбуквенные коды аэропортов, их можно брать на сайте apinfo.ru (конкретно по городу поиск тут), или можно просто погуглить. Они и являются самым важным для информации о погоде.
Координаты можно опять же погуглить или взять в википедии, но что-то незаметно, чтобы они на что-то влияли (скорее всего, только на положение "домика" на карте в настройке погода часов), так что большая точность ни к чему.
Часовой пояс нигде гуглить не нужно, его и так каждый знает. А список их обозначений приводится всё в том же файле - для удобства вот он:
UTC +2 Калининградское время - Europe/Kaliningrad
UTC +3 Московское время - Europe/Moscow или Europe/Volgograd
UTC +4 Самарское время - Europe/Samara
UTC +5 Екатеринбургское время - Asia/Yekaterinburg
UTC +6 Омское время - Asia/Omsk или Asia/Novosibirsk
UTC +7 Красноярское время - Asia/Krasnoyarsk
UTC +8 Иркутское время - Asia/Iskutsk
UTC +9 Якутское время - Asia/Yakutsk
UTC +10 Владивостокское время - Asia/Vladivostok или Asia/Sakhalin
UTC +11 Магаданское время - Asia/Magadan
UTC +12 Камчатское время - Asia/Kamchatka или Asia/Anadyr
Зачем нужны разные обозначения для одного и того же пояса, и где это может использоваться, не в курсе, но для Новосибирска в файле прописано именно Asia/Novosibirsk
Что ещё интересно, все названия в этом файле даны транслитом, а в графическом интерфейсе кириллицей, то есть кириллические названия программы берут из других файлов. Однако можно и даже нужно при добавлении своих городов в файл писать название кириллицей - работать всё будет в любом случае, а отображать названия апплеты будут именно в том виде, в котором их сюда ввести.
Вот пример, для нескольких городов, отсутствующих изначально (Магнитогорск, Томск, Нерюнгри, Красноярск, Тула, Набережные Челны):
<city><name>Магнитогорск</name><coordinates>53.230000 59.020000</coordinates><location><name>Magnitogorsk</name><code>USCM</code><tz-hint>Asia/Yekaterinburg</tz-hint><coordinates>53.390000 58.760000</coordinates></location></city>Вставлять строчки можно не соблюдая алфавитный порядок как в файле - всё равно в списке города сами встанут в нужное место.
<city><name>Томск</name><coordinates>56.300000 84.580000</coordinates><location><name>Bogashovo Airport</name><code>UNTT</code><tz-hint>Asia/Omsk</tz-hint><coordinates>56.380000 85.210000</coordinates></location></city>
<city><name>Нерюнгри</name><coordinates>56.393000 124.433000</coordinates><location><name>Chulman Airport</name><code>UELL</code><tz-hint>Asia/Yakutsk</tz-hint><coordinates>56.650000 124.600000</coordinates></location></city>
<city><name>Красноярск</name><coordinates>56.000000 92.560000</coordinates><location><name>Emelyanovo Airport</name><code>UNKL</code><tz-hint>Asia/Krasnoyarsk</tz-hint><coordinates>56.170000 92.490000</coordinates></location></city>
<city><name>Тула</name><coordinates>54.120000 37.370000</coordinates><location><name>Tula</name><code>UUBT</code><tz-hint>Europe/Moscow</tz-hint><coordinates>54.240000 37.600000</coordinates></location></city>
<city><name>Набережные Челны</name><coordinates>55.420000 52.200000</coordinates><location><name>Naberezhnye Chelny</name><code>UWKE</code><tz-hint>Europe/Moscow</tz-hint><coordinates>55.560000 52.090000</coordinates></location></city>
Этот способ я нашла на форуме убунты. Там был ещё один, который у меня почему-то не сработал, но на всякий случай пусть тут полежит:
В свойствах апплета часов добавляем любое место на Земле, от фонаря. Затем, открываем утилитку gconf-editor, открываем в ней ключ /apps/panel/applets/clock_screen0/prefs. Там находим параметр cities - это список, но сейчас там только один пункт. Открываем параметр и видим окно со списком из одной строки, нажимаем на кнопку "Редактировать". Перед нами значение, выглядящее примерно так:
<location name="Novosibirsk" timezone="Asia/Yekaterinburg" latitude="55.083332" longitude="82.900002" code="UNNT" current="true"/>Здесь меняем название города, временной зоны, координаты и код аэропорта. Сохраняем введённое значение.
Спасибо, настроил аплет на Набережные Челны
ОтветитьУдалить:)
ОтветитьУдалитьСпасибо за томск!
ОтветитьУдалитьновый город ни как не добавляется...
ОтветитьУдалитькакой город-то?
ОтветитьУдалитьПри помощи добавления редактора geany при внесении данных Набережных Челнов выдает сообщение "отказано в доступе" :(
ОтветитьУдалитьПодскажите нубу как и что там сделать.
С правами суперпользователя надо открывать же. Например, Alt+F2 и в строке "gksu geany" - запросит пароль. Нужно ввести пароль текущего пользователя и программа будет открыта с правами рута.
ОтветитьУдалитьВ Ижевске не смотря на наличие;
ОтветитьУдалитьаэропорта, Кода аэропорта, координат.
Погоду не показывает!
Спасибо за статью.
ОтветитьУдалитьУ меня кстати наоборот, первый способ не заработал, а вот по второму все получилось