Como isso funciona?
Os diretórios "especiais" em casa (por exemplo, Documentos, Música, etc.) são atualizados no início do processo de login por um programa chamado xdg-user-dirs-update
. Se $XDG_CONFIG_HOME/user-dirs.dir
(por padrão, este é o mesmo que ~/.config/user-dirs.dir
) estiver presente, ele usará isso para definir os diretórios. O conteúdo deste arquivo deve ser parecido com isto:
# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
#
XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_TEMPLATES_DIR="$HOME/Templates"
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_MUSIC_DIR="$HOME/Music"
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_VIDEOS_DIR="$HOME/Videos"
Por que isso desapareceu?
Dentro de uma sessão do usuário, se um desses diretórios for excluído e recriado, ele será selecionado automaticamente. No entanto, se você remover o local de destino de $XDG_DOCUMENTS_DIR
(como nesta pergunta) e reinicializar (ou, presumivelmente, fazer logout), o programa assumirá que você não deseja mais usá-lo e redefinirá o destino como "$HOME/"
, efetivamente desativando-o.
Como faço para recuperá-lo?
Simplesmente redefinir o valor relevante de volta para o local escolhido neste arquivo deve retornar tudo de volta ao normal.
Nesse caso, isso significa usar o editor de texto de sua escolha para alterar
XDG_DOCUMENTS_DIR="$HOME/"
para
XDG_DOCUMENTS_DIR="$HOME/Documents"
É claro que o diretório Documents/
(ou o que você escolher) deve estar presente se você não quiser passar por esse processo novamente;) A mudança deve ser escolhida pelo gerenciador de arquivos assim que você abrir um arquivo. Em uma nova janela, não há necessidade de reiniciar ou fazer o logout (no entanto, ela não parece ter sido captada pelo inicializador do Unity).
Como alternativa, você pode usar a linha de comando:
$ xdg-user-dirs-update --set DOCUMENTS "$HOME/Documents"
Apenas para completar, você pode buscar o PATH
para um determinado local "especial" com:
$ xdg-user-dir DOCUMENTS
Digite man xdg-user-dir
para a lista de nomes de usuários do XDG, embora eles devam ser óbvios a partir do conteúdo do arquivo colado acima.
Referências