blog-post

qutebrowser - Instalação e configuração no Debian com flatpak ou venv

author image
Índice

O que é o qutebrowser?

É um navegador, software livre, baseado em Python e PyQT5 com interface gráfica minimalista, onde sua interação com o programa é focada no uso de teclado (inspirado totalmente no vim). Explicação direta e resumida. Para mais detalhes, acesse: qutebrowser.org

Mas o que é vim?

É um editor de texto ubíquo usado em qualquer tipo de texto, de forma eficiente e altamente customizável. Normalmente incluído como 'vi' na maioria dos sistemas UNIX e Apple OS X. Para mais detalhes, acesse: vim.org

Instalação no Debian

Nesse tutorial eu apresento a instalação via flatpak e, caso prefira, a instalação da versão do git, onde utiliza-se o Python para executar o programa em si.

É recomendável usar a versão virtual env do qutebrowser ou flatpak no Debian. O Debian utiliza uma versão antiga do QT e do qutebrowser via apt, não cobrindo, inclusive, alguns patches de segurança.

Instalação via flatpak

Nesse link é possível averiguar em que ponto está o programa em si (versão e última data de atualização). A vantagem da versão do flatpak em detrimento a versão venv é que pode-se usar a versão do qt com os pacotes de codecs proprietários. A desvantagem é que alguns scripts (keepass) podem não funcionar se possuírem outros tipos de dependência (nacl).

Para instalar, execute:

flatpak install flathub org.qutebrowser.qutebrowser

Para tornar padrão, faça:

xdg-settings set default-web-browser org.qutebrowser.qutebrowser.desktop

Onde fica o arquivo de configuração do qutebrowser via flatpak?

O caminho da pasta onde fica o config.py é:

~/.var/app/org.qutebrowser.qutebrowser/config/qutebrowser/

Instalação da versão do git com venv

Antes de instalar a versão virtual env, instale os pacotes a seguir com este comando:

sudo apt install --no-install-recommends git ca-certificates python3 python3-venv \
asciidoc libglib2.0-0 libgl1 libfontconfig1 libxcb-icccm4 libxcb-image0 \
libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-shape0 libxcb-xfixes0 \
libxcb-xinerama0 libxcb-xkb1 libxkbcommon-x11-0 libdbus-1-3 libyaml-dev gcc \
python3-dev libnss3

Feito isto, execute os seguintes comandos:

git clone https://github.com/qutebrowser/qutebrowser.git
cd qutebrowser

Agora execute:

python3 scripts/mkvenv.py

Para abrir o qutebrowser, para testá-lo, basta executar:

.venv/bin/python3 -m qutebrowser

Porém o qutebrowser ainda não está disponível para acessar no menu de seu gerenciador de janelas (nem como navegador padrão).

Tornando o qutebrowser executável

Crie um arquivo em /usr/local/bin/ de nome qutebrowser e torne-o executável.

sudo touch /usr/local/bin/qutebrowser
sudo chmod +x /usr/local/bin/qutebrowser

Edite /usr/local/bin/qutebrowser e coloque o seguinte conteúdo:

#!/bin/bash
/caminho/para/o/qutebrowser/.venv/bin/python3 -m qutebrowser "$@"

Edite o arquivo $HOME/.local/share/applications/qutebrowser.desktop e coloque o seguinte conteúdo:

[Desktop Entry]
Name=qutebrowser
Exec=/usr/local/bin/qutebrowser %u
Icon=qutebrowser
Type=Application
MimeType=x-scheme-handler/unknown;x-scheme-handler/about;x-scheme-handler/https;x-scheme-handler/http;text/html;

Tornando o qutebrowser o navegador padrão

Inclua o qutebrowser como alternativa de navegador:

sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/local/bin/qutebrowser 200

Escolha-o para torná-lo o navegador padrão

sudo update-alternatives --config x-www-browser

Aparecerá algo assim:

Existem 3 escolhas para a alternativa x-www-browser (disponibiliza /usr/bin/x-www-browser).

  Selecção   Caminho                        Prioridade Estado
------------------------------------------------------------
  0            /usr/local/bin/qutebrowser      200       modo automático
  1            /usr/bin/firefox-esr            70        modo manual
  2            /usr/bin/google-chrome-stable   200       modo manual
* 3            /usr/local/bin/qutebrowser      200       modo manual

Pressione <enter> para manter a escolha actual[*], ou digite o número da selecção:

Escolha a opção que se refere ao qutebrowser e fim. Salientando que essa escolha é a nível de sistema e, caso deseje que os outros usuários utilizem o qutebrowser, o venv deve ter as devidas permissões de acesso (caso tenha colocado em seu home)

Para completar e ter certeza que ele é o browser padrão, utilize o comando xdg-settings:

xdg-settings set default-web-browser qutebrowser.desktop

Atualizar o qutebrowser

Entre na pasta do qutebrowser cd /caminho/para/o/qutebrowser e execute os seguintes comandos:

git config pull.rebase false
python3 scripts/mkvenv.py --update

Nas próximas vezes basta entrar na pasta e executar python3 scripts/mkvenv.py --update

Utilizar o keepassxc para gerenciar senhas do qutebrowser

Copie o script qute-keepassxc na pasta de userscritps em seu .config

cd /caminho/para/o/qutebrowser
mkdir ~/.config/qutebrowser/userscripts
cp ./misc/userscripts/qute-keepassxc ~/.config/qutebrowser/userscripts/

Gere sua chave privada e pública GPG para utilizar no script para integrar o qutebrowser e o keepassxc:

gpg --gen-key

Ao fim é informada a chave que deve ser preenchida (no lugar de ABC1234) neste trecho que deve ser inserido em ~/.config/qutebrowser/config.py:

config.bind('<Alt-Shift-u>', 'spawn --userscript qute-keepassxc --key ABC1234', mode='insert')
config.bind('pw', 'spawn --userscript qute-keepassxc --key ABC1234', mode='normal')

Se usou como foi indicado, ao pressionar Alt+Shift+u, aparecerá a janela de uso do keepassxc, mostrando que tudo deu certo.


Configurações e coisas extras

Adblocker

Para atualizá-lo, no qutebrowser, digite :adblock-update

Abrir no modo privado/icógnito do qutebrowser

Digite :open -p ENDEREÇO e uma nova janela será aberta em modo privado/icógnito, não possuindo suas sessões ativas.

Deixando o qutebrowser com uma aparência interessante

Utilizo o dracula theme no qutebrowser. Caso deseje, siga as instruções a seguir.

Entre na pasta do qutebrowser (em .config) e baixe o projeto do git do dracula theme para qutebrowser.

Se você está utilizando a versão flatpak do qutebrowser , a pasta de configurações do qutebrowser (onde fica o config.py) estará localizado em ~/.var/app/org.qutebrowser.qutebrowser/config/qutebrowser/

cd ~/.config/qutebrowser
git clone https://github.com/dracula/qutebrowser-dracula-theme.git dracula

Acrescente em ~/.config/qutebrowser/config.py as seguintes linhas

import dracula.draw

# Load existing settings made via :set
config.load_autoconfig()

dracula.draw.blood(c, {
    'spacing': {
        'vertical': 6,
        'horizontal': 8
    }
})

Qualquer dúvida, acesse o dracula theme .

Reproduzir vídeos com o mpv

Uma das limitações, de usar a instalação do qutebrowser com venv, é de não ter codecs proprietários e, infelizmente, não conseguir reproduzir alguns vídeos.

Uma alternativa é enviar o link para reprodução no mpv.

Para tal, instale o mpv:

sudo apt install mpv

Abra o qutebrowser e execute o seguinte comando:

:bind X hint links spawn --detach mpv {hint-url}

Quando digitar X, aparecerão as marcações de link a qual deseja enviar para o mpv abrir. O vídeo tocará em uma janela separada.

Teclas de atalho e controle

Sempre que precisar de ajuda, digite :help. Nele, você também encontrará as teclas de atalho, que deixarei a imagem aqui como uma pequena referência.

Teclas de atalho e outros comandos do qutebrowser

Mudando a página padrão e o buscador padrão para searx.be

Saiba o que é esse buscador (searx) em seu próprio link: searx.be

Edite o arquivo config.py e acrescente as seguintes linhas:

c.url.start_pages = "https://searx.be"
c.url.default_page = "https://searx.be"
c.url.searchengines = {"DEFAULT": "https://searx.be/search?q={}"} 

Outras modificações que quiser fazer

Acesse, no qutebrowser, a seguinte url: qute://settings/

Nela, você terá acesso a página padrão, página inicia, buscador padrão e etc.

Só modifique o que você sabe que está fazendo.

Publicações Recentes

blog-post

Utilizando pipx no lugar do pip

Introdução O pipx funciona parecido com o pip, porém ele já cria ambientes isolados automaticamente (venvs). Instalação …

Quer saber mais sobre mim?

Para conversar comigo ou saber outros detalhes profissionais
me encontre no…

Linkedin
*