XDG Base Directory (Português)
Esse artigo resumo a especificação XDG Base Directory em #Especificação e rastreia o suporte por softwares em #Suporte.
Especificação
Leia a especificação completa. Essa seção vai tentar destrinchar a essência do que a especificação tenta alcançar.
Apenas XDG_RUNTIME_DIR
está definido por padrão por meio de pam_systemd(8). É deixado para que o usuário defina explicitamente as demais variáveis de acordo com a especificação.
Diretórios de usuário
-
XDG_CONFIG_HOME
- Onde configurações específicas do usuário devem ser escrita (análogo a
/etc
). - O padrão deve ser
$HOME/.config
.
- Onde configurações específicas do usuário devem ser escrita (análogo a
-
XDG_CACHE_HOME
- Onde dados (em cache) não essenciais e específicos do usuário devem ser escritos (análogo a
/var/cache
). - O padrão deve ser
$HOME/.cache
.
- Onde dados (em cache) não essenciais e específicos do usuário devem ser escritos (análogo a
-
XDG_DATA_HOME
- Onde arquivos de dados específicos do usuário devem ser escritos (análogo a
/usr/share
). - O padrão deve ser
$HOME/.local/share
.
- Onde arquivos de dados específicos do usuário devem ser escritos (análogo a
-
XDG_RUNTIME_DIR
- Usado para arquivos de dados não essenciais e específicos do usuário, como soquetes, pipes nomeados etc.
- Não é necessário ter um valor padrão; avisos devem ser emitidos se não definido ou equivalentes não forem fornecidos.
- Deve pertencer ao usuário com um modo de acesso de
0700
. - Sistema de arquivos totalmente caracterizado pelos padrões do sistema operacional.
- Deve estar no sistema de arquivos local.
- Pode estar sujeito a limpeza periódica.
- Modificado a cada 6 horas ou defina um bit adesivo se desejar persistência.
- Só pode existir durante o início de sessão do usuário.
- Não deve armazenar arquivos grandes, pois pode ser montado como um tmpfs.
Diretórios de sistema
-
XDG_DATA_DIRS
- Lista de diretórios separadas por
:
(análogo aPATH
). - O padrão deve ser
/usr/local/share:/usr/share
.
- Lista de diretórios separadas por
-
XDG_CONFIG_DIRS
- Lista os diretórios separados por
:
(análogo aPATH
). - O padrão deve ser
/etc/xdg
.
- Lista os diretórios separados por
Suporte
Esta seção existe para catalogar o crescente conjunto de softwares usando a XDG Base Directory Specification introduzida em 2003. Isso está aqui para demonstrar a viabilidade desta especificação listando os arquivos de ponto comumente encontrados e seu status de suporte. Para aqueles que atualmente não oferecem suporte à Base Directory Specification, as soluções alternativas serão demonstradas como emulação.
As soluções alternativas serão limitadas a qualquer coisa que não envolva o patch da fonte, a execução do código armazenado em variáveis de ambiente ou as opções de tempo de compilação. A lógica para isso é que as configurações devem ser portáveis entre sistemas e ter opções em tempo de compilação evitam isso.
Espera-se que isso forneça uma fonte de informações sobre exatamente o que são certos tipos de arquivos-ponto (dotfiles) e de onde eles vêm.
Contribuindo
Ao contribuir, certifique-se de usar a seção correta.
Nada deve exigir avaliação de código (como vim e VIMINIT
), patches ou opções em tempo de compilação para obter suporte e qualquer coisa que deva ser considerada codificada. Além disso, se o processo for muito propenso a erros ou difícil, como cabal do Haskell ou Eclipse, eles também deverão ser considerados como codificados.
- A primeira coluna deve ser um link para um artigo interno, um Template:Pkg ou um Template:AUR.
- A segunda coluna é para todos os arquivos e diretórios legados que o projeto tinha (um por linha); isso é feito para que as pessoas possam encontrá-los, mesmo que não sejam mais lidos.
- Na terceira, tente encontrar o commit ou a versão de um projeto que mudou para o XDG Base Directory ou quaisquer discussões abertas e inclua-as nas próximas duas colunas (duas por linha).
- A última coluna deve incluir quaisquer soluções alternativas ou soluções apropriadas. Verifique se sua solução está correta e funcional.
Tem suporte
Aplicativo | Caminho legado | Suporte desde | Discussão | Observações |
---|---|---|---|---|
aerc-gitAUR | ||||
antimicrox |
~/.antimicro , ~/.antimicrox
|
edba864 | [1] | |
aria2 |
~/.aria2
|
8bc1d37 | [2] | |
asunder |
|
2.9.0[link inativo 2020-08-06 ⓘ] | [3][link inativo 2020-08-06 ⓘ] | Usa XDG_CONFIG_HOME/asunder/asunder para ~/.asunder e XDG_CACHE_HOME/asunder/asunder_album_... para outros 3 arquivos. Caminhos legados não são removidos após a migração, tendo que ser excluídos manualmente.
|
binwalk |
~/.binwalk
|
2051757 | [4] |
$XDG_CONFIG_HOME/binwalk Há suporte apenas no branch master do Git, não havendo lançamentos estáveis atualizados. |
Blender |
~/.blender
|
4293f47 | [5] | |
calibre | ||||
Chromium |
~/.chromium
|
23057 | ||
citra-gitAUR |
~/.citra-emu
|
f7c3193[link inativo 2024-07-30 ⓘ] | [8][link inativo 2024-07-30 ⓘ] | |
Composer |
~/.composer
|
1.0.0-beta1 | [9] | |
d-feetAUR |
~/.d-feet
|
7f6104b | ||
dconf | ||||
Dolphin emulator |
~/.dolphin-emu
|
a498c68 | [10] | |
dr14_tmeterAUR[link quebrado: package not found] | 7e777ca | [11] |
XDG_CONFIG_HOME/dr14tmeter/
|
|
dunst | 78b6e2b | [12] | ||
elixir |
~/.mix
|
afaf889 | [13] | |
fish | ||||
fontconfig |
|
8c255fb | Usa "$XDG_DATA_HOME"/fonts para armazenar fones.
|
|
fontforge |
|
e4c2cc7 | ||
freerdp |
~/.freerdp
|
edf6e72 | ||
Gajim |
~/.gajim
|
3e777ea | [16] | |
gconfAUR |
~/.gconf
|
fc28caa | [17] | |
GIMP |
|
|||
Git |
~/.gitconfig
|
0d94427 | ||
GStreamer |
~/.gstreamer-0.10
|
4e36f93 | [20] | |
GTK 3 | ||||
htop |
~/.htoprc
|
93233a6 | ||
i3 |
~/.i3
|
7c130fb | ||
i3status |
~/.i3status.conf
|
c3f7fc4 | ||
imagemagick | ||||
Inkscape |
~/.inkscape
|
0.47 | [21] | |
Kakoune | ||||
latexmk (em texlive-core[link quebrado: replaced by texlive-basic]) |
~/.latexmkrc
|
|||
lftp |
~/.lftp
|
21dc400 | [22] | |
lgogdownloaderAUR |
~/.gogdownloader
|
d430af6 | [23] | |
LibreOffice | [24] | |||
Streamlink |
~/.livestreamerrc
|
ea80591 | [25] | |
llpp | 3ab86f0 | Atualmente, llpp coloca a configuração diretamente sob XDG_CONFIG_HOME , em vez de criar um diretório.
|
||
mc |
~/.mc
|
[26] | ||
Mercurial |
~/.hgrc
|
XDG_CONFIG_HOME/hg/hgrc .
|
||
msmtp |
~/.msmtprc
|
af2f409 v1.6.7+ |
$XDG_CONFIG_HOME"/msmtp/config .
|
|
mesa | 87ab26b |
XDG_CACHE_HOME/mesa
|
||
milkytracker |
~/.milkytracker_config
|
eb487c5 | [27] | |
mpd |
~/.mpdconf
|
87b7328 | ||
mpv |
~/.mpv
|
cb250d4 | [28] | |
mutt |
~/.mutt
|
b17cd67 | [29] | |
mypaint |
~/.mypaint
|
cf723b7 | ||
nano |
|
c16e79b | [30] | |
ncmpcpp |
~/.ncmpcpp
|
ncmpcpp_directory deve ser definido para evitar um arquivo error.log em ~/.ncmpcpp .
|
||
Neovim |
|
1ca5646[link inativo 2024-01-13 ⓘ] | ||
newsbeuter |
~/.newsbeuter
|
3c57824 | [35] | É necessário criar ambos diretórios [36]:
|
node-gyp |
~/.node-gyp
|
2b5ce52a | [37] | Disponível apenas no master até 2018-12-04. |
np2kai-gitAUR |
|
56a1cc2 | [38] | |
nteract-binAUR | 4593e72 | [39] [40] | não reconhece soluções alternativas para ipython/jupyter | |
OfflineIMAP |
~/.offlineimaprc
|
5150de5 | [41] | |
opentyrianAUR |
~/.opentyrian
|
39559c3 | [42] | |
pandoc-cli |
~/.pandoc/
|
0bed0ab | [43] | |
pcsx2AUR |
~/.pcsx2
|
[44] [45] | ||
Pry |
~/.pryrc
|
[46] | ||
python-pip |
~/.pip
|
6.0 | [47] | |
powershellAUR | 6.0 | |||
ppsspp |
~/.ppsspp
|
132fe47 | [48] | |
procps-ng |
~/.toprc
|
af53e17 | ||
pacman |
~/.makepkg.conf
|
80eca94 | [51] | |
panda3dAUR |
~/.panda3d
|
2b537d2 | ||
PulseAudio |
|
[52] | ||
pyroomAUR | ||||
quodlibet |
~/.quodlibet
|
3.10.0 | [53] | |
qutebrowser | ||||
qtile | [54] | Algumas barras opcionais podem criar arquivos e diretórios em caminhos sem conformidade, mas geralmente eles ainda são configuráveis. | ||
rclone |
~/.rclone.conf
|
9d36258 | [55] | |
retroarch | ||||
rrAUR |
~/.rr
|
02e7d41 | [56] | |
RSpec |
~/.rspec
|
5e395e2 | [57] | |
rTorrent |
~/.rtorrent.rc
|
6a8d332 | ||
RuboCop |
~/.rubocop.yml
|
6fe5956 | [58] | |
skypeforlinux-binAUR |
~/.Skype
|
8.0 | ||
snes9x |
~/.snes9x
|
93b5f11 | [59] | Por padrão, o arquivo de configuração é deixado em branco com a intenção de que o usuário vá preenchendo-o de acordo com sua própria vontade (por interface gráfica ou manualmente). |
sublime-text-devAUR | O cache é colocado em $XDG_CONFIG_HOME/sublime-text-3/Cache em vez do esperado $XDG_CACHE_HOME/sublime-text-3 .
|
|||
surfraw |
|
|||
sway |
~/.sway/config
|
614393c | [60] | |
systemd | ||||
termite | ||||
tig |
~/.tigrc , ~/.tig_history
|
2.2 | [61] | O diretório ~/.local/share/tig deve existir, do contrário escreve para ~/.tig_history .
|
tmuxinatorAUR |
~/.tmuxinator
|
2636923 | [62] | |
Transmission |
~/.transmission
|
b71a298 | ||
util-linux | 570b321 | |||
Uzbl | c6fd63a | [63] | ||
vimb | ||||
VirtualBox |
~/.VirtualBox
|
4.3 | [64] | |
vis |
~/.vis
|
[65] | ||
VLC |
~/.vlcrc
|
16f32e1[link inativo 2023-05-06 ⓘ] | [66] | |
Visual Studio Code | Note que o diretório de extensões não vai ser movido; veja [67]. | |||
warsow |
~/.warsow-2.x
|
98ece3f | [68] | |
Wireshark |
~/.wireshark
|
b0b53fa[link inativo 2022-09-23 ⓘ] | ||
xsettingsd-gitAUR |
~/.xsettingsd
|
b4999f5 | ||
xmonad |
~/.xmonad
|
40fc10b | Alternativamente, as variáveis de ambiente XMONAD_CONFIG_HOME , XMONAD_DATA_HOME e XMONAD_CACHE_HOME também são configuráveis.
|
|
xsel |
~/.xsel.log
|
ee7b481 | [71] | |
yarn |
|
2d454b5 | [72] |
Parcial
Aplicativo | Caminho legado | Suporte desde | Discussão | Observações |
---|---|---|---|---|
abookAUR |
~/.abook
|
$ abook --config "$XDG_CONFIG_HOME"/abook/abookrc --datafile "$XDG_CACHE_HOME"/abook/addressbook
|
||
ack |
~/.ackrc
|
[73] |
$ export ACKRC="$XDG_CONFIG_HOME/ack/ackrc"
|
|
Anki |
|
[74] [75] |
$ anki -b "$XDG_DATA_HOME"/Anki
|
|
aspell |
~/.aspell.conf
|
$ export ASPELL_CONF="per-conf $XDG_CONFIG_HOME/aspell/aspell.conf; personal $XDG_CONFIG_HOME/aspell/en.pws; repl $XDG_CONFIG_HOME/aspell/en.prepl"
|
||
atomAUR[link quebrado: package not found] |
~/.atom
|
[76] |
$ export ATOM_HOME="$XDG_DATA_HOME"/atom
|
|
aws-cli |
~/.aws
|
1.7.45 | [77] |
|
bash-completion |
~/.bash_completion
|
$ export BASH_COMPLETION_USER_FILE="$XDG_CONFIG_HOME"/bash-completion/bash_completion
|
||
bazaar |
|
2.3.0 | [78] | Discussão no relatório de erro do upstream informa que o bazaar vai usar ~/.config/bazaar se existir. O arquivo de log ~/.bzr.log ainda pode ser escrito.
|
Ruby#Bundler |
~/.bundle
|
[79] [80] |
$ export BUNDLE_USER_CONFIG="$XDG_CONFIG_HOME"/bundle BUNDLE_USER_CACHE="$XDG_CACHE_HOME"/bundle BUNDLE_USER_PLUGIN="$XDG_DATA_HOME"/bundle
|
|
calcurse |
~/.calcurse
|
[81] |
$ calcurse -C "$XDG_CONFIG_HOME"/calcurse -D "$XDG_DATA_HOME"/calcurse
|
|
Rust#Cargo |
~/.cargo
|
[82] [83] [84] [85] |
$ export CARGO_HOME="$XDG_DATA_HOME"/cargo
|
|
ccache |
~/.ccache
|
$ export CCACHE_CONFIGPATH="$XDG_CONFIG_HOME"/ccache.config
|
||
chez-schemeAUR |
~/.chezscheme_history
|
$ petite --eehistory "$XDG_DATA_HOME"/chezscheme/history
|
||
conky |
~/.conkyrc
|
00481ee | [86] |
$ conky --config="$XDG_CONFIG_HOME"/conky/conkyrc
|
coreutils |
~/.dircolors
|
$ source $(dircolors "$XDG_CONFIG_HOME"/dircolors)
|
||
crawl |
~/.crawl
|
A barra ao final é necessária:
|
||
clusterssh |
~/.clusterssh/
|
$ alias cssh="cssh --config-file '$XDG_CONFIG_HOME/clusterssh/config'"
$XDG_CONFIG_HOME/clusterssh/config extra_cluster_file=$HOME/.config/clusterssh/clusters extra_tag_file=$HOMe/.config/clusterssh/tags Apesar disso, clusterssh ainda vai criar |
||
CUDA |
~/.nv
|
$ export CUDA_CACHE_PATH="$XDG_CACHE_HOME"/nv
|
||
dict |
~/.dictrc
|
$ dict -c "$XDG_CONFIG_HOME"/dict/dictrc
|
||
Docker |
~/.docker
|
$ export DOCKER_CONFIG="$XDG_CONFIG_HOME"/docker
|
||
docker-machine |
~/.docker/machine
|
$ export MACHINE_STORAGE_PATH="$XDG_DATA_HOME"/docker-machine
|
||
DOSBox |
~/.dosbox/dosbox-0.74-2.conf
|
[87] |
$ dosbox -conf "$XDG_CONFIG_HOME"/dosbox/dosbox.conf
|
|
ELinks |
~/.elinks
|
$ export ELINKS_CONFDIR="$XDG_CONFIG_HOME"/elinks
|
||
emscripten |
|
[88] |
|
|
freecad |
~/.FreeCAD
|
[89] |
$ freecad -u "$XDG_CONFIG_HOME"/FreeCAD/user.cfg -s "$XDG_CONFIG_HOME"/FreeCAD/system.cfg
Apesar dessas opções, freecad ainda vai criar o arquivo |
|
GDB |
~/.gdbinit
|
$ gdb -nh -x "$XDG_CONFIG_HOME"/gdb/init
|
||
get_iplayerAUR |
~/.get_iplayer
|
$ export GETIPLAYERUSERPREFS="$XDG_DATA_HOME"/get_iplayer
|
||
getmail |
~/.getmail/getmailrc
|
$ getmail --rcfile="$XDG_CONFIG_HOME/getmail/getmailrc" --getmaildir="$XDG_DATA_HOME/getmail"
|
||
glivAUR |
~/.glivrc
|
$ gliv --glivrc="$XDG_CONFIG_HOME"/gliv/glivrc
|
||
GnuPG |
~/.gnupg
|
[90] [91] |
|
|
Google Earth |
~/.googleearth
|
Alguns caminhos podem ser alterados com as opções KMLPath e CachePath em ~/.config/Google/GoogleEarthPlus.conf
|
||
gopass |
~/.password-store
|
Se sobrepõe às configurações em ~/.config/gopass/config.yml :
~/.config/gopass/config.yml root: path: gpgcli-gitcli-fs+file:///home/<id-usuário>/.config/password-store |
||
GQ LDAP client |
|
1.51 |
|
|
Gradle |
~/.gradle
|
[92] |
$ export GRADLE_USER_HOME="$XDG_DATA_HOME"/gradle
|
|
GTK 1 |
~/.gtkrc
|
$ export GTK_RC_FILES="$XDG_CONFIG_HOME"/gtk-1.0/gtkrc
|
||
GTK 2 |
~/.gtkrc-2.0
|
$ export GTK2_RC_FILES="$XDG_CONFIG_HOME"/gtk-2.0/gtkrc
|
||
hledger |
~/.hledger.journal
|
[93] |
$ export LEDGER_FILE="$XDG_DATA_HOME"/hledger.journal
|
|
httpie |
~/.httpie
|
[94] |
$ export HTTPIE_CONFIG_DIR="$XDG_CONFIG_HOME"/httpie
|
|
intellij-idea-ceAUR[link quebrado: package not found] |
~/.IntelliJIdea*
|
[95] |
$ mkdir -p "${XDG_CONFIG_HOME}"/intellij-idea $ cp /opt/intellij-idea-ce/bin/{idea.properties,idea64.vmoptions} "${XDG_CONFIG_HOME}"/intellij-idea/ $ export IDEA_PROPERTIES="${XDG_CONFIG_HOME}"/intellij-idea/idea.properties $ export IDEA_VM_OPTIONS="${XDG_CONFIG_HOME}"/intellij-idea/idea.vmoptions $XDG_CONFIG_HOME/idea.properties # esses são codificados, mas você pode obter a ideia idea.config.path=${user.home}/.config/intellij-idea idea.system.path=${user.home}/.cache/intellij-idea idea.log.path=${user.home}/.cache/intellij-idea/log idea.plugins.path=${user.home}/.local/share/intellij-idea/plugins |
|
ipython/jupyter |
~/.ipython
|
não vai corrigir |
|
|
irb[link inativo 2023-05-06 ⓘ] |
~/.irbrc
|
~/.profile $ export IRBRC="$XDG_CONFIG_HOME"/irb/irbrc "$XDG_CONFIG_HOME"/irb/irbrc IRB.conf[:SAVE_HISTORY] ||= 1000 IRB.conf[:HISTORY_FILE] ||= File.join(ENV["XDG_DATA_HOME"], "irb", "history") |
||
irssi |
~/.irssi
|
[96] |
$ irssi --config="$XDG_CONFIG_HOME"/irssi/config --home="$XDG_DATA_HOME"/irssi
|
|
isync |
~/.mbsyncrc
|
$ mbsync -c "$XDG_CONFIG_HOME"/isync/mbsyncrc
|
||
Java (Português)#OpenJDK |
~/.java/.userPrefs
|
[97] |
$ export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java
|
|
ledger |
~/.ledgerrc , ~/.pricedb
|
[98] |
$ ledger --init-file "$XDG_CONFIG_HOME"/ledgerrc
|
|
less |
~/.lesshst
|
|
||
libdvdcss |
~/.dvdcss
|
[99] |
$ export DVDCSS_CACHE="$XDG_DATA_HOME"/dvdcss
|
|
libice |
~/.ICEauthority
|
[100] |
$ export ICEAUTHORITY="$XDG_CACHE_HOME"/ICEauthority
Certifique-se que Não use |
|
libx11 |
|
|
||
ltrace |
~/.ltrace.conf
|
$ ltrace -F "$XDG_CONFIG_HOME"/ltrace/ltrace.conf
|
||
maven |
~/.m2
|
[101] |
$ mvn -gs "$XDG_CONFIG_HOME"/maven/settings.xml
settings.xml <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd"> ... <localRepository>${env.XDG_CACHE_HOME}/maven/repository</localRepository> ... </settings> |
|
Mathematica |
~/.Mathematica
|
$ export MATHEMATICA_USERBASE="$XDG_CONFIG_HOME"/mathematica
|
||
mednafen |
~/.mednafen
|
$ export MEDNAFEN_HOME="$XDG_CONFIG_HOME"/mednafen
|
||
MOC |
~/.moc
|
|
||
monero |
~/.bitmonero
|
$ monerod --data-dir "$XDG_DATA_HOME"/bitmonero
|
||
most |
~/.mostrc
|
$ export MOST_INITFILE="$XDG_CONFIG_HOME"/mostrc
|
||
MPlayer |
~/.mplayer
|
$ export MPLAYER_HOME="$XDG_CONFIG_HOME"/mplayer
|
||
MySQL |
~/.mysql_history
|
$ export MYSQL_HISTFILE="$XDG_DATA_HOME"/mysql_history
|
||
ncurses |
~/.terminfo
|
Preclui a pesquisa de caminho do sistema:
|
||
ncmpc |
~/.ncmpc
|
ncmpc -f "$XDG_CONFIG_HOME"/ncmpc/config
|
||
Netbeans |
~/.netbeans
|
[102] |
$ netbeans --userdir "${XDG_CONFIG_HOME}"/netbeans
|
|
Node.js |
~/.node_repl_history
|
$ export NODE_REPL_HISTORY="$XDG_DATA_HOME"/node_repl_history [103]
|
||
notmuch |
~/.notmuch-config
|
[104] |
|
|
npm |
|
[105] |
$ export NPM_CONFIG_USERCONFIG=$XDG_CONFIG_HOME/npm/npmrc
npmrc prefix=${XDG_DATA_HOME}/npm cache=${XDG_CACHE_HOME}/npm tmp=${XDG_RUNTIME_DIR}/npm init-module=$XDG_CONFIG_HOME/npm/config/npm-init.js
|
|
nuget |
~/.nuget/packages
|
[106] |
$ export NUGET_PACKAGES="$XDG_CACHE_HOME"/NuGetPackages
|
|
NVIDIA |
~/.nv
|
Usa XDG_CACHE_HOME se definido, do contrário retrocede inadequadamente para ~/.nv em vez de ~/.cache .
|
||
nvidia-settings |
~/.nvidia-settings-rc
|
$ nvidia-settings --config="$XDG_CONFIG_HOME"/nvidia/settings
|
||
nvmAUR |
~/.nvm
|
$ export NVM_DIR="$XDG_DATA_HOME"/nvm
|
||
Octave |
|
$XDG_CONFIG_HOME/octave/octaverc source /usr/share/octave/site/m/startup/octaverc; pkg prefix ~/.local/share/octave/packages ~/.local/share/octave/packages; pkg local_list /home/<your username>/.local/share/octave/octave_packages; Deve-se fornecer à opção |
||
openscad |
~/.OpenSCAD
|
7c3077b0f | [107] | Não honra totalmente a XDG Base Directory Specification, veja [108]
Atualmente, ele codifica[link inativo 2022-09-23 ⓘ] |
OpenSSL |
~/.rnd
|
O local do arquivo semeador .rnd pode ser definido com a varável de ambiente RANDFILE conforme FAQ.
|
||
parallel |
~/.parallel
|
20170422 |
$ export PARALLEL_HOME="$XDG_CONFIG_HOME"/parallel
|
|
Pass |
~/.password-store
|
$ export PASSWORD_STORE_DIR="$XDG_DATA_HOME"/pass
|
||
Pidgin |
~/.purple
|
[109] |
$ pidgin --config="$XDG_DATA_HOME"/purple
|
|
PostgreSQL |
|
9.2 | [110] [111] |
É necessário criar ambos diretórios: |
PulseAudio |
~/.esd_auth
|
Provavelmente gerado pelo módulo module-esound-protocol-unix.so . Ele pode ser configurado para usar um local diferente, mas faz muito mais sentido apenas comentar este módulo em /etc/pulse/default.pa ou "$XDG_CONFIG_HOME"/pulse/default.pa .
|
||
python-azure-cliAUR[link quebrado: package not found] |
~/.azure
|
$ export AZURE_CONFIG_DIR=$XDG_DATA_HOME/azure
|
||
python-setuptools |
~/.python-eggs
|
$ export PYTHON_EGG_CACHE="$XDG_CACHE_HOME"/python-eggs
|
||
python-pylint |
~/.pylint.d
|
não vai corrigir[link inativo 2024-10-12 ⓘ] |
$ export PYLINTHOME="$XDG_CACHE_HOME"/pylint
|
|
racket |
~/.racketrc
|
[112] |
$ export PLTUSERHOME="$XDG_DATA_HOME"/racket
|
|
readline |
~/.inputrc
|
$ export INPUTRC="$XDG_CONFIG_HOME"/readline/inputrc
|
||
rlwrap |
~/.*_history
|
[113] |
$ export RLWRAP_HOME="$XDG_DATA_HOME"/rlwrap
|
|
Ruby#RubyGems |
~/.gem
|
Certifique-se de remover |
||
Rust#Rustup |
~/.rustup
|
[114] |
$ export RUSTUP_HOME="$XDG_DATA_HOME"/rustup
|
|
sbt |
~/.sbt
|
[115] |
$ sbt -ivy "$XDG_DATA_HOME"/ivy2 -sbt-dir "$XDG_DATA_HOME"/sbt (cuidado com [116])
|
|
GNU Screen |
~/.screenrc
|
$ export SCREENRC="$XDG_CONFIG_HOME"/screen/screenrc
|
||
Haskell#Stack |
~/.stack
|
[117] |
$ export STACK_ROOT="$XDG_DATA_HOME"/stack
|
|
subversion |
~/.subversion
|
[118] [119][120] |
$ svn --config-dir "$XDG_CONFIG_HOME"/subversion
|
|
task |
|
|
||
tiptopAUR |
~/.tiptoprc
|
Ele ainda vai espera haver o arquivo .tiptoprc .
|
||
tmux |
~/.tmux.conf
|
[121] |
$ tmux -f "$XDG_CONFIG_HOME"/tmux/tmux.conf
|
|
uncrustify |
~/.uncrustify.cfg
|
$ export UNCRUSTIFY_CONFIG="$XDG_CONFIG_HOME"/uncrustify/uncrustify.cfg
|
||
Unison |
~/.unison
|
$ export UNISON="$XDG_DATA_HOME"/unison
|
||
urxvtd |
~/.urxvt/urxvtd-hostname
|
$ export RXVT_SOCKET="$XDG_RUNTIME_DIR"/urxvtd
|
||
Vagrant |
|
[122] |
|
|
WeeChat |
~/.weechat
|
[123] [124] |
|
|
wget |
|
|
||
wine |
~/.wine
|
[125] |
Winetricks usa local tipo XDG abaixo para gerenciamento de WINEPREFIX:
|
|
xbindkeys |
~/.xbindkeysrc
|
$ xbindkeys -f "$XDG_CONFIG_HOME"/xbindkeys/config
|
||
xorg-xauth |
~/.Xauthority
|
$ export XAUTHORITY="$XDG_RUNTIME_DIR"/Xauthority
|
||
xinit |
|
[126] |
Note que essas variáveis são respeitadas pelo xinit, mas não pelo startx. Em vez disso, especifique o nome de arquivo como um argumento:
|
|
xorg-xrdb |
|
Em última análise, você deve estar usando Xresources e já que esses recursos são carregados por meio de xrdb , você pode especificar um caminho como $ xrdb -load ~/.config/X11/xresources .
|
||
z |
|
[127] |
$ export _Z_DATA="$XDG_DATA_HOME/z"
|
Codificado
Aplicativo | Caminho legal | Discussão | Observações |
---|---|---|---|
adb |
~/.android/
|
[128] |
$ export ANDROID_SDK_HOME="$XDG_CONFIG_HOME"/android
|
AMule |
~/.aMule
|
||
Android Studio |
|
||
anthy |
~/.anthy
|
[129] | |
Apache Directory Studio |
~/.ApacheDirectoryStudio
|
||
ARandR |
~/.screenlayout
|
||
Arduino |
|
não vai corrigir | |
Audacity |
~/.audacity-data/
|
||
Avidemux |
~/.avidemux6
|
||
Bash |
|
não vai corrigir |
$ export HISTFILE="$XDG_DATA_HOME"/bash/history
Um Especifique |
cabal |
~/.cabal/
|
[130] | Veja a discussão para soluções alternativas em potencial. Não é muito fácil ou direta, mas pode ser possível emular a conformidade com Base Directory. |
chatty |
~/.chatty/
|
[131] | |
cmake |
~/.cmake/
|
Usado para registro de pacote de usuário ~/.cmake/packages/<pacote> , detalhado em cmake-packages(7) § User Package Registry e na página wiki de Package registry. Parece que é codificado, por exemplo em cmFindPackageCommand.cxx.
|
|
Cinnamon |
~/.cinnamon/
|
[132] | |
cryptomatorAUR |
~/.Cryptomator
|
[133] | |
CUPS |
~/.cups/
|
não vai corrigir | |
darcs |
~/.darcs/
|
[134] | |
dbus |
~/.dbus/
|
[135] | Isso deve ser evitável com kdbus [citação necessária]. |
devede |
~/.devedeng
|
Codificado aqui | |
Dia |
~/.dia/
|
||
dotnet-sdk |
~/.dotnet/
|
[136] | |
Eclipse |
~/.eclipse/
|
[137] | A opção -Dosgi.configuration.area=@user.home/.config/.. sobrescreve, mas deve ser adicionado para "$ECLIPSE_HOME"/eclipse.ini" em vez de linha de comando que significa que você tem que ter acesso de escrita para $ECLIPSE_HOME . (Arch Linux codifica $ECLIPSE_HOME em /usr/bin/eclipse )
|
Emacs |
|
[138] | É possível definir HOME , mas tem efeitos colaterais inesperados. Até agora, a abordagem mais promissora é modificar outra variável de ambiente do Emacs para alterar o caminho de carregamento e criar o seu próprio arquivo de site, que pode carregar manualmente o arquivo init, mas altera significativamente o processo de carregamento.
|
Fetchmail |
~/.fetchmailrc
|
||
Firefox |
~/.mozilla/
|
[139] | |
Flatpak |
~/.var/
|
[140] [141] não vai corrigir | |
GHC |
~/.ghc
|
[142] | |
ghidra | [143] | ||
GoldenDict |
~/.goldendict/
|
[144] | |
gramps |
~/.gramps/
|
[145] | |
grsync |
~/.grsync/
|
[146] | |
gtk-recordMyDesktop |
~/.gtk-recordmydesktop
|
||
hplip |
~/.hplip/
|
[147] | |
idris |
~/.idris
|
[148] | |
iwd / iwctl |
~/.iwctl_history
|
||
Java OpenJDK |
~/.java/fonts
|
[149] | |
Java OpenJFX |
~/.java/webview
|
||
julia |
|
[150] [151] | |
lldb |
|
||
mathomatic[link inativo 2024-10-12 ⓘ] |
|
O histórico pode ser movido usando rlwrap mathomatic -r com o ambiente RLWRAP_HOME definido apropriadamente.
|
|
Minecraft |
~/.minecraft/
|
[152] | |
Minetest |
~/.minetest/
|
não vai corrigir [153] | |
mongodb |
|
[154] |
Esse tópico do Stack Overflow sugere uma solução alternativa parcial usando a opção de linha de comando --norc .
|
Nestopia UE |
~/.nestopia/
|
não vai corrigir | |
~/.netrc
|
Assim como ~/.ssh , muitos programas esperam que esse arquivo esteja aqui. Estes incluem projetos como curl (CURLOPT_NETRC_FILE ), ftp (NETRC ), s-nail (NETRC ), etc. Enquanto alguns deles oferecem locais alternativos configuráveis, muitos não o fazem, como w3m, wget e lftp.
|
||
Networkmanager-openvpn |
~/.cert/nm-openvpn
|
[155] | |
NSS |
~/.pki
|
[156] | |
OpenSSH |
~/.ssh
|
não vai corrigir | Presume-se estar presente por muitos daemons e clientes de ssh, tal como DropBear e OpenSSH. |
palemoon |
~/.moonchild productions
|
[157] | |
parsec-binAUR |
~/.parsec
|
||
pcsxrAUR |
~/.pcsxr
|
Uma opção -cfg existe, mas só pode ser definido relativo a ~/.pcsxr .
|
|
perf |
~/.debug
|
Codificado em tools/perf/util/config.c:29. | |
vários shells e gerenciadores de exibição |
~/.profile
|
||
python |
~/.python_history
|
Todo o histórico de sessões interativas salvas em ~/.python_history por padrão desde a versão 3.4, um caminho personalizado ainda pode ser definido na mesma forma como em versões antigas (veja este exemplo).
|
|
Qt Designer |
~/.designer
|
||
RedNotebook |
~/.rednotebook
|
||
Remarkable |
~/.remarkable
|
||
Ren'Py |
~/.renpy
|
[158] | |
SANE |
~/.sane/
|
scanimage cria um arquivo .cal lá
|
|
scribus |
~/.scribus
|
||
sdcv |
~/.stardict/
|
[159] | A única solução alternativa é modificar HOME
|
SeaMonkey |
~/.mozilla/
|
[160] | |
simplescreenrecorderAUR |
~/.ssr/
|
[161] | O autor parece não concordar com esse recurso. |
Solfege |
|
[162] | |
spacemacs[link inativo 2024-07-30 ⓘ] |
|
[163] | |
SpamAssassin |
~/.spamassassin
|
||
spectrwm |
~/.spectrwm
|
||
SQLite |
|
[164] |
$ export SQLITE_HISTORY=$XDG_DATA_HOME/sqlite_history
|
Steam |
|
[165] | Muitos motores de jogo (Unity 3D, Unreal) seguem a especificação, mas publicadores de jogo individual codificam os caminhos em Steam Auto-Cloud fazendo os salvamento de jogos sincronizar para diretório errado. |
TeamSpeak |
~/.ts3client
|
||
texinfo |
~/.infokey
|
$ info --init-file "$XDG_CONFIG_HOME/infokey"
|
|
TeXmacs |
~/.TeXmacs
|
||
Thunderbird |
~/.thunderbird/
|
[166] | |
tllocalmgr |
~/.texlive
|
||
vim |
|
[167] | A partir de 7.3.1178, vem com suporte a ~/.vim/vimrc se ~/.vimrc não for encontrado.
"$XDG_CONFIG_HOME"/vim/vimrc set undodir=$XDG_DATA_HOME/vim/undo set directory=$XDG_DATA_HOME/vim/swap set backupdir=$XDG_DATA_HOME/vim/backup set viminfo+='1000,n$XDG_DATA_HOME/vim/viminfo set runtimepath=$XDG_CONFIG_HOME/vim,$VIMRUNTIME,$XDG_CONFIG_HOME/vim/after ~/.profile export VIMINIT=":source $XDG_CONFIG_HOME"/vim/vimrc |
vimperator |
~/.vimperatorrc
|
[168] |
$ export VIMPERATOR_INIT=":source $XDG_CONFIG_HOME/vimperator/vimperatorrc"
|
w3m |
~/.w3m
|
[169] | |
wpa_cli |
~/.wpa_cli_history
|
||
xdg-utils |
~/.gnome
|
[170][link inativo 2024-10-12 ⓘ] | Por algum motivo o script xdg-desktop-menu codifica gnome_user_dir="$HOME/.gnome/apps" . Isso é usado por chromium entre outros.
|
xombrero |
~/.xombrero
|
[171][link inativo 2020-08-06 ⓘ] | |
xournalpp |
~/.xournalpp
|
[172] | |
YARD |
~/.yard
|
[173] | Aceitaria uma Pull Request se alguém quisesse implementá-la. |
zenmap nmap |
~/.zenmap
|
[174] [175] | |
zsh |
|
[176] | Considere exportar ZDOTDIR=$HOME/.config/zsh em ~/.zshenv (isso é codificado por causa de problema de inicialização). Você também poderia adicionar isso a /etc/zsh/zshenv e evita a necessidade de quaisquer dotfiles em seu HOME . Porém, fazer isso requer privilégios de root que não ser viável e é para todo sistema.
|
Bibliotecas
- JVM
- Java, Kotlin, Clojure, Scala, ...
- directories-jvm
- Go
- go-appdir
- Haskell
- Oficialmente no diretório desde 1.2.3.0 ab9d0810ce.
- xdg-basedir
- Perl
- File-BaseDir
- perl-file-xdg[link inativo 2020-08-06 ⓘ]
- Ruby
- rubyworks/xdg
- Rust
- directories-rs
- rust-xdg
- Python
- pyxdg
- Vala
- Suporte embarcado via GLib.Environment.
- Veja
get_user_cache_dir
,get_user_data_dir
,get_user_config_dir
, etc.
Veja também
- GNOME Goal: XDG Base Directory Specification Usage
- Rob Pike: "Dotfiles" sendo oculto é um erro UNIXv2.
- systemd-path(1)
- file-hierarchy(7)
- Notas do Grawity sobre dotfiles.
- Notas do Grawity sobre variáveis de ambiente.
- ploum.net: Modify Your Application to use XDG Folders.
- A tentativa PCGamingWiki para documentar se jogos de PC no Linux seguem ou não a XDG Base Directory Specification.