Instalando fontes via script no Nautilus Scripts no Gnome do Debian 13
Dica publicada em Linux / Configuração
Instalando fontes via script no Nautilus Scripts no Gnome do Debian 13
Nessa dica mostro um script simples para a instalação manual de fontes baixadas "por fora".
Um site legal para baixar fontes é esse aqui:
Veja se a pasta existe no seu sistema com Gnome via Nautilus Scripts:
Se der "pasta não encontrada", vamos criar a pasta e seguir com a criação do recurso:
Cole dentro:
CTRL+O pra salvar e CTRL+X pra fechar. Depois:
Para usar: depois de escolher uma ou mais fontes e descompactá-las, entre na pasta com as fontes, seleciona as mesmas, botão direito do mouse/Scripts/Instalar Fontes:
Escolha Sistema (para deixar as fontes a serem instaladas manualmente disponíveis a todos os usuários):
E aguarde. Aparecerá uma janela de confirmação. Para ver se a fonte foi instalada (exemplo a Segoe das imagens):
O script vai instalar na pasta
Um site legal para baixar fontes é esse aqui:
Veja se a pasta existe no seu sistema com Gnome via Nautilus Scripts:
cd ~/.local/share/nautilus/scripts
Se der "pasta não encontrada", vamos criar a pasta e seguir com a criação do recurso:
mkdir -p ~/.local/share/nautilus/scripts
cd ~/.local/share/nautilus/scripts
nano Instalar\ fontes
Cole dentro:
#!/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."
CTRL+O pra salvar e CTRL+X pra fechar. Depois:
chmod +x ~/.local/share/nautilus/scripts/Instalar\ fontes
nautilus -q
Para usar: depois de escolher uma ou mais fontes e descompactá-las, entre na pasta com as fontes, seleciona as mesmas, botão direito do mouse/Scripts/Instalar Fontes:
Escolha Sistema (para deixar as fontes a serem instaladas manualmente disponíveis a todos os usuários):
E aguarde. Aparecerá uma janela de confirmação. Para ver se a fonte foi instalada (exemplo a Segoe das imagens):
fc-list | grep "Segoe"
O script vai instalar na pasta
/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.