sexta-feira, 17 de abril de 2026

Dando uma turbinada no terminal bash

Nessa dica eu mostro como dar uma configurada mais avançada no bash e no zsh mas tem usuários que podem ter alguns problemas com o zsh (eu mesmo já tive), então resolvi fazer essa dica para implementar funções mais avançadas aos moldes que vemos no zsh.

Parte da dica citada acima vai servir de base, então vale uma lida lá antes de tentar essa aqui. Primeiro comece instalado os pacotes:

sudo apt install zoxide zfz bash-completion

Após isso, faça backup do seu ~/.bashrc:

cp ~/.bashrc ~/.bashrc-bkp

Agora abra o seu ~/.bashrc atual, apague o conteúdo e coloque esse aqui (depois de editado, dê um source ~./bashrc):

# ~/.bashrc

# =========================
# INTERATIVO
# =========================
case $- in
    *i*) ;;
      *) return;;
esac

# =========================
# HISTÓRICO
# =========================
HISTCONTROL=ignoreboth
HISTSIZE=10000
HISTFILESIZE=20000
shopt -s histappend
shopt -s checkwinsize

# =========================
# PROMPT
# =========================
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi

case "$TERM" in
    xterm-color|*-256color) color_prompt=yes;;
esac

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt

case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
esac

# =========================
# CORES LS
# =========================
if [ -x /usr/bin/dircolors ]; then
    eval "$(dircolors -b)"
    alias ls='ls --color=auto'
fi

# =========================
# ALIASES EXTERNOS
# =========================
[ -f ~/.bash_aliases ] && . ~/.bash_aliases

# =========================
# ZOXIDE
# =========================
eval "$(zoxide init bash)"

# =========================
# FZF
# =========================
export FZF_DEFAULT_OPTS="--height 40% --layout=reverse --border --info=inline"

[ -f /usr/share/doc/fzf/examples/key-bindings.bash ] && \
  source /usr/share/doc/fzf/examples/key-bindings.bash

zi() {
  local dir
  dir=$(zoxide query -l | fzf --height 40% --layout=reverse --border --preview 'ls -la {}') && cd "$dir"
}

# =========================
# FZF - HISTÓRICO EXATO
# =========================
fzf-history-widget-exact() {
  local selected
  selected=$(history | tac | sed 's/^[ ]*[0-9]*[ ]*//' | \
    FZF_DEFAULT_OPTS="$FZF_DEFAULT_OPTS --exact" fzf)

  if [ -n "$selected" ]; then
    READLINE_LINE="$selected"
    READLINE_POINT=${#READLINE_LINE}
  fi
}

# escolha o atalho (recomendado Alt+F)
bind -x '"\ef": fzf-history-widget-exact'

Não esqueça que o zoxide precisa "aprender" o seu histórico caso você tenha instalado o recurso agora:

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

O funcionamento é o mesmo mostrado na dica citada acima. Lembrando que o zoxide é um "cd melhorado com busca" onde você digita parte da pasta que você já entrou e ele mostra uma lista; se a pasta for completa, já entra direto desde que já tenha sido acessada anteriormente. Se digitar só "zi" sem as aspas você cai direto na pesquisa e conforme vai digitando as opções vão diminuindo conforme ficar mais completo o nome de onde você quer ir.

Agora o fzf é um "procurador de histórico" e procura por tudo que você já tenha digitado em termos de comando. No terminal, apertando CTRL+R você vai para uma listagem onde conforme vai digitando a listagem vai diminuindo; chegando onde quer, enter.

Linux: Dando uma turbinada no bash
Dá até pra combinar palavras:

Linux: Dando uma turbinada no bash
Agora uma espécie de suggestions, onde você digita parte de um comando inicial e usando as teclas de setas pra cima e pra baixo mostra as opções complementares de comandos já efetuados. Por exemplo, se você digitar sem as aspas "sudo apt-mark" e usar as setas de direção TODAS as entradas de comandos já digitadas e presentes no histórico (~/.bash_history) que tenham a opção de início "sudo apt-mark" aparecerão conforme o uso das setas. Crie o arquivo ~./inputrc:

nano ~/.inputrc

Coloque dentro:

$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

# misc
set blink-matching-paren on
set mark-symlinked-directories on

Salve e feche o arquivo, reinicie a sessão e pronto. Esse recurso não "antecipa" o comando mas é melhor do que ficar procurando com as teclas de setas; e ainda temos o fzf e zoxide que fornece indiretamente essa opção.

O ~/.inputrc é interessante ter pois ele dá cores ao uso do TAB para complementar o comando e para deixar tudo mais completo, no seu ~/.bashrc coloque isso aqui DEPOIS do esac do Interativo:

# enable bash completion in interactive shells
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

Vai ficar assim:

Linux: Dando uma turbinada no bash
Complementando: o CTRL+R pode encontrar mais do que deveria, "pulverizando" as palavras mais curtas com o conteúdo de outras opções encontradas. Por exemplo, mandando procurar por "sudo apt" ele pode expandir a procura para outras coisas que tenham su, do e até mesmo as letras da procura inicial. Para uma procura "de gente grande, use o ALT+F, aí sim é procura exata.

Terminal bash quase "profissa"...

segunda-feira, 13 de abril de 2026

Configurando o Cairo Dock individualmente em ambientes diferentes na mesma máquina

Nessa dica eu mostro como instalar e configurar o Cairo Dock, um dock de ícones bem avançado ainda para os dias de hoje mesmo que o desenvolvimento principal tenha parado. O que temos hoje então são patches providos pelas distribuições que incluem o pacote nos seus repositórios mas basicamente não há mais atualizações por parte do desenvolvedor mas ainda hoje está plenamente funcional e agradável no seu uso.

Há usuários que possuem mais de um ambiente gráfico na máquina (como eu) de modo a preencher todos os quesitos de usabilidade que o usuário procura na sua máquina; usar o Cairo Dock em mais de um ambiente na mesma máquina pode fazer com que duas instâncias do dock apareçam e não é isso que queremos. Aqui vou mostrar como separar as configurações do Cairo Dock para que cada ambiente gráfico possua o seu próprio, com seus ícones, funcionalidades e aparência. Vou fazer essa dica levando em conta o XFCE, o Gnome e o Plasma 6 com o XFCE sendo o ambiente principal. Atenção que isso é para X11.

Primeiro de tudo, tire da pasta ~/·config/autostart os atalhos de inicialização do Cairo Dock. Essa pasta é comum aos ambientes gráficos e se você colocar um atalho em cada ambiente que você usa o Cairo Dock irá iniciar em todos eles, tendo então mais de uma instância em funcionamento. No Terminal vamos criar as pastas individuais de configuração, que fica na ~/.config/cairo-dock. Vou usar como base a que é usada no XFCE.

Do XFCE para o Gnome:

cp -r ~/.config/cairo-dock ~/.config/cairo-dock-gnome

Do XFCE para o Plasma 6:

cp -r ~/.config/cairo-dock ~/.config/cairo-dock-plasma

Do XFCE para o XFCE (apenas para uniformizar as configurações):

cp -r ~/.config/cairo-dock ~/.config/cairo-dock-xfce

Crie o arquivo de auto-início em /usr/local/bin com o nome cairo-dock-auto:

sudo nano /usr/local/bin/cairo-dock-auto

Coloque lá dentro:

#!/bin/bash

DE="$XDG_CURRENT_DESKTOP"
SESSION="$XDG_SESSION_TYPE"

# evita Wayland (o :contentReference[oaicite:0]{index=0} sofre aqui)
if [[ "$SESSION" == "wayland" ]]; then
    exit 0
fi

sleep 12

if [[ "$DE" == *KDE* ]]; then
    cairo-dock -o -d "$HOME/.config/cairo-dock-plasma"

elif [[ "$DE" == *XFCE* ]]; then
    cairo-dock -o -d "$HOME/.config/cairo-dock-xfce"

elif [[ "$DE" == *GNOME* ]]; then
    cairo-dock -o -d "$HOME/.config/cairo-dock-gnome"

else
    cairo-dock -o
fi

Salve com CTRL+O e feche com CTRL+X. Depois, no Terminal:

sudo chmod +x /usr/local/bin/cairo-dock-auto

Agora coloque na inicialização automática esse script usando as ferramentas de configuração do seu ambiente gráfico - só basta fazer isso uma vez e em um deles. Ou crie a entrada manualmente:

sudo nano ~/.config/autostart/cairo-dock-auto

Coloque dentro:

[Desktop Entry]
Exec=cairo-dock-auto
Icon=
Name=cairo-dock-auto
Path=
Terminal=False
Type=Application

Salve e dê o chmod +x à essa entrada. Depois disso basta sair da sessão e entrar na do Plasma, por exemplo: o Cairo Dock vai abrir com a mesma cara que no Gnome e no XFCE, então configure-o conforme você desejar para uso no Plasma. Depois vá para o Gnome e faça a mesma coisa lá. Pode configurar tudo, animações, tipo de dock, ícones e tudo mais, cada configuração será guardada individualmente sem interferir na outra.

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.