Instalando fontes via script no Nautilus Scripts no Gnome do Debian 13
Publicado por Sidnei Serra em 26/01/2026
[ Hits: 429 ]
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.
Autologin: praticidade ou não?
A compatibilidade do LibreOffice com o Microsoft Office
Cairo Dock ainda funcional nos dias de hoje
Trazendo de volta o Serviços em Segundo Plano no Plasma6
Solução rápida para o problema do Network Manager conectar mas não navegar
Acesso ao Banco do Brasil no Ubuntu 10.04 com Firefox (plugin Moonlight)
Debian 8 - Configurando setas do teclado para voltar/avançar seção de pastas
netselect-apt :: Encontre o servidor apt mais perto de você!
Rodando programas 32 bits no Slackware64
Nenhum comentário foi encontrado.
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
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
Continuando meus tópicos anteriores (0)
Saída de loop após teste de if. (2)
Governo da França vai trocar Windows por Linux (9)
Warsaw não é reconhecido no Google Chrome 147.0.7727.55 [RESOLVIDO] (9)









