[DICA] Xfce weather plugin / atualização meteorológica parou de funcionar?

Iniciado por Sampayu, 25 de Outubro de 2014, 03:12

tópico anterior - próximo tópico

Sampayu

Boas! 8) Cá estou eu novamente, desta vez para apresentar uma dica que na verdade é uma tradução e adaptação desta dica que foi postada pelo linuxista canadense ToZ, moderador do fórum do projeto Xfce (em inglês).

Eu já tive XUbuntu 11.04, XUbuntu 12.04, e daí "pulei" para o XUbuntu 14.04 - todos de 32 bits. O que eles têm em comum é que alguns meses após a instalação de cada um deles o plugin "atualização meteorológica" (nome oficial dele, em inglês: xfce4-weather-plugin) para de apresentar a previsão do tempo.

Esse problema ocorre porque o desenvolvedor do plugin está constantemente atualizando-o, muitas vezes porque o servidor de dados meteorológicos usado pelo plugin saiu do ar (ou então não saiu do ar mas parou de reconhecer coordenadas geográficas e/ou outros parâmetros inseridos manualmente por você na configuração do plugin), e isso obriga o desenvolvedor a lançar uma nova versão do plugin (que utilize um servidor meteorológico diferente, ou que reconheça parâmetros inseridos manualmente por você, nas configurações do plugin), porém os mantenedores do repositório do projeto Xfce, responsáveis por manter o repositório do plugin, não acompanham o ritmo dessas atualizações, por isto às vezes demora um (às vezes bom...) tempo até que a equipe do projeto Xfce lance um pacote DEB que contenha a versão mais recente desse plugin. :-\

Bom, existem duas soluções para esse problema:
1) A primeira, que eu chamo de solução trivial, consiste em você aguardar pacientemente até que os desenvolvedores do projeto Xfce lancem um novo pacote DEB desse plugin e daí ele seja atualizado via "atualização de software" do seu XUbuntu e volte a funcionar.
2) A segunda, que eu chamo de solução pragmática, consiste em você desinstalar o pacote DEB oficial desse plugin e em seguida compilar e instalar a versão mais nova dele, obtida do repositório GIT oficial do desenvolvedor. 8)

Caso decida adotar a solução pragmática, continue lendo...

PASSO-A-PASSO PARA ATUALIZAÇÃO DO PLUGIN A PARTIR DO REPOSITÓRIO GIT

1.1 - Interrompa o plugin
O primeiro passo para começar a resolver essa "pane" consiste em interromper o funcionamento do seu plugin: vá até o painel em que o plugin está aparecendo, clique com o botão direito sobre o plugin e selecione a opção "Remover"

1.2 - Desinstale o pacote DEB do plugin
Entre no emulador de terminal do shell e execute o seguinte comando:
sudo apt-get remove xfce4-weather-plugin -y

1.3 - Instale as ferramentas de download de arquivos-fonte e montagem de códigos-fonte oriundos de repositórios GIT
A instalação dessas ferramentas permitirá que você posteriormente obtenha os arquivos-fonte da mais recente versão do plugin diretamente a partir do repositório GIT que é mantido pelo desenvolvedor do plugin, e também que construa o código-fonte desses arquivos-fonte. Para obter essas importantes ferramentas, execute este comando, no emulador de terminal do shell:
sudo apt-get install build-essential git

1.4 - Construa a árvore de dependências (pacotes DEB requeridos) para o plugin
Comando a ser executado para que a árvore de dependências seja construída em seu sistema:
sudo apt-get build-dep xfce4-weather-plugin

1.5 - Entre no diretório em que ficam os arquivos-fonte usados pelo usuário
O comando é este:
cd /usr/src

1.6 - Efetue download dos arquivos-fonte
Execute o comando abaixo e o aplicativo GIT efetuará download de todos os arquivos-fonte da mais recente versão disponibilizada pelo desenvolvedor do plugin:
sudo git clone git://git.xfce.org/panel-plugins/xfce4-weather-plugin

1.7 - Entre no diretório em que ficam os arquivos-fonte do plugin
O comando é este:
cd xfce4-weather-plugin

1.8 - Configure os arquivos-fonte, compile-os e então instale
O supercomando abaixo executará as três ações acima, na sequência em que foram mencionadas:
sudo ./autogen.sh --prefix=/usr --disable-static --disable-debug && sudo make && sudo make install

1.9 - Reinicie o painel do Xfce
Execute este comando para que o painel seja reiniciado e daí você possa carregar o novo plugin:
xfce4-panel -r

1.10 - Adicione o novo plugin ao seu painel
Clique com o botão direito do mouse sobre o painel em que deseja adicionar o plugin. Agora selecione a opção Painel, clique em Adicionar novos itens..., daí clique em Atualização meteorológica, então clique em Adicionar e por fim clique em Fechar. Pronto! Agora a mais recente versão do xfce4-weather-plugin está adicionada ao painel do seu ambiente Xfce! ;D

1.11 - Posicione e configure o plugin
Clique com o botão direito do mouse sobre o plugin que você acabou de adicionar ao painel, daí clique em -> Mover e movimente o plugin até que ele fique na posição que você prefere.

Feito isso, clique novamente com o botão direito do mouse sobre o plugin, selecione a opção Propriedades e configure o plugin. Caso esteja conectado à internet, espere um tempo que o plugin tentará descobrir sozinho sua localização geográfica e com base nisso escolher os dados meteorológicos a consultar. Também é recomendável que você clique na aba Caixa de rolagem e adicione o parâmetro Umidade (H). Enfim: divirta-se! ;)

Notas:

  • É altamente recomendável deixar intacto o diretório /usr/src/xfce4-weather-plugin, pois você necessitará dele quando for / quiser / necessitar desinstalar o plugin.
  • Caso queira confirmar a versão do plugin, clique com o botão direito do mouse sobre o plugin no painel e então clique em Sobre. Deverá aparecer algo mais ou menos assim:
    xfce4-weather-plugin 0.8.3git-a4f61c7
  • A presença da sequência de caracteres git indica que o plugin que você está usando foi compilado a partir do repositório GIT do desenvolvedor do plugin. Então está tudo certo! 8) Ah, e o código a4f61c7 é o número de série da última atualização que o desenvolvedor aplicou ao plugin. Se aí no seu sistema aparecer um código diferente, não se preocupe, isso quer dizer apenas que depois que eu publiquei esta dica você instalou uma versão mais atualizada, que por isto tem um número de série diferente (mais atual). ;)
Yuri Sucupira ("Sampayu")

Sampayu

#1
Vamos agora supor que a equipe de mantenedores finalmente lançou uma versão atualizada do pacote DEB desse plugin e que você deseja instalá-la: afinal de contas, o pacote DEB é o pacote oficial da sua distribuição Linux.

Bom, antes disso vai ser necessário desinstalar o plugin que você instalou via GIT.

PASSO-A-PASSO PARA DESINSTALAR O PLUGIN ORIUNDO DO REPOSITÓRIO GIT

2.1 - Interrompa o plugin
Execute o mesmo procedimento indicado no item 1.1: remova o plugin do painel.

2.2 - Retorne ao diretório de arquivos-fonte do plugin
Execute este comando para retornar ao diretório de arquivos-fonte do plugin:
cd /usr/src/xfce4-weather-plugin

2.3 - Desinstale o plugin
Agora que você acessou o diretório, execute este comando para desinstalar o plugin:
sudo make uninstall

2.4 - Elimine o diretório de arquivos-fonte do plugin
Se posteriormente você decidir instalar novamente o plugin a partir do repositório GIT, é preferível que você exclua o diretório que está em /usr/src/xfce4-weather-plugin e faça download novamente dos arquivos-fonte lá do repositório, porque muito provavelmente o desenvolvedor já atualizou os arquivos-fonte, desde a sua última "visita". Portanto, se você efetuar download novamente, muito provavelmente obterá códigos ainda mais atualizados.

Enfim: por ora vamos remover o diretório, já que ele não serve para mais nada. Eis o comando a ser executado:
cd /usr/src && sudo rm -rf /usr/src/xfce4-weather-plugin

2.5 - Atualize o cache do APT e instale o novo pacote DEB do plugin
Ok, o plugin foi removido. Agora é hora de atualizar o cache do APT e então efetuar download e instalar o novo pacote DEB do plugin. O supercomando a ser executado é este:
sudo apt-get update && sudo apt-get check && sudo apt-get install xfce4-weather-plugin -y

Nota: ao invés de executar o supercomando acima, você pode executar o supercomando abaixo, que é mais completo (mas que atualizará a sua distribuição, caso a versão dela não seja a última). Esse comando realizará não apenas a instalação do plugin, mas também uma atualização completa do seu sistema (caso haja atualizações disponíveis). Além disso, o comando também removerá todos os pacotes desnecessários existentes em seu sistema, e após isso esvaziará o cache de disco, para liberar memória física (isso costuma liberar algumas centenas de megabytes do disco rígido que estavam sendo usadas para armazenar localmente centenas ou até mesmo milhares de pacotes DEB que você pode perfeitamente obter da internet quando quiser. Há casos em que esse cache desnecessariamente chega à casa dos gigabytes):
sudo apt-get update && sudo apt-get check && sudo apt-get install xfce4-weather-plugin -y && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y && sudo apt-get autoremove -y && sudo apt-get clean

Nota 2: se você quiser atualizar seu sistema mas não a sua distribuição GNU/Linux, e mesmo assim quiser limpar o cache do APT, pode executar tranquilamente este supercomando:

sudo apt-get update && sudo apt-get check && sudo apt-get install xfce4-weather-plugin -y && sudo apt-get upgrade -y && sudo apt-get clean

Dica: se quiser fazer uma limpeza profunda em seu sistema, porém de maneira seletiva e usando uma interface gráfica amigável, instale o aplicativo Bleachbit:
sudo apt-get install bleachbit

...e então execute-o a partir do terminal (não execute a partir do menu, caso contrário você não terá permissão para excluir alguns arquivos de usuário que estão em pastas somente-leitura):
sudo bleachbit

2.6 - Adicione o novo plugin ao seu painel, posicione-o e configure-o
Execute os mesmos procedimentos mostrados nos itens 1.10 e 1.11.

Agora que o plugin já está instalado e de volta ao painel, configurado etc., clique com o botão direito sobre ele, no painel, e então clique em Sobre. Você verá uma mensagem mais ou menos assim aparecer:

xfce4-weather-plugin 0.8.3

Reparou que a palavra git não está presente? Isso confirma que o plugin que você está visualizando no painel é a versão do repositório oficial (pacote DEB) - não a versão oriunda do repositório GIT do desenvolvedor do plugin. ;)
Yuri Sucupira ("Sampayu")

kenner

Então existe a possibilidade do plugun ser atualizado ainda dentro da versão?

sigur

O comando sudo apt-get dist-upgrade não é pra atualizar a distro para outra? Ou apenas para atualizar o que se tem disponível no momento?

Esse comando é duro hein. Se o cara não quer atualizar, daí já era.

Sampayu

Citação de: kenner online 26 de Outubro de 2014, 17:05
Então existe a possibilidade do plugun ser atualizado ainda dentro da versão?

Sim, dentro da versão do plugin (0.8.3, atualmente) existem várias atualizações intermediárias que são constantemente feitas pelo desenvolvedor desse plugin. Essas atualizações não estão disponíveis na forma de um pacote DEB, mas a dica acima basicamente ensina a acessar o repositório no qual se encontra a última versão de cada um dos arquivos do plugin que o desenvolvedor disponibilizou, então compilar esses arquivos-fonte e instalar o que vier a ser o produto dessa compilação.

É um processo mais manual, mas o resultado final é o mesmo: plugin instalado, só que na última e mais recente atualização disponibilizada pelo desenvolvedor. ;)
Yuri Sucupira ("Sampayu")

Sampayu

Citação de: sigur online 27 de Outubro de 2014, 12:03
O comando sudo apt-get dist-upgrade não é pra atualizar a distro para outra? Ou apenas para atualizar o que se tem disponível no momento?

Esse comando é duro hein. Se o cara não quer atualizar, daí já era.


Apesar do que o nome deixa a entender, a opção dist-upgrade não atualiza a distribuição inteira (como p.ex. da versão 13.04 para a 14.04). Para atualizar a versão da distribuição, o comando usado é este:

sudo apt-get do-release-upgrade

Basicamente, a opção upgrade consulta os repositórios da sua distribuição, daí efetua download e instala a última versão de cada um dos pacotes DEB que já estiverem presentes (instalados) em seu sistema em alguma versão anterior. No entanto, essa opção não provoca a desinstalação de nenhum pacote DEB, portanto se algum pacote atualmente instalado em seu sistema só puder ser atualizado caso outro pacote do seu sistema seja antes removido, a opção upgrade deixará esses pacotes como estão, intocados. Ou seja: não desinstalará nada, só atualizará aquilo que for possível atualizar sem excluir arquivos.

Já a opção dist-upgrade faz tudo o que a opção upgrade faz, porém também resolve dependências. Portanto, se para atualizar algum pacote DEB for necessário desinstalar (ou atualizar) outros pacotes, nesta opção isso será feito. Além disso, nesta opção o sistema dará prioridade a alguns pacotes considerados mais importantes que outros (como é o caso dos arquivos do kernel).

Em suma: o comando dist-upgrade é bem bom e só vai ser desagradável se (por exemplo) o usuário estiver rodando um aplicativo bem velho, que depende de vários outros pacotes também velhos (mas que têm versões mais novas disponíveis nos repositórios), e não quiser atualizar o aplicativo, seja lá por que razão for. Somente em situações como essa é que não se recomenda o uso da opção dist-upgrade, já que numa situação como essa a atualização do "aplicativo velhinho" acabará fazendo com que outros pacotes (novos) sejam instalados, pacotes incompatíveis com os mais novos sejam desinstalados etc.

Como é um comando mais avançado (requer que o usuário tenha mais conhecimentos a respeito do que é que está instalado em seu sistema operacional, o que que é bom atualizar e o que que o usuário prefere não atualizar), deixei o supercomando apenas como uma "alternativa". Mas na grande maioria dos casos o usuário que optar pelo dist-upgrade estará fazendo bem ao sistema. :)
Yuri Sucupira ("Sampayu")

sigur

Muito obrigado.

Citação de: Sampayu online 28 de Outubro de 2014, 07:04
Citação de: sigur online 27 de Outubro de 2014, 12:03
O comando sudo apt-get dist-upgrade não é pra atualizar a distro para outra? Ou apenas para atualizar o que se tem disponível no momento?

Esse comando é duro hein. Se o cara não quer atualizar, daí já era.


Apesar do que o nome deixa a entender, a opção dist-upgrade nem sempre atualiza a distribuição inteira (como p.ex. da versão 13.04 para a 14.04). Aliás, isso é bem raro de acontecer.

Basicamente, a opção upgrade consulta os repositórios da sua distribuição, daí efetua download e instala a última versão de cada um dos pacotes DEB que já estiverem presentes (instalados) em seu sistema em alguma versão anterior. No entanto, essa opção não provoca a desinstalação de nenhum pacote DEB, portanto se algum pacote atualmente instalado em seu sistema só puder ser atualizado caso outro pacote do seu sistema seja antes removido, a opção upgrade deixará esses pacotes como estão, intocados. Ou seja: não desinstalará nada, só atualizará aquilo que for possível atualizar sem excluir arquivos.

Já a opção dist-upgrade faz tudo o que a opção upgrade faz, porém também resolve dependências. Portanto, se para atualizar algum pacote DEB for necessário desinstalar (ou atualizar) outros pacotes, nesta opção isso será feito. Além disso, nesta opção o sistema dará prioridade a alguns pacotes considerados mais importantes que outros (como é o caso dos arquivos do kernel).

Em suma: o comando dist-upgrade é bem bom e só vai ser desagradável se (por exemplo) o usuário estiver rodando um aplicativo bem velho, que depende de vários outros pacotes também velhos (mas que têm versões mais novas disponíveis nos repositórios), e não quiser atualizar o aplicativo, seja lá por que razão for. Somente em situações atícabeças como essa é que não se recomenda o uso da opção dist-upgrade, já que numa situação como essa a atualização do "aplicativo velhinho" acabará fazendo com que outros pacotes (novos) sejam instalados, pacotes incompatíveis com os mais novos sejam desinstalados etc.

Como é um comando mais avançado (requer que o usuário tenha mais conhecimentos a respeito do que é que está instalado em seu sistema operacional, o que que é bom atualizar e o que que o usuário prefere não atualizar), deixei o supercomando apenas como uma "alternativa". Mas na grande maioria dos casos o usuário que optar pelo dist-upgrade estará fazendo bem ao sistema.


Sampayu

Citação de: sigur online 28 de Outubro de 2014, 20:24
Muito obrigado.

Por nada. :)

[o texto abaixo foi editado em 29/10/2014. Obrigado pelo aviso, kenner :)]

Detalhe: se (por exemplo) você estiver usando o *Ubuntu 14.04 e sair a versão 15.04, e essa nova versão passar a vigorar (ou seja: passar a ser a primeira opção de download que aparece no website do *Ubuntu), e o usuário quiser mudar para a versão 15.04, então neste caso ele deverá executar o comando apt-get com a opção do-release-upgrade:
sudo apt-get do-release-upgrade

Na numeração dos *Ubuntu, os dois dígitos à esquerda do ponto representam o ano de lançamento da distribuição, e os dois dígitos à direita do ponto representam o mês de lançamento. Exemplos:

  • O *Ubuntu 10.04 foi lançado em abril de 2010.
  • O *Ubuntu 10.10 foi lançado em outubro de 2010.
  • O *Ubuntu 11.04 foi lançado em abril de 2011.
  • O *Ubuntu 11.10 foi lançado em outubro de 2011.
  • O *Ubuntu 12.04 foi lançado em abril de 2012.
  • O *Ubuntu 12.10 foi lançado em outubro de 2012.
  • O *Ubuntu 13.04 foi lançado em abril de 2013.
  • O *Ubuntu 13.10 foi lançado em outubro de 2013.
  • O *Ubuntu 14.04 foi lançado em abril de 2014.
  • E por aí vai...

Como se vê acima, uma nova versão do *Ubuntu é lançada a cada 6 meses, por isto em cada ano há duas versões.

LTS é uma abreviação para Long Term Support ("Suporte de Longo Termo"): todo *Ubuntu LTS tem suporte da Canonical garantido por 5 anos (eram 3 anos, mas a partir do *Ubuntu 12.04 passou a ser de 5 anos).

Toda distribuição *Ubuntu lançada no mês de abril (final .04) de um ano par (2010, 2012, 2014...) é LTS. Por causa disso, as versões LTS são lançadas de 2 em 2 anos. Atualmente, as versões LTS já lançadas pela Canonical foram os *Ubuntu 6.04, 8.04, 10.04, 12.04 e 14.04.

Fontes:
Yuri Sucupira ("Sampayu")

kenner

Citação de: Sampayu online 28 de Outubro de 2014, 20:50
Citação de: sigur online 28 de Outubro de 2014, 20:24
Muito obrigado.

Por nada. :)

Detalhe: se (por exemplo) você estiver usando o *Ubuntu 14.04 e sair a versão 15.04, e essa nova versão passar a vigorar (ou seja: passar a ser a primeira opção de download que aparece no website do *Ubuntu), mas o usuário não quiser mudar para a versão 15.04, então neste caso realmente ele não deve executar o dist-upgrade, porque neste caso realmente o dist-upgrade atualizará a distribuição para a versão 15.04.

Mas isso ocorre somente a cada 1 ano: esse é o intervalo aproximado que a Canonical leva para lançar uma nova versão do *Ubuntu final .04 (e toda distribuição *Ubuntu final .04 tem suporte garantido por 2 anos). Então o dist-upgrade só se torna "perigoso" mesmo após 1 ano de uso do sistema, e mesmo assim só se o usuário estiver usando um computador com um hardware mais "fraquinho" e tiver receio de instalar um upgrade da distribuição e ver seu sistema ficar mais "lento" e "pesado". ;)

Cara confirma isso aí...

Primeiramente as versões de longo suporte são de 2 em 2 anos, então só em 2016.

Além disso, até onde eu sei, o comando para atualizar a versão através do terminal seria: do-release-upgrade  o dist-upgrade, mesmo após o lançamento de uma versão mais recente, faz "somente" o que você já havia dito.

Sampayu

Citação de: kenner online 29 de Outubro de 2014, 13:11
Citação de: Sampayu online 28 de Outubro de 2014, 20:50
Citação de: sigur online 28 de Outubro de 2014, 20:24
Muito obrigado.

Por nada. :)

Detalhe: se (por exemplo) você estiver usando o *Ubuntu 14.04 e sair a versão 15.04, e essa nova versão passar a vigorar (ou seja: passar a ser a primeira opção de download que aparece no website do *Ubuntu), mas o usuário não quiser mudar para a versão 15.04, então neste caso realmente ele não deve executar o dist-upgrade, porque neste caso realmente o dist-upgrade atualizará a distribuição para a versão 15.04.

Mas isso ocorre somente a cada 1 ano: esse é o intervalo aproximado que a Canonical leva para lançar uma nova versão do *Ubuntu final .04 (e toda distribuição *Ubuntu final .04 tem suporte garantido por 2 anos). Então o dist-upgrade só se torna "perigoso" mesmo após 1 ano de uso do sistema, e mesmo assim só se o usuário estiver usando um computador com um hardware mais "fraquinho" e tiver receio de instalar um upgrade da distribuição e ver seu sistema ficar mais "lento" e "pesado". ;)

Cara confirma isso aí...

Primeiramente as versões de longo suporte são de 2 em 2 anos, então só em 2016.

Além disso, até onde eu sei, o comando para atualizar a versão através do terminal seria: do-release-upgrade  o dist-upgrade, mesmo após o lançamento de uma versão mais recente, faz "somente" o que você já havia dito.

É verdade, eu misturei os conceitos de .04 com o conceito de LTS e o resultado foi uma lambança.

Aqui em casa eu uso um script que já faz tudo (update, check, upgrade, dist-upgrade, clean e do-release-upgrade), sendo que somente o do-release-upgrade é sem -y (para evitar instalação automática do novo lançamento da distribuição). Faz tanto tempo que fiz esse script que me esqueci de que ele tinha aquele do-release-upgrade. Falha minha. :P

Obrigado por me alertar para esses meus erros, kenner. ;D Corrigi o meu post e aproveitei para incluir uns links bacanas. :)
Yuri Sucupira ("Sampayu")