![我可以更改配置文件的位置,使其远离我的主文件夹吗?](https://linux22.com/image/1093881/%E6%88%91%E5%8F%AF%E4%BB%A5%E6%9B%B4%E6%94%B9%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E7%9A%84%E4%BD%8D%E7%BD%AE%EF%BC%8C%E4%BD%BF%E5%85%B6%E8%BF%9C%E7%A6%BB%E6%88%91%E7%9A%84%E4%B8%BB%E6%96%87%E4%BB%B6%E5%A4%B9%E5%90%97%EF%BC%9F.png)
我有这个问题,是否可以将隐藏个人配置文件夹的默认位置更改为/home/user
其他位置?我指的是文件夹 .cache ..compiz-1 等。
谢谢回答。
答案1
不,很遗憾,这是不可能的然而。有一种称为 XDG 基本目录规范的东西,它使某些类型的目录可配置,包括应用程序存储数据的位置、配置的位置等。它规定配置文件应放在变量 $XDG_CONFIG_DIRS 指定的目录中,默认情况下为 $HOME/.config,但许多应用程序尚未使用该目录。这非常烦人,原因有很多。当他们这样做时,只需将该变量更改为其他内容即可,例如 $XDG_CONFIG_DIRS=/somewhereelse/.config。目前,对于 compiz 之类的东西来说这是不可能的,但对于许多其他东西来说这是可能的。
答案2
实际上,有一个命令 usermod(8) 可以更改你的主目录。这将移动你的所有文件,而不仅仅是你上面列出的点文件
NEWDIR=/new/home/dir
USER=yourusername
sudo usermod --move-home --home $NEWDIR $USER
尝试“man usermod”获取更多信息。
如果你只想移动某些目录,你可以创建(并维护)符号链接,类似于以下 bash 代码片段:
NEWDIR=/new/home/dir
DIRSTOMOVE=".adobe .cache .compiz ..."
for d in $DIRSTOMOVE; do
mv $HOME/$d $NEWDIR && ln -s $NEWDIR/$d $HOME
done
答案3
简短的回答是“否”。许多程序都默认使用此区域来编写配置文件。我刚刚检查了我的系统,发现有 、 和 等文件夹.adobe
。.dropbox
更不用说.libreoffice
中.shotwell
大量的程序配置了.config
。
基本上,即使您设法更改了一个应用程序的默认值,仍会有更多的应用程序写入那里。用户配置位置没有全局默认值。