关于Ubuntu系统中XDG_CACHE_HOME环境变量设置位置与时机的技术问询
关于Ubuntu系统中XDG_CACHE_HOME环境变量设置位置与时机的技术问询
嘿,我来帮你搞清楚XDG_CACHE_HOME环境变量该在哪、什么时候设置~
首先先把你提到的规范内容贴出来方便参考:
According to the specification:
$XDG_CACHE_HOMEdefines the base directory relative to which user-specific non-essential data files should be stored. If$XDG_CACHE_HOMEis either not set or empty, a default equal to$HOME/.cacheshould be used.
下面分几种场景说设置的位置和时机:
一、想让设置对当前用户永久生效
这是最常见的需求,适合你希望所有登录会话都用自定义缓存目录的情况:
- 如果你用的是Bash(Ubuntu默认shell):编辑用户目录下的
~/.bashrc或者~/.profile文件,在文件末尾加一行:
把export XDG_CACHE_HOME="/path/to/your/custom-cache"/path/to/your/custom-cache换成你实际要用来存缓存的路径,比如~/my-app-cache。保存文件后,要么重新登录系统,要么在终端里跑source ~/.bashrc(如果改的是.bashrc),设置就会立即生效。 - 如果你用的是Zsh:编辑
~/.zshrc文件,添加同样的export命令,之后执行source ~/.zshrc就能马上生效。
二、只想在当前终端会话临时生效
要是你只是想测试一下自定义缓存目录,或者只在当前窗口里用,直接在终端里敲这条命令就行:
export XDG_CACHE_HOME="/path/to/temp-cache"
这个设置只会在当前终端窗口有效,关掉窗口就失效了,不会影响其他会话。
三、给特定应用单独设置缓存目录
有时候你不想全局改,只想让某一个应用用自定义缓存,那可以在启动应用的命令前加上环境变量,比如:
XDG_CACHE_HOME="/path/to/app-only-cache" firefox
这样只有Firefox会用你指定的这个缓存目录,其他应用还是用默认的~/.cache或者之前设置的全局路径。
备注:内容来源于stack exchange,提问作者Moberg
相关产品推荐
相关产品推荐

