Como instalar suporte a MariaDB no Python

Depois de aprender o básico de qualquer linguagem de programação, muitas pessoas querem avançar — e inserir a possibilidade de conectar a um banco de dados pode ser um degrau importante.

Neste texto, vou mostrar como instalar o suporte a conexão a bancos de dados MariaDB em um sistema com o Debian 11 testing “Bullseye” com o Python 3.8 instalado.

Como instalar o suporte a MariaDB com o PyPi

O gestor de pacotes do Python é a maneira mais simplificada para instalar software relacionado à plataforma.

Vai ser necessário preparar o sistema, com a instalação dos seguintes pacotes: libmariadbclient-dev, libmariadb3 e libmaria-dev:

sudo apt install libmariadbclient-dev libmariadb3 libmariadb-dev
Instalação dos pacotes Debian para se conectar a bancos de dados MariaDB a partir do Python.

Depois disso, rode o PyPi:

sudo pip3 install mariadb
Importando o módulo mariadb dentro da shell do Python 3

A partir deste ponto, já é possível importar o módulo mariadb, dentro da shell do Python, conforme a figura acima.

Edite suas fotos com o Photoflare

O Photoflare é um software de edição de imagens leve e simplificado, com uma edição livre e de código aberto (community edition).

Neste post, vou abordar a instalação, quais os meus primeiros ajustes e fazer uma análise geral do aplicativo.

A versão que usei para escrever este texto foi a 1.5.7 Community Edition, instalado via apt, no meu Debian 10 stable. Portanto, se você usa Ubuntu ou uma versão mais atual de sistema operacional do que eu, provavelmente vai encontrar uma versão mais atual para instalar.

Tela “about” com informações gerais sobre a versão atual do Photoflare.

Instalação do Photoflare no Linux

O aplicativo tem versão para Windows, que pode ser encontrada no site oficial (link no final do texto, pessoal!) e algumas versões para Linux.

As versões para Linux incluem a instalação a partir do código fonte, através de PPAs ou pelo sistema de instalação de software padrão da sua distro favorita.

Se você usa Linux, recomendo usar o sistema de instalação padrão da sua distro — que é sempre o melhor método (rápido e seguro).

No Debian, eu uso o velho e bom apt (no terminal, mesmo…):

sudo apt install photoflare

Para quem usa uma versão stable do Debian, pode ser viável a instalação de uma versão mais atual através dos backports. Usualmente, eu evite este tipo de procedimento.

A interface gráfica do Photoflare e os meus ajustes iniciais

O aplicativo contém uma série de ajustes que você pode acessar a partir de botões, na interface principal. É bem intuitivo e fácil de usar.

Além da simplicidade, um dos pontos fortes do programa, pode ser a aplicação rápida de filtros, que podem dar às suas imagens um caráter único nas suas redes sociais e te ajudar a obter mais destaque.

Para configurar e ajustar o aplicativo às suas necessidades, acesse o painel Preferences, dentro do menu Tools, na borda superior.

Para mim, os melhores ajustes iniciais são os que seguem:

O Photoflare aceita gravar (salvar) suas imagens em diversos formatos, inclusive os populares jpeg e png (padrão)

O formato padrão do aplicativo é o PNG (Portable Network Graphics). Mas, se você preferir, pode escolher aqui o bom e velho JPEG. Tanto faz…

Relação entre o tamanho e a qualidade da imagem final.

O padrão do Photoflare, é gravar suas imagens com 90% na relação compressão/qualidade. Mas, se você pretende postar nas redes sociais, vale a pena ser um pouco mais agressivo, aqui. Pode “descer” até 75%, para obter imagens menores — e economizar espaço e tempo para upload. Além do fato de que ninguém irá notar qualquer perda de qualidade.

Claro que isso depende muito da rede social de que estamos falando… Para Facebook e Instagram, eu experimentaria até 60%, se o tamanho da imagem em KB fosse muito importante. Para o Flickr ou o Smugmug, acima de 90% talvez seja o ideal.

Lembre-se que a qualidade/compressão só vale para as imagens salvas em JPEG. Não se aplica ao PNG.

Imagem gravada em JPEG com 65% de compressão.
Mauricio Pacheco, músico da banda da Vanessa da Mata, tocando guitarra no palco.

Antes de prosseguir, vale chamar a atenção para o fato de que o “nome correto” desta opção talvez fosse “quality” em vez de “compression“. Quanto o maior o valor, nesta régua, maior será a qualidade final (e o tamanho do arquivo) e menor a compressão. Meio confuso, não é? Eu também achei… 😉

Na última guia do menu de preferências, fica a primeira “má notícia” do aplicativo. Ele não tem a opção de Português na versão que instalei e usei. Quem sabe, nas próximas versões…

No momento em que testei, não havia a opção “Português” entre os idiomas do aplicativo.

Nesta mesma tela, eu ativei o “Maximize on Startup“, que maximiza a janela do app, quando ele for iniciado. Isto me permite trabalhar com menos distrações.

Conclusões sobre o Photoflare

Dentro da proposta de ser simples, rápido e fácil de usar, o Photoflare se sai muito como programa de edição.

Ele vai além do básico, oferecendo ferramentas de healing, entre outras que permitem corrigir imperfeições na pele etc.

Recomendo experimentar, para ver se serve para você. O Ctrl+Z funciona muito bem e ajuda a desfazer eventuais erros de edição.

Outro atalho útil é usar a tecla Ctrl (teclado) com a rodinha do mouse para dar zoom em alguma área da imagem.

Site oficial do Photoflare: https://photoflare.io

Onde encontrar o código fonte: https://launchpad.net/~photoflare/+archive/ubuntu/photoflare-daily (versão dev/daily)

Como incrementar rapidamente a sua biblioteca de codecs de vídeo para FFmpeg

O FFmpeg é um framework multimídia líder, dentro do universo GNU/Linux, para lídar com imagens, vídeo e áudio.

Sua função é permitir a codificação, decodificação, transcodificação, realizar tarefas complexas de mux, demux, fluxo (streaming), aplicar filtros etc.

Em outras palavras, o FFmpeg é um software concebido para manipular arquivos multimídia, de qualquer tipo, que tenham sido criados.

De acordo com o manual do utilitário, ele oferece suporte aos formatos — desde os mais obscuros e antigos — até os mais novos e avançados.

Muitas pessoas usam o FFmpeg sem saber, através de softwares GUI — que invocam as funcionalidades do FFmpeg, por baixo, sem que o usuário perceba — tal como o Kdenlive e outros programas conhecidos para edição de vídeo e áudio.

Se você preferir, contudo, pode invocar o FFmpeg da linha de comando de um terminal e realizar as tarefas por si mesmo, sem a necessidade de instalar qualquer outro programa — até por que, usualmente, o FFmpeg já vem instalado no Linux.

Neste site, tenho vários artigos que ensinam truques para usar o FFmpeg na edição de arquivos de áudio e vídeo, direto na linha de comando.

Editar vídeo e áudio na linha de comando pode ser um pouco “sem graça” para muitas pessoas, mas há algumas vantagens e bônus para esta abordagem.

A edição na linha de comando pode ser mais ágil e sempre usa menos recursos do seu sistema na execução das tarefas.

Um exemplo de atividade que só é possível realizar na linha de comando, seria a aplicação de vários filtros simultaneamente a um vídeo, para gerar vários arquivos resultantes da ação.

Desta forma, posso obter vários vídeos, prontos ao mesmo tempo, para analisar (e escolher qual fica e quais eu jogo fora). Na GUI, eu seria obrigado a aplicar um filtro de cada vez.

O pacote Extra58 do FFmpeg

A libavcodec-extra58 é um metapacote de bibliotecas feitas para o FFmpeg. Existe a versão “não extraordinária” — chamada libavcodec58, que conflita com esta aqui. Portanto, instale apenas uma.

O metapacote, traz uma série adicional de bibliotecas de codecs de codificação/decodificação de áudio e vídeo. Contém os seguintes codecs:

  • OpenCORE Adaptive Multi-Rate (AMR) Narrow-Band (codificador/decodificador)
  • OpenCORE Adaptive Multi-Rate (AMR) Wide-Band (decodificador)
  • Android VisualOn Adaptive Multi-Rate (AMR) Wide-Band (codificador)

O segundo metapacote (metapackage) é o libavcodec-extra que, na verdade, depende do primeiro. Ou seja, basta instalar este. No Debian, o comando fica assim:

sudo apt install libavcodec-extra
Instalação do libavcodec-extra, biblioteca de codecs para FFmpeg.

A biblioteca nova já estará configurada e pronta para usar, logo após a instalação.

As permissões ideais para o diretório /var/www no seu servidor web

Este assunto pode ser um pouco complexo, mas ele é voltado apenas para quem encontrou algum problema para trabalhar com arquivos no servidor a partir do WordPress ou outro programa de CMS semelhante.
Como sempre, sugiro dar uma olhada nos links, espalhados pelo texto ou nas referências (ao final), caso queira obter mais ajuda sobre o tema.

As permissões precisam ser dadas na medida do necessário. Nada além disso.

Para contextualizar, o post é baseado em um servidor LAMP, com um blog WordPress instalado em uma máquina Debian 9 Stretch. Obtive os mesmos resultados ao testar no Ubuntu 12.04 LTS.
Este tipo de ajuste pode ser necessário após a instalação do WordPress, do Piwigo e outros aplicativos web, que precisam fazer alterações dentro dos subdiretórios em que foram instalados:

  • atualizar automaticamente seus arquivos para novas versões,
  • atualizar ou instalar novos plugins,
  • permitir que você realize o upload de arquivos (imagens, por exemplo) de dentro do próprio aplicativo etc.

Pode haver dificuldades para fazer upload via FTP, a partir do aplicativo, se as permissões do diretório em que ele se encontra instalado (ou o /var/www) no servidor não forem adequadas.

WordPress FTP configuration

Ao tentar instalar um plugin ou fazer a atualização de qualquer elemento do WordPress, ele irá pedir informações da conexão (connection information) FTP, caso as permissões não estejam corretamente ajustadas no servidor.

A que grupos e usuários os arquivos do WordPress devem pertencer?

Em um servidor particular ou doméstico, que apenas você irá usar, é comum transferir todos os arquivos do /var/www para o seu nome de usuário.

Se este não for o caso, a sugestão é transferir todos os arquivos para a posse do www-data (user e group). Em seguida, inscreva o seu usuário no grupo www-data.

Veja como:


adduser nomedousuario www-data
cd /var/www
chown -Rv www-data:www-data /var/www/
chmod -Rv g+rw /var/www/

Os comandos, acima, foram executados como root.

O que foi feito:

  • O comando adduser foi usado para inscrever o usuário ‘nomedousuario’ no grupo www-data.
  • Entrou no diretório /var/www.
  • O comando chown (change owner) atribuiu, recursivamente, os arquivos contidos em /var/www para o usuário e grupo www-data.
  • O comando chmod (change mode) atribuiu permissões de leitura (r) e escrita (w) aos arquivos, para os grupos a que pertencem.

Com isto já será possível fazer alterações no diretório através do WordPress ou outros aplicativos instalados.

Permissões padrão para o WordPress

Se antes, havíamos estabelecido as permissões genéricas, agora, vamos nos concentrar nas que estão relacionadas ao WordPress.

Como já foi abordado, o WordPress não grava apenas informações (de texto) no banco de dados.

O aplicativo também precisa ter permissões de escrita nos subdiretórios em que foi instalado, para poder armazenar diversos tipos de conteúdo, como as imagens.

O único ponto que torna o assunto “permissões de acesso” complexo é a segurança.
Queremos que o aplicativo execute suas funções adequadamente — mas não queremos que pessoas de fora tenham acesso irrestrito aos nossos arquivos.

Como é que se encontra um equilíbrio seguro e funcional para esta questão?

O importante, aqui, é que o www-data tenha permissões rw, ou seja, de leitura (read) e escrita (write) sobre todos os seus arquivos.

Se você tem interesse em saber mais sobre o tema, leia sobre permissões de arquivos no Linux.

Referências

5 razões para usar o GNOME

O GNOME é um ambiente desktop completo para sistemas operacionais das famílias GNU/Linux e UNIX.
Surgiu pouco tempo depois do lançamento do KDE, com a proposta de ser um projeto de código aberto e 100% livre (que ainda não era o caso do KDE).

Atualmente, as comunidades de desenvolvedores do KDE e GNOME trabalham juntas em alguns projetos e trocam informações — e ninguém desconfiaria que em algum momento da história as duas tiveram uma forte rivalidade.

Pessoalmente, gosto muito dos dois ambientes e não saberia escolher um em detrimento do outro.

Já transitei muito entre o KDE, o GNOME, o XFCE e o LXDE. Atualmente, estou muito satisfeito com o GNOME, de acordo com o que vou relatar abaixo.

É possível instalar o KDE e o GNOME na sua estação de trabalho — o que permite alternar entre um e outro, além de rodar os aplicativos nativos de cada um em qualquer um dos ambientes.

As boas práticas de uso do sistema operacional, contudo, recomendam optar pela instalação de apenas um dos dois.

Pra ficar claro, o propósito deste post não é fazer você desistir de usar o KDE, o XFCE ou qualquer outro desktop environment para começar a usar o GNOME.

Na verdade, já fiz um post semelhante a este, ressaltando as qualidades do KDE.

Visual minimalista

Classificar o GNOME como minimalista, pode soar ambicioso (uma “forçação de barra”). Há outros que cumprem melhor esta função.

Contudo, o GNOME tem um design mais sóbrio do que o KDE e tem menos opções de customização visual (ou “perfumaria”) do que muitos desktops gráficos.

Ele é projetado para o foco imediato, ou seja, começar a trabalhar logo após a instalação — e é exatamente isso que ocorre.

No KDE, a tentação para personalizar e brincar com as inúmeras opções de efeitos e exibições é enorme e constante.

Opções de customização na Internet

Com uma rápida configuração no Firefox ou qualquer outro navegador, é possível ajustar o GNOME a partir da página do projeto na Internet.

A possibilidade de baixar, instalar, ativar ou desativar as extensões do GNOME a partir do navegador é muito útil e permite que se tenha um conjunto de software um pouco mais enxuto.

Otimização do espaço da tela

O projeto do GNOME já deu tchau ao excesso de itens na tela, como barra de tarefas/programas e menu nos cantos.
Tal como no Unity, a gente dispara o Dash (com a tecla Super) e digita o nome do aplicativo que deseja.

A versão customizada padrão do GNOME, no Ubuntu 18.04 LTS, usa como legado do Unity, uma doca do lado esquerdo, com os ícones de execução dos aplicativos mais frequentes.

A doca não está presente na versão padrão do GNOME do Debian (e outras distribuições). Contudo, o usuário pode configurar uma, se quiser.

A consistência de cores

Esta característica é muito pessoal e, além disso, é fácil modificar para quem não gosta.

O tema padrão do GNOME, para Debian, é (na minha humilde opinião) neutro e (talvez) um pouco sem graça. Mas, como eu disse, aqui, tudo é ajustável.

Na versão customizada do Ubuntu, o tema segue as cores tradicionais da Canonical.

O GNOME tem áreas de trabalho dinâmicas

Em outras palavras, quando você envia um aplicativo para uma nova área de trabalho, o GNOME cria a nova área virtual sob demanda, para abrigar o aplicativo que você deseja enviar para lá.

A área de trabalho expira automaticamente, quando o último aplicativo, dentro dela, é encerrado.

Isto tem um impacto muito positivo na economia de recursos de memória e processamento da sua máquina.

Como expliquei neste texto, não uso este recurso, mas o vejo como positivo.

A maturidade do projeto

O GNOME, como projeto, teve início em Agosto de 1997 e, portanto, tem aproximadamente 22 anos de estrada.
Muita inovação foi feita, mas atualmente, percebe-se que há mais investimento na estabilidade do software.

Atualmente, uso a versão de testes do GNOME, no Debian testing e, simplesmente, não dá problema. Tudo roda super bem e rápido.

O que eu melhoraria na interface do GNOME

Na interface gráfica, eu gostaria muito de ver a integração das janelas à barra superior padrão do ambiente. Ou seja, quando uma janela estivesse maximizada, suas barras e bordas desaparecem, permitindo a integração completa à interface — como no Unity e no MacOS.

O nome deste recurso é GNOME Global Menu e existe um projeto em andamento neste sentido. Infelizmente, até o momento, ainda não viu a luz da maturidade — e talvez nem da puberdade.

Fora isso, acredito que seja um projeto de interface gráfica vencedor, de inúmeras outras qualidades e pouquíssimos defeitos.

Se quiser, por favor, comente sobre o que você gosta (ou não) no GNOME e que recursos o projeto poderia incorporar futuramente.