quinta-feira, 9 de abril de 2026

Máquina modesta - a vez dos navegadores ferrarem o usuário

Nessa dica ou mostro como "consertar" um erro no navegador Brave em relação ao webgl que é utilizado para a navegação e interação com sites comuns e de jogos que precisam desse recurso. Mas isso não é apenas em relação ao Brave, também se estende para demais navegadores baseados no Chrome e, por enquanto, o Firefox (que não é "chromado") ainda está funcional na sua versão 149 (na presente data desse artigo no Debian 13).

O problema não vai ficar só nos navegadores mas vai se estender a outros itens do seu setup em relação às configurações. É inevitável que a tecnologia tem que avançar e isso demanda novos hardwares que deem as funcionalidades necessárias aos softwares e vice-versa e é difícil, dentro do leque de milhões de configurações mundo afora, manter a compatibilidade com tudo. O que temos hoje ocorrendo:
  • Gnome abandonando o X11 para usar Wayland;
  • Programas como OBS Studio "pedindo" OpenGL mais atual e, por consequência, drivers e até placa de vídeo;
  • Devido às novas versões, ambientes gráficos como o Plasma 6 mais novo tem os efeitos de desktop no mínimo possível se não possuir drivers/OpenGL mais novos (3.0+);
  • Navegadores que, por conta de suas próprias atualizações, acabam se "descompatibilizando" com o sistema de vídeo devido às mudanças do pipeline e do motor gráfico, com listas negras que inserem lá placas de vídeo que podem ser problemáticas no uso da navegação.

E tudo isso ocorre (ou pode ocorrer) em sistemas que possuam placas de vídeo (vou me manter nas Intel da vida):
  • Intel Série GMA 950/3000;
  • Intel série (chipset) G41/45;
  • Intel série "i" - primeira geração.

Já nas listadas abaixo podem começar a peidar na farofa:
  • Intel série "i" de segunda e terceira gerações.

Por enquanto estão de fora as Intel série "i" de 4ª geração pra frente. E essas limitações levam o usuário a passar por diversas escolhas, três delas listadas abaixo:
  • Procurar um sistema que ofereça suporte ao hardware utilizado mesmo que isso o faça usar distribuições menos amigáveis;
  • Procurar outros softwares que não precisem de "coisas mais atuais" ou adaptar o que usa para tal;
  • Se tudo falhar, comprar hardware novo ou mudar para um usado mais "acima" do que o atual e que preencha os requisitos mínimos de funcionalidade.

Tem gente que fica pistola com isso, diz que é "obsolescência programada", ou que é "conspiração tecnológica" mas não sabe p*rra nenhuma de manutenção de funcionalidades x recursos de hardware. Em uma comparação simples, vai colocar turbo em um motor aspirado sem fazer as mudanças necessárias para ver o que acontece. O motor é uma m*rda? Não, só que pra funcionar com turbo há uma série de medidas a serem tomadas para lidar, por exemplo, com o aumento de pressão, a maior injeção de combustível e por aí vai.

Pros dias de hoje - no caso de Informática, OpenGL abaixo de 3.0 estão defasados frente ao que já existe e a compatibilidade está pouco a pouco acabando. Instale na sua máquina:

sudo apt install mesa-utils vulkan-tools

Para saber a sua placa de vídeo e qual o OpenGL dela:

glxinfo | grep "OpenGL"

Deverá aparecer algo assim:

OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) G41 (ELK)
OpenGL version string: 2.1 Mesa 25.0.7-2
OpenGL shading language version string: 1.20
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 2.0 Mesa 25.0.7-2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16
OpenGL ES profile extensions:

O que está em negrito já mostra as informações da placa de vídeo e do OpenGL que já entrega a eventual necessidade de upgrade ou de procurar ou usar algo mais compatível. Já o comando:

vkcube

mostra uma animação atestando a funcionalidade da aceleração mesmo que de forma empírica.

Linux: Maquina modesta - a vez dos navegadores ferrarem o usuario 
 
Em todo caso, o usuário tem que ter em mente que tudo tem limite, querer usar uma máquina - por exemplo - Atom com 1GB de RAM - e querer que ela se comporte mediamente bem como desktop é o mesmo que achar que a "Çelessão Barasileira" vai ser hexa nos próximos 20 anos.

Não é só o ambiente gráfico, todo sistema, "leve" ou não, tem seu limite funcional dentro do que o usuário espera ter, não tem milagre nenhum.

Quem fala que "roda tudo" (meu zôvú!) em máquina modesta (perereca) é porque NUNCA rodou tudo e sim apenas o que ele precisou que rodasse, assim até eu...


quarta-feira, 8 de abril de 2026

Otimizando o uso do bash

Eu já tinha feito uma postagem sobre otimização do bash para quem curte usar o Terminal (acesse-a clicando aqui) e aqui vou complementar a postagem anterior, dotando o bash (não do zsh) de um auto-suggestion colorido e um "leitor" de histórico (history search) que vai facilitar a procura de comandos já feitos no sistema. Tudo isso também pode ser implementado no ZSH (outro shell) com plugins próprios mas aqui é - pelo menos por enquanto - para uso no bash que é o padrão das distribuições.

O auto-suggestions é o recurso de você digitar a parte inicial de um comando, apertar TAB e são mostradas as opções de comandos disponíveis a partir daquele "pedaço" que você digitou. Por exemplo, digitando "apt" ou "system" e dando TAB:

 


Vão aparecer as opções disponíveis completas para o item digitado - daí o "suggestions".

Já o history search é o recurso de você digitar parte de um comando, como "sudo apt", usar as teclas de direção e os comandos que já foram feitos iniciando com "sudo apt" vão aparecendo. Vamos então ver como implementar essas duas opções que até já podem existir mas vamos deixá-las mais adequadas. Abra o Terminal e digite:

nano ~/.inputrc

Coloque dentro e depois salve (crtl+o) e feche o arquivo (ctrl+x), reiniciando a sessão.

$include /etc/inputrc

# command history search
"\e[A": history-search-backward
"\e[B": history-search-forward
"\e[C": forward-char
"\e[D": backward-char

# extended auto-completation with tab
set show-all-if-ambiguous on
set completion-ignore-case on

# colors
set colored-completion-prefix on
set colored-stats on

Com isso, se você tiver no seu histórico do Bash (~/.bash_history), por exemplo, "nano", ao digitar "nano" e usar as teclas de direção pra cima e pra baixo tudo que você já digitou tendo no início "nano" (nano ~/.conkyrc, nano ~/.bashrc, etc) vai aparecendo; chegando ao que você precisa, basta usar TAB ou a seta para a direita e dar enter. E os comandos dados em parte e apertando TAB os comandos possíveis aparecerão como a primeira imagem dessa postagem.

segunda-feira, 6 de abril de 2026

Consertando o erro no Brave de webgl

Hoje em dia está cada vez mais difícil usar máquina modesta devido aos avanços das tecnologias e a eventual perda de suporte a certos recursos.

O navegador Brave acima da versão 1.70 não consegue mais criar um "contexto opengl" pois precisa do OpenGL acima da versão 3.0 para rodar. O navegador funciona mas para coisas como joguinhos 3D no navegador e mesmo ver vídeos o desempenho pode diminuir ou mesmo não funcionar, com a página aparecendo mas não carregando, ou tudo lento ou aparecendo uma mensagem tipo:

error - could not initialize webgl - sorry

Você pode ver isso indo no Brave e digitando isso aqui no campo de endereços:

brave://gpu/

Atenção aos itens destacados:

Linux: Consertando o erro no Brave de webgl
Se estiverem "disable" já era, mesmo que nas configurações de aceleração a mesma esteja habilitada. Vamos então usar uma versão anterior do navegador. No terminal (Debian e agregados):

wget https://github.com/brave/brave-browser/releases/download/v1.64.122/brave-browser_1.64.122_amd64.deb

Depois disso, desinstale a versão anterior, apague a pasta ~/.cache/BraveSoftware e depois:
  • sudo dpkg -i brave-browser_1.64.122_amd64.deb
  • sudo apt install -f (atenção: NÃO atualize!)
  • sudo apt-mark hold brave-browser

Esses comandos vão instalar o navegador, corrigir as dependências (mas NÃO atualize!) e marcar o pacote como "retido" (não será atualizado futuramente pelo apt).

Vão dizer para usar outro navegador mas pode ocorrer de alguns recursos, como localização, não sejam reconhecidos nos outros navegadores ou o usuário gosta do navegador e quer ficar com ele, então essa é uma "solução temporária" para quando houver possibilidade de um upgrade de hardware, como placa de vídeo mesmo sendo onboard - nesse caso, placa nova e/ou processador novo.


terça-feira, 31 de março de 2026

Zoxide e fzf no bash para incrementar o uso do Terminal

zoxide e o fzf são programas externos que são usados junto do shell (terminal) para acelerar a entrada de pastas e listar possibilidades de entradas disponíveis no histórico. Combinando os dois é possível achar comandos e "entradas cd" (de pastas) para deixar o uso do terminal mais agradável. O problema é que implementar isso acaba deixando o usuário preguiçoso mas vamos lá assim mesmo. Isso pode ser feito também no zsh mas vou mostrar primeiro como fazer no bash.

No Debian e agregados:

sudo apt install fzf zoxide

Abra o arquivo ~/.bashrc:

nano ~/.bashrc

Cole dentro, lá no final do arquivo:

eval "$(zoxide init bash)"

Salve e feche o arquivo. Recarregue o bash:

source ~/.bashrc


Agora todas as pastas em que você entrar no terminal usando bash serão guardadas num banco de dados e dota o seu terminal de um "acelerador". Digamos que você já tenha entrado na pasta .config; basta você digitar sem as aspas "z .config" (nem precisa ser o .config completo, .conf já serve já que é pasta e não arquivo) e o prompt vai aparecer o .config mais novo que você entrou. Se digitar zi config  você vai habilitar o modo de procura caso haja mais de uma entrada disponível:

Linux: Usando o zoxide e fzf no bash do Terminal

 Basta então escolher na listagem qual o que você quer usando as setas de direção. E o interessante é que você não precisa digitar o nome da pasta completo, basta digitar "z pasta ou parte do nome" e o zoxide vai direto na última entrada. A única necessidade é que você já tenha entrado na pasta individualmente via cd anteriormente. E, na listagem, ainda mostra as eventuais subpastas presentes nas entradas como ilustra a imagem acima.

Veja os exemplos:

  • z share = Vai entrar na pasta mas recente com a entrada share, por exemplo, /usr/local/share;
  • zi share = vai listar as entradas do histórico do bash que possuem "share" e pode ser escolhida a entrada com as setas de direção;
  • z local = Mesmo que a pasta exista (por exemplo, /usr/local) se você não tiver entrado nela anteriormente via cd (cd /usr/local) não vai achar nada. O zoxide não completa caminhos sozinho e sim se baseia no histórico do shell;

  • zi con = Vai listar as pastas já visitadas que tenham "con", como no exemplo abaixo.

  • Linux: Usando o zoxide e fzf no bash do Terminal

     Lembrando, a pasta TEM que estar no histórico. Se você tiver entrado na /usr/local ou /usr/local/share (atenção ao negrito de ambas) o comando z local ou z share vai achar as entradas MAS NÃO VAI entrar em z usr pois você não entrou nenhuma vez na pasta /usr individualmente.

    Depois de instalado o programa precisa "aprender" as pastas que você entra pois ele "linka" ao ~/.bash_history. Para saber o que o zoxide já "aprendeu", abra o terminal e digite:

    zoxide query -l

    Devem aparecer algumas entradas de comandos de pastas que você já tenha feito. Se estiver em branco é necessário "ensinar" para já "pegar" o que você já tem. Para acelerar o aprendizado, no terminal:

    cat ~/.bash_history \
    | sed 's/^: [0-9]*:[0-9]*;//' \
    | grep -E '^cd ' \
    | sed 's/^cd //' \
    | while read -r dir; do
        dir="${dir/#\~/$HOME}"
        [ -d "$dir" ] && zoxide add "$dir"
    done

    Pronto, o zoxide já está "esperto" para listar o que está no seu histórico. Se precisar apagar o banco de dados:

    rm -rf ~/.local/share/zoxide/db.zo

    e refaça o penúltimo comando mostrado aqui para "ensinar" o seu histórico de pastas ao zoxide.

    Só pra deixar claro, o "z" é o substituto do "cd", é como um alias para o comando "cd"; o "z" mais o resto faz o zoxide saber que você está querendo entrar em pastas e esse "z" é o zoxide que determina; poderia ser configurado o j, p ou qualquer outra letra mas vamos ficar no z mesmo.

    E lembrando:
    • z pasta ou nome parcial: entra na mais recente;
    • zi pasta ou nome parcial: mostra as pastas acessadas numa lista e que pode ser escolhida a entrada desejada via setas do teclado.

    segunda-feira, 30 de março de 2026

    As diferencas entre o clipboard comum e a selecao ativa

    Fiquei um bom tempo tentando dar uma descrição "mais ou menos" para um comportamento interessante para o "selection-based data transfer" que é a opção do sistema (X11) de copiar dados para uma "área de transferência primária" que é mais volátil do que a área de transferência normal ou clipboard. Volátil porque essa área é sobrescrita assim que um novo conteúdo é inserido, não é gerenciável em camadas como clipboard convencional. Então o tal "primary" (que vou chamar de seleção ativa) funciona assim:
    • Copia simplesmente por seleção sem usar CTRL+C ou botão direito na seleção/Copiar-Colar;
    • Conteúdo único: os dados são substituídos se feita outra seleção;
    • O conteúdo some se o programa que "detém" os dados é fechado;
    • Os dados dessa seleção ativa ficam disponíveis MAS o conteúdo copiado pro clipboard não vai para esse espaço primário;
    • O conteúdo da seleção ativa está acessível para colar usando o botão do meio do mouse.

    Você pode fazer o teste aí, selecione parte deste texto (apenas selecione), abra um bloco de notas, crie um arquivo de texto novo e clique com o botão do meio do mouse nesse documento aberto e você verá os dados aparecendo. Agora copie outra parte desse texto, dessa vez selecione e copie na base do CTRL+C e cole com CTRL+V: o segundo texto será copiado MAS o texto selecionado via seleção ativa ainda estará no "buffer" pois o clipboard não substitui essa seleção direta apesar dessa seleção ser listada no clipboard. E se você der mais uma selecionada então o conteúdo primário anterior será sobrescrito pelo que selecionou agora. E fechando o navegador esses dados da seleção primária somem desse espaço.

    Quem usa algum sistema de gerenciamento de clipboard pode ver uma listagem do que está copiado e como foi copiado. No Clipman aparece assim:

    Linux: As diferencas entre o clipboard comum e a selecao ativa
    Veja que há um ícone de mouse (seleção primária) e outro de prancheta (clipboard) e sempre só haverá um ícone de mouse porque essa cópia é única, o conteúdo é substituído assim que é feita outra seleção a não ser que você use CTRL+C.

    Esse tipo de recurso é bem útil para quando se usa o Terminal e curiosamente isso não existe no Windows ou MacOS, pelo menos não diretamente como no Linux. No Linux/X11 a seleção tem dados compartilháveis automaticamente; já no Windows/macOS a seleção é só visual e a cópia precisa ser uma ação explícita (via CTRL+C e CTRL+V) e, inclusive, o XTerm só trabalha com esse espaço primário, não tem atalhos pelo teclado para copiar ou colar.

    sábado, 28 de março de 2026

    Habilitando o "modo Quake" no XFCE4 Terminal

    terminal é algo que muitos usuários detestam usar mas, basicamente, é como saber andar de bike: não é necessário saber mas altamente recomendável fazer o básico. Cedo ou tarde o terminal acaba tendo que ser usado para eventuais erros de sistema ou mesmo pequenas configurações que podem estar indisponíveis graficamente.

    E pensando nisso, há vários deles além dos já presentes no ambiente gráfico escolhido, como o Konsole no Plasma, o Gnome Terminal no Gnome e o XFCE4-Terminal no XFCE. Mas há outros como o Tilix, o Guake e o Yakuake onde neles há uma "nobre" opção chamada "efeito Quake" ou menu drop-down.

    Esse "efeito" vem do jogo Quake onde os jogadores, para conversarem via chat ou outras coisas, apertam uma tecla e uma tela "desce" durante o jogo, o jogador digita o que precisa e apertando de novo uma tecla ou simplesmente voltando ao jogo  essa tela "sobe" e some. Esse recurso está presente em muitos jogos e dá um charme todo especial (e funcional) aos terminais que você está usando na sua máquina. Aqui vou falar desse recurso no XFCE4 Terminal.

    Basta usar o comando:

    xfce4-terminal --drop-down

    que o Xfce4 Terminal vai abrir em modo drop-down; terminado o uso, se clicar fora do terminal ele "some" mas dá pra fazer isso via atalho do teclado. No XFCE é fácil, abra o Configurações, Teclado, aba Atalhos para Aplicativos.

    Linux: Ativando o modo Quake no XFCE4-Terminal
    Clique em Adicionar e cole o comando mostrado acima, dê OK e logo depois defina uma tecla que não esteja em uso, como F12. Dê OK em tudo e pronto. Apertando F12 o terminal aparece.

    Linux: Ativando o modo Quake no XFCE4-Terminal
    Apertando F12 de novo OU clicando fora do terminal ele some. Você pode configurar opções separadas entre o modo Quake e o modo normal, como transparências, tamanho, foco e tal, só lembre de fazer isso estando no modo Quake para não afetar o modo normal.

    quinta-feira, 26 de março de 2026

    Copiar Para e Mover Para no menu de contexto do Nautilus e Dolphin

    Nessa dica eu mostrei como implementar no Thunar as opções de menu de contexto Copiar Para e Mover Para e assim economizar uns cliques nessas ações corriqueiras de trabalhar com arquivos. Agora vamos ver isso no Nautilus e no Dolphin cujas configurações já existem mas ficam meio escondidas.

    Nautilus

    O Nautilus anda vacilando com uma política de "vamos tirar sem perguntar nada" e com isso vemos extensões legais como o Nautilus Image Converter simplesmente sair dos repositórios (ou não disponibilizadas) e outras que deveriam já existir por padrão e a 'copiar/mover para' deveria ser uma delas. Para ter acesso à opção veja se o seu sistema tem os pacotes libnautilus-extension4 e python3-nautilus (nome do pacote no Debian). Se não o tiver:

    sudo apt install libnautilus-extension4
    sudo apt install python3-nautilus

    Reinicie a sessão e as opções deverão estar disponíveis no botão direito do mouse:

    Linux: Copiar Para e Mover Para no menu de contexto do Nautilus e Dolphin
    Dolphin

    No Dolphin há a necessidade do pacote dolphin-plugins. Se não o possuir:

    sudo apt install dolphin-plugins

    No Dolphin você pode baixar mais opções de menu de contexto (que se chama Service Menu) indo nos "3 pontinhos" do lado superior esquerdo, Configurar/Configurar Dolphin, Menu de Contexto; a opção Comandos 'Copiar e Mover para' deverá estar disponível (marque-a e clique em Aplicar).

    Linux: Copiar Para e Mover Para no menu de contexto do Nautilus e Dolphin
    Se não estiver, nessa janela clique em Baixar Novos Serviços e procure por lá, há bastante coisa para complementar o uso do Dolphin.
    Uma vez instalados, as opções escolhidas estarão disponíveis.

    Linux: Copiar Para e Mover Para no menu de contexto do Nautilus e Dolphin

    "Keep It simple" não significa ter as coisas funcionais adequadamente...