Получаем погоду в красивом виде в терминале используя лишь wget



Предыдущая | Следующая

wttr.in - это веб-фронтенд для wego, небольшой утилиты для Linux терминала написанной на языке Golang. Сервис позволяет используя любой консольный HTTP клиент посмотреть погоду не покидая терминала, да ещё красиво и стильно! И да, конечно можно выводить погоду в conky.

 

По умолчанию сервис пытается получить информацию о текущем местоположении по IP-адресу, но если у него это не выходит то можно указать вручную. Указать для какого расположения необходим прогноз погоды можно передав:

  • Название города;
  • 3-х буквенный код аэропорта;
  • ZIP код;

Сервис позволяет получить погоду на три дня вперед, фазу луны и поддерживает как метрическую систему отображения температуры, так и "имперскую". Хотя кому нужна имперская система в России? :)

Сам wego и, соответственно, wttr в качестве источника информации о погоде использует WorldWeatherOnline.

Использование

Все, что нужно чтобы получить погоду - это терминал, и какой либо консольный HTTP клиент. В примерах ниже используется wget, т.к. он есть по-умолчанию почти во всех Linux дистрибутивах:

wget -O - wttr.in -q

Если wttr.in не сможет определить ваше расположение, то указать его можно используя название города, код аэропорта или ZIP-код. Ниже несколько примеров.

Используя название города

wget -O - wttr.in/Moscow -q

Город в названии которого присутствует пробел, или иные символы необходимо указать в кавычках:

wget -O - wttr.in/"Saint Petersburg" -q

Используя код аэропорта

Посмотреть код интересующего аэропорта можно на той же википедии:

wget -O - wttr.in/VKO -q

ZIP-коды для России не применимы. :)

В лучших традициях, есть :help:

╰─➤  wget -O - wttr.in/:help -q                                                                                               4 ↵
Usage:    $ curl wttr.in          # current location
    $ curl wttr.in/muc      # weather in the Munic airportSupported location types:    /paris                  # city name
    /muc                    # airport code (3 letters)
    /@stackoverflow.com     # domain name
    /94107                  # area codesSpecial locations:    /moon                   # Moon phase (add ,+US or ,+France for these cities)Units:    ?m                      # metric (SI) (used by default everywhere except US)
    ?u                      # USCS (used by default in US)Special URLs:    /:help                  # show this page

Добавляем алиасы

Чтобы каждый раз не писать длинную команду, добавляем alias в ваш ~/.bashrc или ~/.zshrc:

alias wttr=`wget -O - wttr.in/Moscow -q`

Не забудьте заменить Moscow на ваш город. После добавления алиаса, достаточно набрать wttr в терминале.

Если вам по каким-то причинам не нравится использовать сторонние сервисы, то wttr.in можно развернуть на своем сервере. Инструкции как это сделать можно найти тут.