Flatpak manager
Simples script para gerenciar flatpaks.
Descrição
Simples script para gerenciar flatpaks.
#!/bin/bash
# -----------------------------------------------------------------------------
# Nome: Flatpak Manager
# Descrição: Gerenciador para manutenção, limpeza e updates do Flatpak
# Autor: Xerxes Lins
# V 1.6 (24/03/2026)
# -----------------------------------------------------------------------------
# Cores e Formatação
GREEN='\033[1;32m'
BLUE='\033[1;34m'
RED='\033[1;31m'
YELLOW='\033[1;33m'
CYAN='\033[1;36m'
BOLD='\033[1m'
NC='\033[0m'
if ! command -v flatpak &> /dev/null; then
echo -e "${RED}[Erro] Flatpak nao encontrado no sistema.${NC}"
exit 1
fi
show_menu() {
clear
echo -e "${BLUE}+-----------------------------------------------------+${NC}"
echo -e "${BLUE}|${NC} ${BOLD}FLATPAK MASTER MANAGER${NC} ${BLUE}|${NC}"
echo -e "${BLUE}+-----------------------------------------------------+${NC}"
echo -e "${BLUE}|${NC} ${GREEN}1)${NC} Atualizar Tudo (Apps + Runtimes) ${BLUE}|${NC}"
echo -e "${BLUE}|${NC} ${GREEN}2)${NC} Limpeza Leve (Runtimes orfaos) ${BLUE}|${NC}"
echo -e "${BLUE}|${NC} ${GREEN}3)${NC} Limpeza Profunda (Cache + Reparo) ${BLUE}|${NC}"
echo -e "${BLUE}|${NC} ${GREEN}4)${NC} Reparar Instalacao (Sistema e Usuario) ${BLUE}|${NC}"
echo -e "${BLUE}|${NC} ${GREEN}5)${NC} Listar Apps (Ordenados por Tamanho) ${BLUE}|${NC}"
echo -e "${BLUE}|${NC} ${GREEN}6)${NC} Ver Historico de Operacoes ${BLUE}|${NC}"
echo -e "${BLUE}|${NC} ${GREEN}7)${NC} Resetar Permissoes de um App ${BLUE}|${NC}"
echo -e "${BLUE}|${NC} ${GREEN}8)${NC} Remover App e Dados (Busca por Nome) ${BLUE}|${NC}"
echo -e "${BLUE}|${NC} ${GREEN}0)${NC} Sair ${BLUE}|${NC}"
echo -e "${BLUE}+-----------------------------------------------------+${NC}"
echo -e "${YELLOW}[Dica] A opcao 4 resolve erros de execucao.${NC}\n"
}
wait_user() {
echo -e "\n${CYAN}Pressione ENTER para voltar ao menu...${NC}"
read -r
}
while true; do
show_menu
read -p "Escolha uma opcao: " option
case $option in
1)
echo -e "\n${BLUE}[>] Buscando atualizacoes...${NC}"
flatpak update
wait_user
;;
2)
echo -e "\n${BLUE}[>] Removendo runtimes nao usados...${NC}"
flatpak uninstall --unused
wait_user
;;
3)
echo -e "\n${BLUE}[>] Executando limpeza profunda...${NC}"
flatpak uninstall --unused -y
sudo rm -rf /var/tmp/flatpak-cache-* 2>/dev/null || true
sudo flatpak repair
echo -e "${GREEN}[OK] Limpeza concluida!${NC}"
wait_user
;;
4)
echo -e "\n${BLUE}[>] Reparando base de dados...${NC}"
sudo flatpak repair
flatpak repair --user
wait_user
;;
5)
echo -e "\n${BLUE}[>] Apps Instalados (Ordenados por Tamanho):${NC}"
echo -e "${CYAN}"
flatpak list --app --columns=name,application,size | sort -k3 -h
echo -e "${NC}"
wait_user
;;
6)
flatpak history | head -n 20
wait_user
;;
7)
echo -e "\n${YELLOW}[>] Modo: Resetar Permissoes${NC}"
read -p "Digite o termo de busca (ex: telegram): " search_term
if [ -n "$search_term" ]; then
app_id=$(flatpak list --app --columns=application,name | grep -i "$search_term" | awk '{print $1}' | head -n 1)
if [ -n "$app_id" ]; then
flatpak permission-reset "$app_id"
echo -e "${GREEN}[OK] Permissoes resetadas para $app_id${NC}"
else
echo -e "${RED}[Erro] App nao encontrado.${NC}"
fi
fi
wait_user
;;
8)
echo -e "\n${RED}[>] Modo: Remocao de Aplicativo${NC}"
read -p "Digite o nome ou ID (ex: virt): " search_term
if [ -z "$search_term" ]; then
echo -e "${YELLOW}Cancelado: nada foi digitado.${NC}"
else
# Busca robusta: pega o ID exato que contem o termo
app_id=$(flatpak list --app --columns=application | grep -i "$search_term" | head -n 1)
if [ -n "$app_id" ]; then
echo -e "${CYAN}Alvo encontrado: $app_id${NC}"
read -p "Deseja apagar o app e TODOS os dados dele? (s/n): " confirm
if [[ "$confirm" == "s" || "$confirm" == "S" ]]; then
flatpak uninstall --delete-data "$app_id"
echo -e "${GREEN}[OK] $app_id foi removido completamente.${NC}"
else
echo -e "${YELLOW}Acao cancelada pelo usuario.${NC}"
fi
else
echo -e "${RED}[Erro] Nenhum app instalado corresponde a '$search_term'.${NC}"
fi
fi
wait_user
;;
0)
exit 0
;;
*)
echo -e "${RED}[Erro] Opcao invalida.${NC}"
sleep 1
;;
esac
done
...
======== GERENCIADOR FLATPAK ========
Flatpak 1.16.6
1) Atualizar TUDO (Programas + Runtimes)
2) Limpeza leve (Remover runtimes não utilizados)
3) Limpeza profunda (Cache + Arquivos temporários + Reparar)
4) Reparar instalação (Corrige erros de corrupção)
5) Listar programas (Ordenados por tamanho)
6) Ver histórico de operações
7) Redefinir permissões do programa
8) Desinstalar programa (Excluindo dados do usuário)
9) Sobre
10) Listar todas as permissões atuais de um programa
11) Ver detalhes de um programa específico
12) Configurar permissões do Flatpak para um programa
13) Pesquisar um programa
14) Listar todos os repositórios Flatpak configurados no seu sistema
15) Instalar um programa
16) Consulta detalhes e histórico de um programa no Flathub
17) Exclui um remoto configurado
18) Impedir que um programa seja atualizado
19) Desbloquear atualização de um programa
20) Desativação de Flatpaks não verificados
21) Instalar uma versão específica do programa.
0) Sair
-----------------------------------------------------
Dica: A opção 4 corrige a maioria dos bugs estranhos.
-----------------------------------------------------
Escolha uma opção:
Para testar a opção 12 tem o org.gnome.gThumb e o net.epson.epsonscan2 (Sway+Void).
https://www.youtube.com/watch?v=ZI2yu4ncT0s
https://gitlab.com/slackvoid/flatpak-manager