Meu widget do tempo não está funcionando

3

Meu widget do tempo não funciona mais. Estou usando o Ubuntu MATE. Aqui está uma captura de tela:

    
por cyberdelic 26.08.2016 / 13:33

2 respostas

2

O governo dos EUA mudou alguma coisa e quebrou os dados usados por esses aplicativos (quebrou meu conky também).

Especificamente:

  

Todo o URL "weather.noaa.gov" que o aplicativo faz referência mostra um "Serviço   Removido ”. Tempo GNOME (ou mais especificamente a biblioteca   libgweather) usa essa URL para buscar seus dados METAR. Precisa ser   atualizado para trabalhar com as alterações feitas na estrutura de domínio do NOAA   Entrega METAR.

Fonte OMG-Ubuntu

    
por Organic Marble 26.08.2016 / 14:01
3

A informação meteorológica no formato METAR estava sendo baixada do site da NOAA (era informação mundial) através da biblioteca libgnomeweather (e mais tarde através da biblioteca libmateweather). Há cerca de quatro anos, a NOAA anunciou que interromperia esse serviço. Aparentemente ninguém notou e quando o serviço foi descontinuado algumas semanas atrás as pessoas começaram a encontrar a mensagem Failed to get METAR data: 404 Not Found no log do syslog (ou no meu caso Falló al obtener datos METAR: 404 Not Found. , como meu computador está em espanhol).

ATUALIZAÇÃO: isto já foi corrigido na última versão do libmateweather (1.12.2) lançada para o Ubuntu Mate 16.04, então esta solução não é mais necessária. (No entanto, essa versão pode não funcionar atrás de um proxy, mas isso é um problema diferente).

A correção para isso já foi implementada em libmateweather, você pode ver o patch no repositório do Mate Desktop GitHub como commit 835055e0d0b950d3f66ad236de7e40942f6f7d8e . No entanto, não está claro para mim se essa correção será distribuída para este Ubuntu Mate LTS (16.04) ou não (pois isso não é realmente uma correção de segurança). Aparentemente, ele será distribuído para 16.10, de acordo com uma postagem no blog do Mate Desktop sobre "problemas conhecidos" com 16.10 :

  

Os relatórios de previsão meteorológica nos applets Relógio e Meteorologia estão indisponíveis no momento. Uma correção já foi confirmada e um pacote atualizado será lançado logo após o Beta 1.

Foi assim que consertei no meu computador (recompile o libmateweather usando os fontes do Ubuntu):

  • Ativar o download de fontes no APT. Você pode fazer isso na caixa de diálogo System / Administration / Software e Atualizações , marcando o item Código-fonte em a aba software Ubuntu . Você também pode ativá-los no arquivo /etc/apt/sources.list.

  • Usando o MATE Terminal (ou qualquer outro programa de terminal ou diretamente no console do Linux), crie um diretório temporário onde você pode compilar as fontes libmateweather (por exemplo, mkdir newlibmateweather ) e altere para esse diretório ( cd newlibmateweather ).

  • Faça o download das fontes de libmateweather ( apt-get source libmateweather ), note que isso não requer o uso de sudo).

  • Instale as dependências necessárias para construir o pacote ( sudo apt-get build-dep libmateweather ). Instale também o pacote fakeroot ( sudo apt-get install fakeroot ).

  • Edite o arquivo ./libmateweather-1.12.1/libmateweather/weather-metar.c , alterando as seguintes linhas:

    • Na linha 525, altere "National Weather Service" para "AVIATION WEATHER CENTER"

    • Na linha 553, altere "http://weather.noaa.gov/mgetmetar.php" para "http://aviationweather.gov/metar/data"

    • Na linha 554, altere "cccc" para "ids"

  • Altere para o diretório de origem da biblioteca ( cd libmateweather-1.12.1/ ).

  • Crie pacotes .deb ( dpkg-buildpackage -rfakeroot -uc -b ). Isso pode demorar um pouco. No final, você encontrará vários arquivos .deb no diretório pai de acordo com a arquitetura do seu computador (por exemplo, no meu, que criou libmateweather1_1.12.1-1_amd64.deb, libmateweather1-dbg_1.12.1 -1_amd64.deb, libmateweather-common_1.12.1-1_all.deb e libmateweather-dev_1.12.1-1_amd64.deb.

  • Instale o pacote principal do lib que você acabou de compilar ( sudo dpkg -i libmateweather1_1.12.1-1_amd64.deb ).

  • Pode ser necessário reiniciar o (s) applet (s) ou o painel inteiro ou removê-lo e, em seguida, adicioná-lo ou efetuar logout e login novamente.

Este é o resultado:

Notas:

  • Todos os pacotes necessários para recompilar o libmateweather serão instalados automaticamente quando você executar o comando apt-get build-dep e quando você instalar o pacote fakeroot

  • Não tenho certeza do que acontecerá se uma nova versão do libmateweather for lançada e distribuída para o 16.04 (meu palpite é que essa alteração será sobrescrita). No entanto, se uma nova versão for lançada para esse LTS, ela poderá incluir (ou não) essa correção. Uma maneira de evitar isso (sobrescrevendo) é usar sudo apt-mark hold libmateweather1 .

  • Se você tiver vários computadores, basta compilar isso uma vez por arquitetura e usar o arquivo .deb em todos os seus computadores. Se você tiver muitos computadores para manter (em sua empresa, organização, escola ou qualquer outra coisa), uma solução mais completa seria criar um repositório privado local para que o APT possa instalar o pacote automaticamente a partir dele.

por MV. 31.08.2016 / 06:30