segunda-feira, 9 de novembro de 2026

Buscador de aplicações

Script em yad para localizar aplicações para ser usando em window manager como Window Maker, Openbox e outros que não tem opção nativa para localizar aplicações, bastando apenas criar um atalho no menu de programa pra o mesmo está sempre disponível facilmente.

Este script localiza aplicações executáveis ou script em diretórios específicos, não faz distinção de maiúscula ou minúscula e você pode digitar apenas a parte que você lembra do nome da aplicação, ou seja podendo digitar apenas o inicio, o meio ou final do nome da aplicação.

Se a aplicação tem um arquivo .desktop será exibido o ícone da aplicação no resultado da pesquisa para o arquivo executável ou script. Você pode retornar a tela de digitação para digitar um novo critério sem finalizar o script para tentar um novo critério de busca.

Crie o script yad-localizar-app-loop-retorno.sh  em /usr/local/bin com permissão x.
Exemplo: sudo chmod +x yad-localizar-app-loop-retorno.sh

Conteúdo do script

#!/bin/bash

while true; do
    # 1. Entrada de texto
    BUSCA=$(yad --entry \
        --title="Localizar Aplicativo Profissional" --center \
        --window-icon="system-search" \
        --text="Digite o nome do comando ou aplicativo:" \
        --button="Buscar:0" --button="Sair:1")

    # Sai do loop se clicar em Sair ou fechar a janela
    RETORNO_BUSCA=$?
    if [ $RETORNO_BUSCA -ne 0 ] || [ -z "$BUSCA" ]; then
        break
    fi

    # 2. Busca os binários
    RESULTADOS=$(find /usr/bin/ /usr/sbin/ /usr/local/bin/ /sbin/ /usr/games/ /opt -iname "*$BUSCA*" 2>/dev/null)

    if [ -n "$RESULTADOS" ]; then
        LISTA_FINAL=()

        # 3. Mapeia binários para ícones reais
        while read -r CAMINHO; do
            BINARIO=$(basename "$CAMINHO")
            ICONE=$(grep -lE "^Exec=(.*/)?$BINARIO( |$)" /usr/share/applications/*.desktop 2>/dev/null | head -n 1)
            
            if [ -n "$ICONE" ]; then
                ICONE_NOME=$(grep "^Icon=" "$ICONE" | cut -d'=' -f2 | head -n 1)
            else
                ICONE_NOME="system-run"
            fi
            LISTA_FINAL+=("$ICONE_NOME" "$BINARIO" "$CAMINHO")
        done <<< "$RESULTADOS"

        # 4. Interface de Seleção
        SELECAO=$(yad --list \
            --title="Resultados da Busca" \
            --window-icon="search" \
            --width=800 --height=500 --center \
            --column="Ícone:IMG" \
            --column="Aplicação" \
            --column="Caminho Completo" \
            --print-column=3 \
            --separator="" \
            --search-column=2 \
            --button="Executar:0" \
            --button="Voltar:1" \
            "${LISTA_FINAL[@]}")

        RETORNO_LISTA=$?

        # 5. Execução ou Retorno
        if [ $RETORNO_LISTA -eq 0 ] && [ -n "$SELECAO" ]; then
            nohup "$SELECAO" > /dev/null 2>&1 &
            yad --notification --image="info" --text="Executando: $SELECAO" --timeout=2
            break 
        fi
    else
        # Se não encontrar nada, exibe o erro e o loop volta para o início automaticamente
        yad --error --title="Erro" \
            --text="Nenhum arquivo encontrado para: <b>$BUSCA</b>" \
            --button="Tentar Novamente:0" --center
    fi
done

 

domingo, 12 de julho de 2026

Como fazer para exibir asteriscos ao digitar a senha no sudo?

Quando digitamos a senha do sudo não vemos nada do que é digitado por padrão, mas podemos fazer uma configuração para exibi os asteriscos a medida que você digita.

No terminal para editar o arquivo /etc/sudoers você somente deve usar diretamente o comando visudo para isto para não corromper o arquivo.

$ sudo visudo

Procure pela linha "Defaults env_reset" e altere ela para Defaults env_reset,pwfeedback e salve o arquivo.
e saia.

Agora é só abrir uma nova janela de terminal e testar o comando sudo. Exemplo: sudo xterm (deverá aparecer os asteriscos a medida que você digita a senha)

Atenção:

Por padrão ao usar o comando visudo sempre será utilizado o editor vi ou vim que não é muito fácil de usar, mas você poderá utilizar o editor nano de forma temporária que é muito fácil de usar junto com visudo chamado o mesmo desta forma: sudo EDITOR=nano visudo


segunda-feira, 13 de abril de 2026

domingo, 5 de abril de 2026

Solução para ter de volta as bordas e barra de títulos das janelas em zenity no Debian 13.x

Este procedimento é para quem não gosta do novo visual das janelas em zenity nas versões mais recentes do mesmo, devendo ser feito por sua conta e risco.

O Debian 13 e outras distros mais recentes que usam a versão mais recente do zenity não utilizam mais bordas e barra de títulos nas janelas porque agora o zenity utiliza a biblioteca GTK4 e libadwaita fazendo que as janelas não tenha mais bordas e barra de título na versão 4.1.90 do zenity no Debian 13.

A solução para ter de volta as bordas e barras de títulos das janelas em zenity para quem não gostou do novo visual e trazer de volta uma versão antiga do zenity.

Em uma janela de terminal faça os passos abaixo:

$ sudo apt remove zenity zenity-common      (removendo os pacotes da versão atual do seu zenity)

$ sudo apt install alien      (instale o pacote alien no seu sistema caso não tenha instalado)

$ wget https://download.salixos.org/x86_64/15.0/salix/gnome/zenity-3.42.0-x86_64-1gv.txz                                (download do pacote do zenity)

$ tar -xvf zenity-3.42.0-x86_64-1gv.txz     (descompactado o pacote)

$ tar -czvf zenity-convertido.tgz usr/      (criando o pacote no formato .tgz para o alien)

$ sudo alien -d zenity-convertido.tgz       (convertendo o pacote .tgz para .deb usando o alien)
zenity-convertido_1-2_all.deb generated

Agora devemos criar um link simbólico de uma lib que é a dependência libwebkit2gtk-4.0.so.37 da versão do zenity que vai ser instalada.

$ cd /lib/x86_64-linux-gnu

$ sudo ln -s libwebkit2gtk-4.1.so.0.19.7 libwebkit2gtk-4.0.so.37

Instalação do pacote zenity convertido

$ sudo dpkg -i zenity-convertido_1-2_all.deb

Testado

$ zenity --info --text="Janela com bordas" --title="Exemplo"


Veja o shot da janela zenity antes e depois da mudança.


Notas:
Pronto, agora todos os meus scripts em zenity funcionando com o visual antigo das janelas.

Advertência

Não faça este procedimento por conta própria com qualquer tipo de pacote e principalmente se você não tem experiência nesta parte pois se for instalar pacotes de libs de versões antigas do Debian  ou de outros sistemas isto poderá fazer o seu sistema não funcionar mais. 



domingo, 22 de março de 2026

Montagem pré automática de HD externo usb em NTFS não funciona no Debian Trixie - Solução

A montagem pré automática no Debian 13.1 não funcionava quando inserido um HD externo usb usado para backup onde era exibido uma janela de erro com o dizer:

"Error mounting /dev/sdb1 at /media/nando/Seagate Backup Plus Drive: 
wrong fs type, bad option, bad superblock on /dev/sdb1, missing codepage or helper program, or other error"

Mas usando o comando ntfs-3g eu conseguia montar manualmente e utilizar o mesmo para leitura/gravação de arquivos.

Notas:
- No Slackware 15.0 em dual boot, o mesmo HD externo usb formatado em NTFS era feita a pré montagem automaticamente pelo sistema ao ser inserido na usb sendo exibida uma janela me perguntado se eu desejo abrir o dispositivo usando o Gerenciador de arquivos e ao clicar em OK o mesmo é montado.

- Mesmo depois de eu atualizar o Debian 13.1 para a versão 13.4 o problema ainda acontecia.

- No Debian 13.4 usei o comando  ntfsfix -d /dev/sdb1 para corrigir possíveis erros no HD externo mas não resolveu.

Solução definitiva do problema

No Debian 13.x e Ubuntu recentes utiliza como padrão o driver ntfs3 que já vem embutido nos kernels mais recente para montar dispositivos formatado em NTFS automaticamente mesmo que o ntfs-3g esteja instalado no sistema.

Acontece que o driver ntfs3 é muito rigoroso e se recusa a montar partições NTFS marcadas como "sujas" (dirty) ou com inconsistências, mas usando  driver ntfs-3g via FUSE, que é mais tolerante a mídia é montada normalmente.

Voltando para o driver ntfs-3g (Recomendado para Automação)

Como o driver ntfs3 do kernel não aceita parâmetros globais de "leniência" no arquivo de configuração do driver, a solução definitiva para o comportamento de clicar e montar sem erros é forçar o sistema a usar o driver antigo e mais estável ntfs-3g.

    

Fazendo a configuração:

Se no seu sistema o driver ntfs-3g não estiver instalado, instale o mesmo.

Desative o driver ntfs3 colocando ele na Blacklist.
Crie um arquivo para impedir que o kernel use o driver rigoroso:

$ echo "blacklist ntfs3" | sudo tee /etc/modprobe.d/disable-ntfs3.conf


Atualize as dependências e reinicie:

$ sudo depmod -a

Após reiniciar, o gerenciador de arquivos usará automaticamente o ntfs-3g.



quarta-feira, 11 de março de 2026

Tenha opção de emblemas embutido no pcmanfm

Tenha opção de emblemas embutido no gerenciador de arquivos pcmanfm em qualquer ambiente gráfico onde o mesmo é o único gerenciador de arquivos instalado sem precisar instalar outros gerenciadores de arquivos para ter este recurso.

O pcmanfm suporta a visualizar de emblemas nativamente em pastas e arquivos que contenha o mesmo mas ele não tem opção nativa de colocar ou remover emblema, mas utilizando as ações personalizadas do pcmanfm podemos embutir um script que permitirá colocar e remover emblema facilmente sem precisar instalar outros gerenciadores de arquivos que suporta este recurso.

 

Comece criando o seguinte diretório em seu HOME numa janela de terminal caso o mesmo não exista.

 

$ mkdir -p ~/.local/share/file-manager/actions

 

Agora dentro do diretório ~/.local/share/file-manager/actions crie o arquivo

emblema.desktop com o conteúdo abaixo com o seu editor de texto ASCII favorito:

 

[Desktop Entry]

Type=Action

Name=Emblema (nome que aparecerá no menu suspenso do mouse)

Profiles=on_files;

Icon=emblem-default

 

[X-Action-Profile on_files]

MimeTypes=all/allfiles;inode/directory;

Exec=zemblema-embutir-cria-remove %f

Name=Default profile

 

Baixe o arquivo em:  https://drive.google.com/file/d/1zrWuk8_2zvKt5sHGDrkvK0QzwqSvUJVQ/view?usp=sharing

 

Após baixado o arquivo descompacte o pacote .zip e copie script para /usr/local/bin.

 

Depois de feito estes procedimento acima se você estava com o pcmanfm aberto, feche e abra novamente o mesmo para ele carregar a configuração feita.

 

Como colocar e remover emblemas no pcmanfm?

 

No pcmanfm selecione um arquivo ou pasta qualquer e clique com o botão direito do mouse onde no menu suspenso terá a opção Emblema, clique na mesma e escolha um emblema da lista exibida e clique em OK

 

Para remover um emblema de um arquivo ou pasta, selecione o mesmo com o botão direito do mouse e no menu suspenso escolha Emblema, e na lista exibida selecione REMOVE (1ª opção da lista) e clique em OK.

 

IMPORTANTE:

Toda vez que você colocar ou remover um emblema, a janela do pcmanfm deverá ser atualizada teclado F5 para ver a alteração feita.

 

Notas essenciais:

 

- A lista de emblemas utilizada é do tema Faenza do Debian Trixie da pasta emblems.

 

- A aplicação do emblema somente funcionará se o tema de ícone que estiver ativo no momento da aplicação possuir os mesmos nomes de arquivos que estão na lista do script não importa se a extensão do arquivo é .png ou .svg na pasta emblems não precisando nem ter o tema Faenza instalado.

 

- Da mesma forma quando você trocar o tema de ícone onde você colocou um emblema em uma pasta ao mudar para o outro tema se ele não tiver o mesmo nome de arquivo correspondente da lista o emblema não será mostrado na pasta, mas ao voltar para o tema que foi utilizado para aplicar o emblema ele aparecerá na pasta que foi aplicado,

 

- Você precisa ter instalado em seu sistema os comandos gio que pertence ao pacote libglib2.0-bin e o comando zenity que pertence ao pacote zenity.

 

- Para visualizar os ícones de um tema específico use o pcmanfm para ir na
pasta do mesmo.

Exemplo: /usr/share/icons/nome-do-tema/emblems/qualquer-tamanho

 

Shot da janela de aplicação/remoção de emblema

 



 

quinta-feira, 5 de março de 2026

Status do teclado em qualquer ambiente gráfico com system tray no Linux

Tenha status do teclado para o capslock e numlock em qualquer ambiente gráfico no Linux, com qualquer panel com system tray ou dockapp como exemplos o panel tint2 e alguns dockapp de system tray para o Window Maker.

Basta descompactar o pacote .tgz a partir da raiz do seu sistema: sudo tar -xvf pacote.tgz -C /

Agora em um arquivo tipo autostart do seu ambiente gráfico para executar programas automaticamente assim quando o X Window é iniciado

coloque as seguintes linhas abaixo neste arquivo autostart ou outro similar do seu ambiente gráfico:

teclado-caps.sh  &   
teclado-number.sh &

Notas:

- A colocação do caractere & após o nome do script é obrigatório.

- É necessário que você tenha instalado no seu sistema os comandos yad e o xset.

- No system tray você terá os ícones de letra C e N, onde o C é o capslock e N o Numlock, quando ligados a cor dos mesmos é amarelo e quando desligado é um cinza claro. 

Shot parcial do panel tint2 mostrando a parte do system tray.


Download:Status do teclado