sexta-feira, 28 de setembro de 2018

Sincronizar arquivos com Google Docs - outra opção

Vimos em um post anterior como instalar um programa no Ubuntu para sincronizar seus arquivos com o Google Drive. Existe uma outra opção que está disponível a partir do Ubuntu 16. Ela pode ser configurada utilizando a Central de Configurações do Gnome. Ele é acessível utilizando o programa


Ao abri-lo você deve selecionar a opção Contas online. No Ubuntu 18 a tela está mostrada abaixo.

Selecione a opção Google. O autenticador do Google será aberto. Entre primeiro com o seu usuário e seu email.

Se você possui autenticação dupla, um terceiro passo é necessário. Digite o código de autenticação e siga em frente.


Agora você precisa autorizar o Google. Clique em permitir.



Finalmente você precisa indicar o que você quer que o Ubuntu utilize. No nosso caso é somente arquivos.

Pronto. Agora no Nautilus tem uma nova opção.

Ao clicar nela, o Ubuntu monta o Google Drive e você pode atualizar normalmente os seus arquivos.
Você irá notar que documentos e planilhas criadas através do Google Docs, Google Spreadsheet, etc. também são sincronizados.
Contudo no Nautilus, estes arquivos não possui uma extensão, então você não conseguirá abri-los com duplo clique.

Sincronizar arquivos com Google Docs

O Google Drive oferece funcionalidade para fazer backup de seus arquivos no Google Cloud. Isso pode ser feito manualmente ou automaticamente.
Manualmente, você deve abrir o site utilizando seu navegador preferido e fazer o upload dos arquivos manualmente (por exemplo, arrastando e soltando na pasta desejada).

Este não é um bom método se você tem muitos arquivos, e se deseja mantê-los sincronizados sempre.
Um jeito de fazer isto automaticamente é utilizando um programa chamado Grive2.
Grive2 é uma ferramenta que permite fazer backup de seus arquivos no Google Drive.

Para instalar Grive2 no Ubuntu (testei no 16 e 18), você precisa fazer os seguintes passos no terminal:

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get -y update
sudo apt-get -y install grive




Siga os passos indicados nos passos para finalizar a instalação.
Agora você precisa criar um diretório local que será sincronizado com o Google Drive.
Vamos criar por exemplo um diretório google no home do usuário e inicializar a chave de conexão.

mkdir ~/google
cd ~/google
grive -a



Este último comando irá fornecerá um URL do Google que gera um token exclusivo. Este token é usado para sincronizar dados entre seu computador e o Google Drive, sem que você precise ficar digitando usuário e senha.

Você deve ver algo como a mensagem abaixo. Você deve copiar no navegador da Internet a URL gerada pelo Grive. Note que o programa fica esperando que você digite um código de autenticação no terminal.

-----------------------
Please go to this URL and get an authentication code:

https://accounts.google.com/o/oauth2/auth?scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+https%3A%2F%2Fdocs.google.com%2Ffeeds%2F+https%3A%2F%2Fdocs.googleusercontent.com%2F+https%3A%2F%2Fspreadsheets.google.com%2Ffeeds%2F&redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=code&client_id=22314510474.apps.googleusercontent.com

-----------------------

Please input the authentication code here: 


Será solicitado que você conceda permissão ao Grive para acessar seu Google Drive e depois de clicar em Permitir acesso. Uma que você permitiu o acesso, você verá uma chave privada ou token que você deve inserir no terminal.



Tendo cadastrado o token de autenticação, você pode sincronizar com o Google Drive.
Toda vez que você quiser sincronizar deve executar os comandos seguintes:

cd ~/google
grive





Você pode automatizar a sincronização colocando estes comandos em um script no crontab.
Note que o grive não é executado automaticamente quando você altera um arquivo local ou remoto. O comando precisa ser chamado explicitamente para poder sincronizar.

Note então que o programa grive deve ser rodado dentro do diretório raiz de sincronização. Ele não funcionará em outro diretório, nem mesmo dentro de um subdiretório dentro do raiz. Por exemplo se você tiver um subdiretório ~/google/docs, os comandos abaixo não funcionarão



cd ~/google/doc
grive




cd ~
grive

terça-feira, 25 de setembro de 2018

Instalar Adobe Acrobat Reader no Ubuntu

O processo de instalação descrito a seguir foi testado no Ubuntu 18.04.


Primeiro precisamos instalar algumas dependências:

sudo apt-get -y install libxml2:i386 gdebi-core





A seguir baixamos o pacote .deb do acrobat reader. Isto pode ser feito utilizando a linha de comando abaixo ou via navegador. Utilizar o navegador tem uma vantagem que é que você pode conferir se está baixando a última versão ou não. No dia da criação deste post a última versão era 9.5.5. Se você não tiver o wget, ele pode ser instalado usando "apt-get install wget".


wget ftp://ftp.adobe.com/pub/adobe/reader/unix/9.x/9.5.5/enu/AdbeRdr9.5.5-1_i386linux_enu.deb




Para instalar use o comando abaixo. Ele irá instalar também um monte de dependências. Note que você deve utilizar o nome correto do arquivo que baixou, no meu caso foi AdbeRdr9.5.5-1_i386linux_enu.deb.

sudo gdebi AdbeRdr9.5.5-1_i386linux_enu.deb



Siga os passos da instalação e pronto. Para chamar o programa, use


acroread


Com ele aberto você pode fixá-lo na barra lateral do dock (favoritos).

quinta-feira, 20 de setembro de 2018

Erro na Lista de pacotes com apt-get

Ao tentar utilizar apt-get para atualizar os pacotes em um computador (um raspberry se você reparar no erro), me deparei com o seguinte erro:

Lendo listas de pacotes... Erro!
E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/apt/lists/raspbian.raspberrypi.org_raspbian_dists_stretch_non-free_binary-armhf_Packages
E: As listas de pacotes ou os arquivos de estado não puderam ser analisados ou abertos.

Mesmo tentando usar a opção --force, não funcionou.
Resolvi da seguinte forma, removendo e reinstalando as listas.
Parece meio drástico, mas foi bem simples.
Para isto você precisa entrar como root na máquina (ou use sudo su para virar root).
Assim no terminal como usuário root entre com os seguintes comandos:

$ rm /var/lib/apt/lists*
$ rm /var/lib/apt/lists/partial*
$ apt-get -f install
$ apt-get clean
$ apt-get update
$ apt-get upgrade

O primeiro comando deve apresentar um aviso pois ele tentar apagar alguns diretórios. Não se preocupe, os diretórios não precisam ser removidos.
Os demais criam a lista e pronto. Tudo deve funcionar.

Opa!
Em algumas máquinas bastaram os comandos acima, mas teve uma que apresentou o seguinte erro:

E: Falhou ao buscar http://mirror.ufam.edu.br/raspbian/raspbian/pool/main/s/systemd/systemd_232-25+deb9u4_armhf.deb  Conexão falhou [IP: 200.129.163.17 80]
E: Impossível buscar alguns arquivos, talvez executar apt-get update ou tentar com --fix-missing?
root@casahd:/var/lib/apt# apt-get -y upgrade --fix-missing



Neste caso a solução já está na mensagem de erro, bastou rodar o comando abaixo e funcionou.
$ apt-get upgrade --fix-missing


Editor padrão via SSH para crontab

Eu uso bastante o linux remotamente utilizando SSH.
Recentemente precisei editar o crontab de uma máquina remota.
Pensei é fácil, basta utilizar "crontab -e" o vi vai abrir e pronto!
Não foi bem assim, na máquina remota o editor padrão era o Visual Studio Code e ele abria a interface gráfica na minha máquina, em uma conexão VPN bem lenta.
Como trocar isto!


Utilize o comando which para saber onde está o caminho completo do vi, como mostrado abaixo.
Depois é só definir a variável de ambiente chamada EDITOR.
Veja que você pode exportar de duas formas. A primeira funciona se o caminho existir (no meu caso existe) e a segunda é garantido pois você informa o caminho completo.

export EDITOR=/usr/bin/vi


Para tornar esta alteração permanente no Ubuntu, você pode editar o arquivo .profile no raiz do seu usuário.

echo "export EDITOR=/usr/bin/vi" >> ~/.profile

Uma outra opção é utilizar o comando "select-editor", contudo ele não funcionou em todas as máquinas que testei.


domingo, 9 de setembro de 2018

Instalar Kivy para Python - framework de janelas multiplataforma

Se você desenvolve em python pode ter acontecido de quer criar uma janela de diálogo (ou até a aplicação inteira) em um ambiente de janelas. Você sabia que é possível e até mesmo fácil de criar estas aplicações. Além disto você sabia que tem um framework que permite criar janelas e depois colocar sua aplicação no Windows, Linux, Mac, Android, IOS?

Pois é, o Kivy te permite fazer janelas no python.
Neste post vou mostrar como instalar o kivy no Windows.
A primeira coisa é ter o python instalado. Se você não tem dê uma olhada neste post.
Você não precisa do python com anaconda instalado, mas com ele as coisas ficam mais fáceis.
Basicamente você precisa do Python 3+ com pip. Nosso exemplo usa Python 3.5+.

Vamos os passos necessários para instalação.
A primeira coisa a fazer é garantir que seu ambiente está atualizado e para isto executamos o  comando:
python -m pip install --upgrade pip wheel setuptools

A saída do comando é mostrada abaixo. No meu caso somente o setuptools precisou ser atualizado.

O passo seguinte é instalar as dependências para 

python -m pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew
python -m pip install kivy.deps.gstreamer
python -m pip install kivy.deps.angle



Estamos prontos agora para instalar o kivy. Basta o comando abaixo:

python -m pip install kivy


 

Se você está aprendendo a usar o kivy, vai querer instalar também os exemplos do pacote, usando o comando abaixo.
python -m pip install kivy_examples

Os exemplos são instalados dentro do diretório share da instalação principal do python.
No meu caso a instalação principal está em C:\Users\<nome do meu usuário>\Anaconda3.
Vamos rodar um exemplo

Isto vai abrir um aplicativo em janela ;-))) que mostra as principais funções do kivy.


Em outros posts irei mostrar com usar o kivy.
Dois livros para você começar a aprender são:
 


Instalar python no Windows

Neste post mostro como instalar um pacote de aplicativos que criam um ambiente de desenvolvimento em Python. Vou mostrar como instalar o ambiente de desenvolvimento chamado Anaconda. A instalação é bastante simplificado no Windows, pois eles fornecem um instalador para Windows que somente precisa ser executado e o processo é basicamente next > next > finish, isto é, basta seguir os passos mostrados no wizard do instalador.

Para baixar o instalador, vá até a página https://www.anaconda.com/download/ e selecione o pacote de 32 ou 64 bits para o seu Windows.



Depois de instalar o programa estará instalado no diretório do seu usuário.
No meu caso isto é C:\Users\<nome do meu usuário>\Anaconda3.
É importante saber onde o programa foi instalado porque nele encontramos manuais e exemplos de utilização.

No Windows 10, o menu de aplicativos será alterado para conter as novas ferramentas:

Selecionado "Anaconda Prompt" será aberta um janela com o prompt, com o ambiente "core" do Anaconda selecionado. Assim você poderá entrar no ambiente de execução do Python.
Eu particularmente prefiro utilizar sempre o iPython do que o próprio python, pois o iPython dá hints para preenchimento dos comandos.


Desabilitar ModemManager no Ubuntu

 ModemManager provides a unified, high-level interface to control all kinds of modems: 4G/5G modems (LTE/NR) 3G modems NB-IoT / Cat-M1 modul...