Internet afora há "trocentos" artigos (como
este, por exemplo) explicando que as pastas padrão do Ubuntu são denominadas "pastas XDG". Essa abreviatura "XDG" vem de
X Desktop Group, que foi o nome inicialmente usado pela organização
Free Desktop antes de ela obviamente mudar o próprio nome. Conforme consta nesses tantos artigos, a configuração padrão das pastas XDG é esta:
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"
...e é essa configuração padrão que faz com que na pasta da sua conta de usuário existam as pastas
Área de trabalho,
Downloads,
Modelos,
Público,
Documentos,
Música,
Imagens e
Vídeos.
Esses artigos normalmente ensinam que, para customizar as suas pastas XDG, basta editar o arquivo abaixo indicado (o caractere
~ é um atalho para a pasta do usuário que está conectado no momento, portanto enquanto a pasta pessoal do usuário for
/home/bogus/, por exemplo, o caractere
~ será sinônimo de
/home/bogus):
~/.config/user-dirs.dirs
O arquivo acima pode ser aberto para edição por intermédio de um comando como, por exemplo, este:
gedit ~/.config/user-dirs.dirs
...ou este:
nano ~/.config/user-dirs.dirs
...que lhe possibilitará usar um editor de textos simples (como o GEDIT ou o NANO) para modificar o texto que define a localização de cada uma dessas pastas.
Após modificar o que você quiser no arquivo e salvar as alterações, é só sair do editor de textos e então executar este comando:
xdg-user-dirs-update
...que as alterações efetuadas por você no arquivo de configuração entrarão em vigor.
Um exemplo: eu recentemente resolvi criar uma pasta
Desktop dentro da minha pasta
/home/sampayu/ (nome fictício
), portanto ficou assim:
/home/sampayu/Desktop/No gerenciador de arquivos (que no meu caso é o
Thunar) já aparecia a pasta XDG
/home/sampayu/Área de trabalho/, e ao clicar nela eu via mesmo os arquivos que deixo na área de trabalho, mas eu queria que o conteúdo mostrado na minha área de trabalho passasse a ser aquele que está dentro da pasta
/home/sampayu/Desktop/. Por causa disso, após criar a tal da pasta
Desktop eu fui lá na área de trabalho e
movi todos os arquivos de /home/sampayu/Área de trabalho/ para /home/sampayu/Desktop/. Em seguida, eu excluí a pasta
Área de trabalho (já que ela agora estava vazia e sem uso). Resultado: na área de trabalho do meu computador os arquivos
desapareceram. Isso é normal e ocorreu porque, embora esses arquivos tenham passado a estar sãos e salvos dentro da pasta
Desktop, o sistema Linux "não sabia" disso e, por isto, continuou tentando mostrar na minha área de trabalho os arquivos que o Linux ainda esperava que estivessem armazenados dentro daquela pasta
/home/sampayu/Área de trabalho/.
Após isso, o próximo passo foi informar ao Linux que minha "pasta XDG de área de trabalho" não era mais
/home/sampayu/Área de trabalho/ mas sim
/home/sampayu/Desktop/, por isto abri o arquivo
~/.config/user-dirs.dirs no editor de textos e mudei o código para este (observe a diferença na primeira linha do código):
XDG_DESKTOP_DIR="$HOME/Desktop"
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"
Após realizar essa modificação, salvei o arquivo e fechei o editor de textos, então executei este comando:
xdg-user-dirs-update
...e, de fato, após isso os arquivos armazenados em
/home/sampayu/Desktop/ passaram a ser exibidos na área de trabalho do meu computador.
A propósito, a palavra
$HOME é uma variável de sistema que representa o caminho para a pasta do usuário que está conectado no momento, portanto é a mesma coisa que o caractere
~. No meu exemplo fictício, o valor dessa variável
$HOME é
/home/sampayu, portanto aquele código
XDG_DESKTOP_DIR="$HOME/Desktop", por exemplo, significa que minha "pasta XDG de área de trabalho" (
XDG_DESKTOP_DIR) vem a ser
$HOME/Desktop, o que corresponde a
/home/sampayu/Desktop.
Eu também poderia ter modificado aquele arquivo de configuração sem abri-lo em um editor de textos. Bastaria eu executar o seguinte comando de atualização de pasta XDG:
xdg-user-dirs-update --set DESKTOP /home/sampayu/Desktop
O comando acima significa "defina" (
set) "a pasta da área de trabalho" (
DESKTOP) "como sendo
/home/sampayu/Desktop".
Mas e quando você quer que alguma dessas pastas fique em outra partição ou até mesmo em outro disco rígido?Pois é, isso aconteceu comigo e não encontrei nenhum artigo explicando como fazer isso...
Eu tenho um segundo disco rígido e ele é automaticamente montado na pasta
/biblioteca/de/filmes/ (nome fictício ataca novamente
). Como eu uso esse segundo disco rígido exclusivamente para guardar nele os meus arquivos de vídeo (filmes), eu voltei lá no arquivo
~/.config/user-dirs.dirs e mudei o conteúdo para isto:
XDG_DESKTOP_DIR="$HOME/Desktop"
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="/biblioteca/de/filmes"
...e então salvei o arquivo, fechei o editor de textos, executei este comando de atualização:
xdg-user-dirs-update
...e
quebrei a cara, porque não funcionou.
Após realizar essa modificação, eu esperava não apenas clicar lá em
/biblioteca/de/filmes/ e ver meus arquivos de vídeo (como de fato
continuou ocorrendo como de costume), mas eu também esperava que ao clicar lá naquela pasta
/home/sampayu/Vídeos/ eu também veria exatamente os mesmos arquivos de vídeo, ou seja: o conteúdo do segundo disco rígido seria exibido tanto em
/biblioteca/de/filmes/ (ponto de montagem) quanto em
/home/sampayu/Vídeos/ (pasta XDG de vídeos). No entanto, não foi isso que ocorreu: a pasta
/home/sampayu/Vídeos/ continuou não mostrando nada exceto o vazio mesmo.
Foi aí que tive a ideia de apagar a pasta
/home/sampayu/Vídeos/ (lembre-se: ela estava
vazia) e, no lugar dela, colocar um
link simbólico /home/sampayu/Vídeos apontando para
/biblioteca/de/filmes/. O comando para fazer isso (após
deletar a pasta
Vídeos vazia) é este:
ln -s -T /biblioteca/de/filmes /home/sampayu/Vídeos
Se o comando acima não funcionar com você, experimente executá-lo como superusuário ("root"):
sudo ln -s -T /biblioteca/de/filmes /home/sampayu/Vídeos
Como no caso da pasta situada em outro disco rígido não adiantou nada editar o arquivo
~/.config/user-dirs.dirs, eu devolvi pra dentro desse arquivo a configuração padrão da pasta XDG de vídeos, ou seja: lá onde eu havia mudado o texto para
XDG_VIDEOS_DIR="/biblioteca/de/filmes" eu mudei o código de volta para
XDG_VIDEOS_DIR="$HOME/Vídeos" e, após salvar o arquivo e fechar o editor de textos, executei o comando:
xdg-user-dirs-update
Conforme explicado anteriormente, outro modo de restituir essa configuração é executar o seguinte comando, diretamente no terminal (shell) do Linux:
xdg-user-dirs-update --set VIDEOS $HOME/Vídeos
Depois que efetuei esses ajustes, toda vez em que eu clico em
/home/sampayu/Vídeos/ o que eu vejo é o conteúdo (filmes) do segundo disco rígido que está montado em
/biblioteca/de/filmes/, e quando salvo algum arquivo na área de trabalho do computador ele aparece dentro de
/home/sampayu/Desktop/. Problema resolvido!