Возникла необходимость вывести актуальную информацию о погоде в системном мониторе Conky. Способов нашлось не мало, но я предпочёл единственный, который можно использовать без использования скриптов, одной строкой в конфигурационном файле.
В очередной раз виджет погоды на панели рабочего окружения XFC4 перестал обновляться. Не скажу чтоб совсем перестал работать, но при старте системы пишет «не найдена информация». При обновлении руками, указав заново место дислокации, он начинает работать. Так при каждом запуске операционной системы.
Какой способ выбрал
Остановился я на способе, описанном на github (ссылка на источник).
Этот способ предусматривает как вариант использования скрипта для получения данных, так и вывод погоды одной строкой.
Если использовать шрифт поддерживающий emoji, то вывод погоды будет такого вида, со значками.
У меня Mоngaro linux. Я установил шрифт:
noto-fonts-emoji
Ещё интересно выглядит шрифт symbola.
otf-simbola
Значки шрифта symbola выглядят так
Как выводить информацию
Для начала нужно узнать правильный адрес для получения информации о погоде именно в вашем городе, ну или там, где вам нужно. Возьмём за пример город Новосибирск. Адрес будет такой:
wttr.in/Novosibirsk
Если вам нужна русская локализация, то добавьте в начало адреса ru.
ru.wttr.in/Novosibirsk
Откройте его в браузере и, при правильном значении, вывод будет такой:
Если у вас другой город замените на свой.
Если необходимо вывести погоду в Conky, используется следующая запись.
${font noto color emoji:size=12}${execi 60 curl ru.wttr.in/Novosibirsk?format=1}
В записи указан шрифт использующий emoji, так как некоторые параметры выводятся именно значками emoji.
Если используете шрифт symbola то код будет такой
${font symbola:size=12}${execi 60 curl ru.wttr.in/Novosibirsk?format=1}
Формат вывода информации может быть разным — 1, 2,3. Просто меняем цифру значения format.
Главное не забыть про шрифт emoji.
Можно также вывести погоду настроив именно под себя. Вот атрибуты настройки индивидуального вывода, каждого параметра отдельно.
Как выведена погода у меня
Я вывел три параметра погоды, каждый в отдельности и позиционировал их как мне надо.
Для получения погодных условий я использовал следующую запись
${font noto color emoji:size=12}${execi 60 curl wttr.in/Novosibirsk?format=%c}
Данная запись выводит погодные условия значками emoji, примерно так
Если вы хотите текстом вывести погодные условия, например, вместо emoji облака будет слово облачно, используем такую запись
${font :size=12}${execi 60 curl wttr.in/Novosibirsk?format=%C}
Далее вывел информацию о температуре простым шрифтом, просто указав его размер
${font :size=10}${execi 60 curl ru.wttr.in/Novosibirsk?format=%t}
Третий параметр, в переводе он называется «температура по ощущениям», вывел такой командой
${font :size=10}${execi 60 curl ru.wttr.in/Novosibirsk?format=%f}
Если понадобится вывести какой-то другой параметр, без использования скрипта. Просто добавляем в нужном месте вышеуказанные команды, заменив параметр переменной format на необходимый.
Если интересуют другие параметры Conky, советую прочитать:
- Conky с новым синтаксисом в Debian 11
- Conky — как я настроил
- Оформление линукс, или как я настроил свой XCFE
Всем удачи!