Instalando fontes via script no Nautilus Scripts no Gnome do Debian 13
Publicado por Sidnei Serra em 26/01/2026
[ Hits: 447 ]
Blog: https://www.youtube.com/@alquimistaTI
#!/bin/bash
TITLE="Instalador de Fontes"
# Verifica se há seleção
if [ -z "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" ]; then
zenity --error --title="$TITLE" --text="Nenhuma fonte selecionada."
exit 1
fi
# Escolha do destino
DEST_CHOICE=$(zenity --list --radiolist --title="$TITLE" \
--column="Seleção" --column="Destino" \
TRUE "Usuário (~/.local/share/fonts)" \
FALSE "Sistema (/usr/local/share/fonts)")
[ $? -ne 0 ] && exit 1
if [[ "$DEST_CHOICE" == *"Usuário"* ]]; then
BASE_DIR="$HOME/.local/share/fonts"
USE_SUDO=false
else
BASE_DIR="/usr/local/share/fonts"
USE_SUDO=true
fi
# Função com tratamento de espaços
instalar_fontes() {
TARGET_DIR="$1"
# Lê a lista linha por linha, preservando espaços
while IFS= read -r FILE_PATH; do
[ -z "$FILE_PATH" ] && continue
# Só processa se for arquivo de fonte
if [[ "$FILE_PATH" =~ \.(ttf|otf|woff|woff2)$ ]]; then
FILENAME=$(basename "$FILE_PATH")
FIRST_LETTER=$(echo "${FILENAME:0:1}" | tr '[:upper:]' '[:lower:]')
FINAL_DEST="$TARGET_DIR/$FIRST_LETTER"
mkdir -p "$FINAL_DEST"
cp "$FILE_PATH" "$FINAL_DEST/"
fi
done
fc-cache -f
}
export -f instalar_fontes
if [ "$USE_SUDO" = true ]; then
# O segredo: passar a lista via printf para o pkexec bash
echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | pkexec bash -c "$(declare -f instalar_fontes); instalar_fontes '$BASE_DIR'"
else
echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | instalar_fontes "$BASE_DIR"
fi
zenity --info --title="$TITLE" --text="Concluído! Fontes organizadas com sucesso."
/usr/local/share/fonts com subpastas criadas com a primeira letra do conjunto de fontes que estiveram sendo instaladas. No caso do nosso exemplo (Segoe), as fontes serão instaladas na subpasta "s". Tudo para ficar mais arrumado.
As diferencas entre o clipboard comum e a selecao ativa
Instalando o Team Viewer no Debian Trixie - problema no Policykit
Consertando o áudio com estalos e interrupções no Pipewire
A compatibilidade do LibreOffice com o Microsoft Office
O widget do Plasma 6 Área de Notificação
Linux - Brincando com o comando ifconfig
Opera - erro ao reproduzir vídeos da Udemy, Facebook, Twitter [Resolvido]
Configurando placa de vídeo Unichrome (ITAUTEC W7630) no FreeBSD
Firefox não está em pt-BR no Funtoo [Resolvido]
Permissão para usuário desligar o sistema sem compremeter a segurança
Nenhum comentário foi encontrado.
Criptografando sua Home com Gocryptfs para tristeza do meliante
A Involução do Linux e as Lambanças Desnecessárias desde o seu Lançamento
O Journal no Linux para a guarda e consulta de logs do sistema
A evolução do Linux e as mudanças que se fazem necessárias desde o seu lançamento
Discos que não instalam o sistema por erro MBR/GPT no Linux
Hospedagem de Mangás com Kavita e Docker para Acesso Remoto via Tailscale
Aplicar tema e ícones do Ubuntu Cinnamon no Arch Linux sem AUR
Instalação do driver Epson L3150 [RESOLVIDO] (5)
Continuando meus tópicos anteriores (7)









