XDG user directories (Português)
Do freedesktop.org:
- xdg-user-dirs é uma ferramenta para ajudar a gerenciar diretórios de usuário "bem conhecidos", como a pasta de área de trabalho e a pasta de música. Também lida com localização (isto é, tradução) dos nomes de arquivo.
- A maneira como funciona é que o xdg-user-dirs-update(1) é executado muito cedo na fase de login. Este programa lê um arquivo de configuração e um conjunto de diretórios padrão. Em seguida, ele cria versões localizadas desses diretórios no diretório inicial dos usuários e configura um arquivo de configuração em
$XDG_CONFIG_HOME/user-dirs.dirs
(XDG_CONFIG_HOME
tem como padrão~/.config
) que os aplicativos podem ler para localizar esses diretórios.
A maioria dos gerenciadores de arquivos indica diretórios de usuário XDG com ícones especiais.
Instalação
Criando diretórios padrão
A criação de um conjunto completo de diretórios de usuários padrão localizados dentro do diretório $HOME
pode ser feito automaticamente executando:
$ xdg-user-dirs-update
LC_ALL=C xdg-user-dirs-update --force
pode ser usado.Quando executado, ele também vai automaticamente:
- Criar um arquivo de configuração local
~/.config/user-dirs.dirs
: usado por aplicativos para localizar e usar diretórios home específicos para uma conta. - Criar um arquivo de configuração local
~/.config/user-dirs.locale
: usado para definir o idioma conforme o locale em uso.
O serviço de usuário xdg-user-dir-update.service
também será instalado e ativado por padrão, para manter seus diretórios atualizados executando este comando no início de cada sessão de login.
Criando diretórios personalizados
Ambos os arquivos de configuração local ~/.config/user-dirs.dirs
e o global /etc/xdg/user-dirs.defaults
usam o seguinte formato de variável de ambiente para apontar para diretórios de usuário: XDG_DIRNAME_DIR="$HOME/nome_do_diretório"
. Um arquivo de configuração vai/pode se parecer com esse exemplo abaixo (esses são diretórios modelo):
~/.config/user-dirs.dirs
XDG_DESKTOP_DIR="$HOME/Área de trabalho" XDG_DOWNLOAD_DIR="$HOME/Downloads" XDG_TEMPLATES_DIR="$HOME/Modelos" XDG_PUBLICSHARE_DIR="$HOME/Público" XDG_DOCUMENTS_DIR="$HOME/Documentos" XDG_MUSIC_DIR="$HOME/Música" XDG_PICTURES_DIR="$HOME/Imagens" XDG_VIDEOS_DIR="$HOME/Vídeos"
Como xdg-user-dirs vai carregar o arquivo de configuração local para apontar para os diretórios de usuário apropriados, é então possível especificar pastas personalizadas. Por exemplo, se uma pasta personalizada para a variável XDG_DOWNLOAD_DIR
tiver sido nomeada $HOME/Internet
no ~/.config/user-dirs.dirs
, qualquer aplicativo que usa essa variável vai usar esse diretório.
Alternativamente, também é possível especificar pastas personalizadas usando a linha de comando. Por exemplo, o seguinte comando produzirá os mesmos resultados que a edição do arquivo de configuração acima:
$ xdg-user-dirs-update --set DOWNLOAD ~/Internet
Consultando diretórios configurados
Uma vez definido, qualquer diretório de usuário pode ser visto com xdg-user-dirs. Por exemplo, o comando a seguir vai mostrar a localização do diretório Templates
(em português, Modelos
), que, é claro, corresponde à variável XDG_TEMPLATES_DIR
no arquivo de configuração local:
$ xdg-user-dir TEMPLATES