quarta-feira, 31 de julho de 2024

Abrir images HEIC no Image Viewer

 O visualizador padrão do Ubuntu é o Image Viewer.

Contudo ele não suporta por padrão as images HEIC (que baixo do meu iPhone).

Para vê-las é preciso instalar o pacote heif-gdk-pixbuf (não precisa de PPA).


Instalação

Abra um terminal no Ubuntu e execute os comandos abaixo. Isto irá instalar as bibliotecas libheif1 e libde265-0.

sudo apt -y install heif-gdk-pixbuf
sudo apt -y install heif-thumbnailer
sudo apt -y install libheif1:amd64


Normalmente basta o primeiro comando para instalar tudo. As duas linhas seguintes normalmente não precisam ser digitadas.



sexta-feira, 12 de julho de 2024

Clonando um repositorio com git+ssh

 

Primeiro precisamos criar a chave de criptografia para acessar o repositório:

mkdir github-keys
cd github-keys
ssh-keygen -o -t ed25519 -C “ssh@github.com” -f ~/github-keys/id_ed25519_github_ssh
chmod 600 id_ed25519_github_ssh*
cp id_ed25519_github_ssh ~/.ssh


Agora você precisa ir na sua conta do github para dar o acesso via chave.

Selecione Settings (esta opção aparece quando você clica no seu avatar no canto superior direito da janela). Esta opção irá abrir uma tela similar a mostrada abaixo. Selecione "SSH and GPG keys" e clique no botão "New SSH key".


Preencha os campos colocando no campo da chave o conteudo do arquivo da chave pública que você gerou no passo anterior (id_ed25519_github_ssh.pub neste exemplo).


Pronto. Agora podemos testar se o acesso está funcionando. 

Vamos tentar uma chamada SSH informando explicitamente a chave de criptografia no comando:

ssh -i ~/.ssh/id_ed25519_github_ssh -T git@github.com


Se tudo funcionar você irá ver um conjunto de linhas semelhante ao mostrado abaixo:

Warning: No xauth data; using fake authentication data for X11 forwarding.
X11 forwarding request failed on channel 0
Hi h3dema! You've successfully authenticated, but GitHub does not provide shell access.


Se não funcionar, acrescente -v ao comando ssh para ver mais detalhes. Pode ser que, por exemplo, o nome do arquivo com a chave privada esteja errada, ou pode ser permissão de acesso, etc.


Se o comando funcionou, faça novo teste sem informar a chave explicitamente.

ssh -T git@github.com


No meu caso, na primeira vez que tentei o comando acima retornou:

git@github.com: Permission denied (publickey).


Usando o -v, descobri que o ssh não estava identificando a chave correta.

O GitHub sugere instalar um SSH agent forwarding.

Eu preferi, ao invés disto, criar um arquivo de configuração.

Criei o arquivo ~/.ssh/config e acrescentei as seguinte linhas

Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_ed25519_github_ssh


Agora o comando funciona:




Criar um ambiente virtual usando PyENV + virtualenv

 Você adicionou o PyENV no seu computador (veja o nosso post).

Agora precisa criar o ambiente virtual onde irá trabalhar.

Portanto, precisa decidir qual versão do Python irá adiciona.

Depois de configurar o PyENV, você pode instalar as versões Python de sua escolha.

Você pode visualizar as versões disponíveis do Python usando o seguinte comando. Ele irá apresentar  uma extensa lista de opções. Selecione a versão desejada desta lista.

pyenv install --list


Instalação da versão Python

Por exemplo, para instalar o Python 3.9.19 basta digitar o comando abaixo que irá baixar e configurar o Python 3.9.19.
pyenv install 3.9.19



Selecionar uma versão instalada como padrão

Você selecionar entre as diversas versões do Python instaladas pelo PyENV, qual é a versão o padrão para comandos Python.
pyenv global 3.9.19
Isto fará que o Python 3.9.19 será seu padrão de instalação.
Você também pode definir como a versão local de um projeto específico executando o seguinte comando no diretório deste projeto.
pyenv local 3.9.19


Criar um ambiente virtual

Vamos testarse o comando pyenv virtualenv funciona. Nesse caso, ele deve retornar "nenhum nome virtualenv fornecido", pois é necessário especificar um nome de ambiente para criá-lo.


Depois de instalar a versão do Python, como mostramos acima, você irá criar um ambiente digitando:
pyenv virtualenv <versão_python> <nome_do_ambiente>

Portanto, no nosso caso o comando será pois queremos a versão 3.9.19 do Python e vamos chamar o ambiente virtual pelo nome do nosso projeto
pyenv virtualenv 3.9.19 moviq-segmentation



Para usar um ambiente virtual existente, você pode ativá-lo digitando: 
pyenv activate <nome_do_ambiente>


E para sair do ambiente virtual atual, você pode desativá-lo digitando o comando:
source deactivate

No nosso exemplo os comandos são
pyenv activate moviq-segmentation
pyenv deactivate

Note que a linha de comando passa a ter uma indicação do ambiente ativo.


Visão geral dos comandos

Resumindo os principais subcomandos do PyENV que você irá utilizar são:

  • pyenv install: para instalar uma nova versão do Python
  • pyenv update: Para atualizar o pyenv
  • pyenv virtualenv: Para criar um novo ambiente virtual Python
  • pyenv activate: Para ativar um ambiente virtual criado anteriormente.
  • source deactivate: Para desativar o ambiente virtual atualmente em uso.
  • pyenv virtualenv-delete: apaga um ambiente virtual
  • pyenv uninstall: para desinstalar uma versão do Python.

Instalar do PyENV no Ubuntu

Os passos mostrados neste post irão guiá-lo através do processo de instalação do PyENV no Ubuntu. Os passos mostrados abaixo foram testados no Ubuntu 22 bem como  na mesma versão rodada no ambiente WSL do Windows.


Passo 1:

Comece atualizando a lista de pacotes do sistema para garantir o acesso às versões de software mais recentes:

sudo apt -y update


Passo 2: 

Instale as dependências necessárias para o PyENV.

Normalmente ele irá exigir certas dependências para funcionar de maneira ideal. 

Você pode instalá-los usando o seguinte comando:

sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev


Passo 3: 

Se o seu shell padrão for Bash, os comandos abaixo anexam duas linhas ao seu arquivo ~/.bashrc:

echo -e 'export PYENV_ROOT="$HOME/.pyenv"\nexport PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc

echo -e 'eval "$(pyenv init --path)"\neval "$(pyenv init -)"' >> ~/.bashrc


Se você utiliza outro kernel, os comandos são diferentes e não são mostrados neste post.


Passo 4:

A linha de comando abaixo irá baixar e executar o script do instalador PyENV:

curl https://pyenv.run | bash


Se depois da instalação você vir a mensagem de erro 

/usr/bin/env: ‘bash\r’: No such file or directory

Faça o seguinte procedimento para corrigir.

O conjunto de comandos irá resolver o problema substituindo todos os caracteres de retorno de carro (\r) por nada:

cd ~/.pyenv && find . -type f | xargs sed -i $'s/\r$//' && cd -


Se você chamar o pyenv agora, ele irá funcionar. Por exemplo, abaixo vemos como ver a versão do programa e um exemplo da saída no meu computador.

$ pyenv --version
pyenv 2.4.7


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...