Top.Mail.Ru

Яндекс погода на Ubuntu

Возникла необходимость прикрутить Яндекс погоду к имеющемуся системному монитору conky на рабочем компьютере с Ubuntu 20.04 . Поиск в интернете по данной теме ничего не дал, а это означало только одно — сделать такой виджет самому.

Поскольку интерес к подобным операционным системам только разрастает, то могу порекомендовать сайт - мастерскую Linux, где рассказывается о самой системе, о программах и приводятся практические примеры использования различных инструментов. 

Забегая вперёд представляю конечный результат — conky с Яндекс погодой. 

Сразу приступим к работе и для начала установим собственно сами conky:

sudo apt install conky curl

Для лучшей конвертации полученных иконок погоды надо установить Inkscape:

sudo apt install inkscape

Мне понадобилось ещё установить пару модулей, чтобы избавиться от ошибки:

«Gtk-Message: 19:08:14.997: Failed to load module «canberra-gtk-module»
.svg:1: parser error : Start tag expected, „<“ not found»

sudo apt install libcanberra-gtk-module libcanberra-gtk3-module

Далее скачиваем архив yandex_weather.zip со скриптом для получения данных о погоде, иконками, конфигурацией conky, скриптом для запуска conky conky_start.sh и распаковываем (с заменой .conkyrc) в домашней директории. В результате там появится папка weather, файл конфигурации .conkyrc и скрипт conky_start.sh.

Не забываем скачать и установить шрифт GE_Inspira.

Начнём с файла .conkyrc (файл скрытый и если вы его не видите в проводнике, то жмём сочетание клавиш CTRL + H).

Во-первых, надо заменить название сетевого интерфейса, вместо wlp2s0, указанного в файле, поставить своё значение (можно подсмотреть в выводе команды: ip a).

Во-вторых, в конце файла задать название вашего города, заменив строчку «СамыйЛучшийГород» на название вашего города. 

С файлом .conkyrc всё. Сохраняем и закрываем.

Открываем в текстовом редакторе файл weather.sh внутри папки weather

UPD. Сделал некоторую оптимизацию этого файла, поэтому есть отличия в файле от скрина, приложенного здесь.

Прописываем в строке, которая начинается с API, ключ API, который можно получить в кабинете разработчика, после не сложной регистрации.
Важно: выбирайте тариф «Погода на вашем сайте».

Затем в следующей строке URL указываем свою широту и долготу, можно взять на Яндекс карте.

Сохраняем, закрываем и делаем файл weather.sh исполняемым. Можно в свойствах файла во вкладке «Права» поставить галочку «Разрешить выполнение файла как программы» или же в консоли командой:  

chmod u+x ~/weather/weather.sh

Почти всё готово. Осталось всё автоматизировать. Для этого в консоли запускаем команду:

crontab –e 

и добавляем в конце строку: 

*/30 * * * * ~/weather/weather.sh

Тем самым указывая запуск скрипта через каждые полчаса. 

Если вдруг по какой-то необъяснимой причине команда crontab не запускается, то можно установить:

sudo apt install cron   

Запуск самих conky я оставил как было у меня раньше, через скрипт conky_start.sh, где указана всего лишь одна строка:

sleep 8 && conky  

которая запускает conky через 8 секунд после запуска этого скрипта. Такая задержка нужна для того, чтобы сначала скачались все данные о погоде и только потом запустились conky.

Запускать скрипты будем через приложение «Настройка запуска приложений», можно запустить через консоль командой:

gnome-session-properties

и добавить скрипты в автозагрузку.

 

UPD. Все возможные данные о погоде, которые даёт Яндекс можно посмотреть на сайте Яндекс.

 

Комментарии

Войдите или зарегистрируйтесь, чтобы оставлять комментарии.

Новости партнеров