Яндекс погода на 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. Все возможные данные о погоде, которые даёт Яндекс можно посмотреть на сайте Яндекс.
Комментарии