消除那些讨厌的 .x* 配置文件

消除那些讨厌的 .x* 配置文件

我试图强制尽可能多的点文件$XDG_CONFIG_HOME(和朋友)遵守规则,而不是在我的主目录中乱七八糟。这涉及一些次要的 调整对于一些常见的应用程序来说,没有什么太复杂的。但是,我无法将所有的X配置文件放入~/.config/X目录或我想要的任何地方。具体来说,棘手的配置文件是:

.Xauthority
.Xdefaults
.xdvirc
.xinitrc
.xlog
.Xresources
.xscreensaver
.xsession-errors

我知道很难避免其中一些文件留在我的主目录中(xinitrc,咳咳),但似乎所有其他文件都应该是可移动的。事实上,其中许多文件(xlogxsession-errors)感觉应该可以通过一个或两个环境变量进行重新定位——如果我的文件zshrc在 之前加载的xinitrc话。

有谁知道一个简单的方法可以强制大多数文件服从XDG并占据它们应有的位置~/.config吗?我的主目录的整洁将不胜感激任何提示。

答案1

  • ~/.Xauthority不是配置文件,仅包含临时身份验证令牌,因此应该转到$XDG_RUNTIME_DIR$XDG_CACHE_HOME

    如果您使用xinitstartx启动 X11,您可以通过指向$XAUTHORITY中的其他位置来重新定位 Xauthority 文件xinitrc,然后在 中添加 Xorg 的参数。-auth newpathxserverrc

    #!/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 文件。

相关内容