yad-clamav
Publicado por Fernando T. Da Silva (última atualização em 15/04/2026)
[ Hits: 50 ]
Homepage: http://meumundotux.blogspot.com.br/
Script feito em yad para escanear arquivos e pastas facilmente com melhorias em relação ao zclamav em zenity.
#!/bin/bash
# Função para garantir que a barra pulse sem parar
run_scan() {
local cmd="$1"
(
# Inicia o clamscan em background
eval "$cmd" > /tmp/clamav.log 2>&1 &
scan_pid=$!
# Loop de pulsação manual para o YAD (0.1s)
while kill -0 $scan_pid 2>/dev/null; do
echo "pulsate"
sleep 0.1
done
echo "100%"
) | yad --progress --title "Yad Clamav - Escaneando" \
--text "<b>Analisando arquivos... por favor aguarde.</b>" \
--pulsate --auto-close --center --width=450 --window-icon="security-high"
}
while true; do
# Menu principal simplificado para evitar erro de parsing do Shell
choice=$(yad --width=700 --height=350 --list --center \
--title="Yad Clamav Pro" --window-icon="security-high" \
--fontname="Sans 12" \
--text="<span size='x-large'><b>Menu de Segurança ClamAV</b></span>" \
--column="Ícone:IMG" --column="Opção" \
"document-open" "Escanear arquivos" \
"folder" "Escanear um diretório" \
"folder-remote" "Escanear diretório não recursivo" \
"system-software-update" "Atualizar base de dados" \
"help-about" "Versão da base de dados" \
"help-browser" "Ajuda" \
"application-exit" "Sair" \
--button="OK:0" --button="Sair:1" --print-column=2 --separator="")
# Verifica se o usuário fechou a janela ou clicou em Sair
[ $? -ne 0 ] || [ -z "$choice" ] || [ "$choice" = "Sair" ] && break
case "${choice}" in
"Escanear arquivos")
# 1. Usamos a quebra de linha (\n) como separador para facilitar a leitura
files=$(yad --file-selection --multiple --separator='\n' --center --width=1000 --height=600 --title="Selecionar Arquivos")
if [ -n "$files" ]; then
# 2. Salvamos a lista de arquivos em um arquivo temporário
echo -e "$files" > /tmp/lista_para_scan.txt
# 3. Usamos a flag --file-list do clamscan para ler todos os arquivos da lista
run_scan "clamscan --bell -i -r -l /tmp/clamav.log --file-list=/tmp/lista_para_scan.txt"
yad --title="Resultado" --text-info --filename=/tmp/clamav.log --width=800 --height=600 --center --fontname="Sans 14"
fi
;;
"Escanear um diretório")
files=$(yad --file-selection --directory --center --width=1000 --height=600 --title="Selecionar Pasta")
if [ -n "$files" ]; then
run_scan "clamscan --bell -i -r -l /tmp/clamav.log \"$files\""
yad --title="Resultado" --text-info --filename=/tmp/clamav.log --width=800 --height=600 --center --fontname="Sans 14"
fi
;;
"Escanear diretório não recursivo")
files=$(yad --file-selection --directory --center --width=1000 --height=600 --title="Selecionar Pasta")
if [ -n "$files" ]; then
run_scan "clamscan --bell -i -l /tmp/clamav.log \"$files\""
yad --title="Resultado" --text-info --filename=/tmp/clamav.log --width=800 --height=600 --center --fontname="Sans 14"
fi
;;
"Atualizar base de dados")
xterm -g 60x15 -T "Atualizando ClamAV" -fa 'Monospace' -fs 12 -e "sudo freshclam; echo 'Concluído. Pressione Enter...'; read"
;;
"Versão da base de dados")
freshclam -V > /tmp/base
yad --title "Versão" --text-info --filename=/tmp/base --width=400 --height=200 --center --fontname="Sans 14"
rm -f /tmp/base
;;
"Ajuda")
yad --title "Ajuda" --text-info --filename=/usr/share/doc/yad-clamav-ajuda.txt --width=1000 --height=600 --center --fontname="Sans 14"
;;
esac
done
exit 0
Para quem esquece facil das coisas
Backup e restauração dos programas instalados em sistemas baseados em Debian
Script de instalação para Firefox e Thunderbird - new release
Nenhum comentário foi encontrado.
Maquina modesta - a vez dos navegadores ferrarem o usuario
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Replicação SYSVOL no Samba 4 com Syncthing
Samba 4 com Replicação e LDAP Seguro (LDAPS/TLS)
Configurando o Cairo Dock individualmente em ambientes diferentes na mesma maquina
Calculadoras online gratuitas para o dia a dia do usuário Linux
Metafísica e espiritualidade funciona de verdade! Comprovação pessoal (0)
Corrijindo o erro em println na linguagem C (4)
(CLIPPER) Rodando o mesmo código tanto no Windows quanto no Linux (4)









