我试图强制尽可能多的点文件$XDG_CONFIG_HOME
(和朋友)遵守规则,而不是在我的主目录中乱七八糟。这涉及一些次要的 调整对于一些常见的应用程序来说,没有什么太复杂的。但是,我无法将所有的X
配置文件放入~/.config/X
目录或我想要的任何地方。具体来说,棘手的配置文件是:
.Xauthority
.Xdefaults
.xdvirc
.xinitrc
.xlog
.Xresources
.xscreensaver
.xsession-errors
我知道很难避免其中一些文件留在我的主目录中(xinitrc
,咳咳),但似乎所有其他文件都应该是可移动的。事实上,其中许多文件(xlog
,xsession-errors
)感觉应该可以通过一个或两个环境变量进行重新定位——如果我的文件zshrc
在 之前加载的xinitrc
话。
有谁知道一个简单的方法可以强制大多数文件服从XDG
并占据它们应有的位置~/.config
吗?我的主目录的整洁将不胜感激任何提示。
答案1
~/.Xauthority
不是配置文件,仅包含临时身份验证令牌,因此应该转到$XDG_RUNTIME_DIR
或$XDG_CACHE_HOME
。如果您使用
xinit
或startx
启动 X11,您可以通过指向$XAUTHORITY
中的其他位置来重新定位 Xauthority 文件xinitrc
,然后在 中添加 Xorg 的参数。-auth newpath
xserverrc
#!/bin/sh exec /usr/bin/Xorg "$@" -nolisten tcp -auth "$XDG_RUNTIME_DIR/Xauthority"
GDM 将 Xauthority 文件深藏在内部
/var/run/gdm
。~/.Xdefaults
已过时,不应使用。其替代者是~/.Xresources
。~/.xdvirc
我不知道。~/.xinitrc
可以通过提供新路径来重新定位xinit
:startx ~/.config/X11/xinitrc
~/.xlog
我不知道。~/.Xresources
仅由 读取xrdb
,并且可以通过合并或xrdb
中的不同文件来重新定位:.xinitrc
.xprofile
xrdb -merge ~/.config/X11/Xresources
~/.xscreensaver
可能需要留下来。~/.xsession-errors
仅由 GDM 显示管理器创建。GDM 的最新 Git 版本将其放入$XDG_RUNTIME_DIR
;否则可以从 中删除.xprofile
。使用 时xinit
,根本不会创建 xsession-errors 文件。