sábado, 14 de novembro de 2026

Como criar uma pasta Favoritos no pcmanfm

O gerenciador de arquivos nemo tem a opção de adicionar arquivos a uma pasta de nome Favoritos, ao utilizar a opção do menu suspenso do mouse "Adicionar aos favoritos", onde na barra lateral a esquerda surgira a pasta Favoritos.
Estes arquivos adicionados aos Favorito do nemo não são links simbólicos e nem copia dos originais, funcionado tipo o recurso do Favoritos do seu navegador de Internet com base em um registro de metadados.

Podemos fazer algo semelhante no gerenciador de arquivos pcmanfm que envolve criar manualmente a pasta Favoritos no seu HOME e adicionar a mesma ao marcadores e depois criar um script em zenity para criar um link simbólico e criar uma ação personalizada para isto.

Passos:

1- Criação da pasta .Favoritos

No pcmanfm estando no seu HOME, clique em um espaço vazio com o botão direito do mouse e escolha a opção Criar novo(a)... e depois Pasta, digite o seguinte tendo um ponto na frente do nome: .Favoritos onde a pasta ficará oculta no seu HOME.

Agora no pcmanfm acesse o menu Ver e marque a opção "Mostrar Ocultos".
Estando na sua pasta HOME, selecione a pasta oculta .Favoritos e usando o botão direito no mouse sob a mesma escolha a opção "Adicionar aos marcadores" depois de feito, você pode ir no menu Ver e desmarcar a opção "Mostrar ocultos".
Sua pasta Favoritos estará sendo exibida nos Marcadores (barra lateral a esquerda da tela).

Nota:
A opção de tornar a pasta Favoritos oculta ou não fica ao seu critério, eu fiz para menos arquivos visíveis na pasta do HOME.

2- Criar a ação personalizada no pcmanfm

Abra uma janela de terminal e acesse a pasta ~/.local/share/file-manager/actions/ mas caso a mesma não exista ainda basta criar ela manualmente com o seguinte comando: mkdir -p ~/.local/share/file-manager/actions/

Crie o arquivo da ação personalizada com o seguinte nome: criar_link.desktop 

Conteúdo do arquivo criar_link.desktop que pode ser criado com qualquer editor de texto ASCII puro da usa preferência.

[Desktop Entry]
Type=Action
Name=Criar Link Simbólico aqui...
Icon=link
Profiles=profile_criar_link

[X-Action-Profile profile_criar_link]
MimeTypes=inode/directory;
Exec=bash -c '/usr/local/bin/criar_link_zenity.sh "%f"'
Name=Default profile


Nota:
Você pode criar a ação personalizada, arquivo, pasta, edição do arquivo todo o processo diretamente pelo pcmanfm sem precisar de janela de terminal para isto, mas no terminal fica mais prático para criar a mesmo principalmente ser a pasta ~/.local/share/file-manager/actions/ ainda não existir onde você deverá criar ela manualmente neste caso.

3- Criar o script em zenity que será utilizado para criação do link simbolo

Crie o script em /usr/local/bin com o nome de criar_link_zenity.sh
Conteúdo do script criar_link_zenity.sh:

#!/bin/bash

# A pasta atual é passada pelo PCManFM como o primeiro argumento ($1)
PASTA_ATUAL="$1"

# 1. Abre a caixa do Zenity para o usuário colar o caminho do arquivo original
CAMINHO_ORIGINAL=$(zenity --entry \
    --title="Criar Link Simbólico" \
    --text="Cole o caminho completo do arquivo original (Ctrl+V):" \
    --entry-text="" \
    --width=500)

# Se o usuário cancelar ou deixar em branco, encerra
if [ $? -ne 0 ] || [ -z "$CAMINHO_ORIGINAL" ]; then
    exit 0
fi

# Remove aspas simples ou duplas caso o caminho tenha sido colado com elas
CAMINHO_ORIGINAL=$(echo "$CAMINHO_ORIGINAL" | sed "s/['\"]//g")

# 2. Verifica se o arquivo/pasta de origem realmente existe
if [ ! -e "$CAMINHO_ORIGINAL" ]; then
    zenity --error --title="Erro" --text="O caminho de origem não existe:\n$CAMINHO_ORIGINAL"
    exit 1
fi

# 3. Extrai apenas o nome do arquivo/pasta para sugerir como nome do link
NOME_PADRAO=$(basename "$CAMINHO_ORIGINAL")

# 4. Pergunta o nome que o link simbólico deve ter
NOME_LINK=$(zenity --entry \
    --title="Nome do Link" \
    --text="Digite o nome para o link simbólico:" \
    --entry-text="$NOME_PADRAO" \
    --width=400)

if [ $? -ne 0 ] || [ -z "$NOME_LINK" ]; then
    exit 0
fi

# Define o caminho completo onde o link será criado
DESTINO_LINK="$PASTA_ATUAL/$NOME_LINK"

# 5. Cria o link simbólico (ln -s)
if ln -s "$CAMINHO_ORIGINAL" "$DESTINO_LINK"; then
    zenity --info --title="Sucesso" --text="Link simbólico criado com sucesso:\n$NOME_LINK -> $CAMINHO_ORIGINAL" --timeout=3
else
    zenity --error --title="Erro" --text="Não foi possível criar o link simbólico."
fi

Após salvar o arquivo coloque a permissão x nele.
$ sudo chmod +x criar_link_zenity.sh

Está tudo, pronto, agora feche a janela do pcmanfm e execute novamente o pcmanfm para ele carregar as configurações feita.


                Colocando links na pasta .Favoritos pelo pcmanfm

- Usando o pcmanfm basta selecionar o arquivo desejado não importa em qual pasta o mesmo esteja usando o botão direito do mouse escolha a opção "Copiar caminho".

- Na barra lateral do pcmanfm clique no item .Favoritos e dentro de .Favoritos clique em qualquer parte vazia da janela usando o botão direito do mouse e escolha a opção "Criar Link Simbólico aqui...", e nas duas janelas seguintes do zenity basta apenas confirmar em OK.

Pronto arquivo de link criado com sucesso.


IMPORTANTE

- Não clique em cima de nenhum arquivo ou pasta dentro de .Favoritos que não funcionará para criar o link.

- Se você criar link diretamente para arquivos em .Favoritos e excluir estes link de arquivos, os arquivos originais não serão excluído da origem real.

- Mas se você criar links de pasta dentro de .Favoritos e dentro da pasta link você excluir arquivos, os arquivos da origem será excluído da pasta real da origem. 

- Excluindo o link de pasta dentro de .Favoritos a pasta original não será excluída e nem os arquivos dela.


Shot do pcmanfm com a pasta .Favoritos na barra  lateral e com emblema nela.

















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