TGTGInsighttelegram intelligenceLIVE / telegram public index
← Hypercube's Channel
Hypercube's Channel avatar

TGINSIGHT POST

Post #102

@SmartHypercube_channel

Hypercube's Channel

Views297帖子阅读量
发布3月24日2023/03/24 17:09
Post content

帖子内容

https://xdgbasedirectoryspecification.com/ 如今很多人主张程序不应该创建 ~/.steam~/.ssh~/.bashrc 这样的文件或目录,而应该按照 XDG Base Directory Specification,把它们都挪到 ~/.cache~/.config~/.local 里面。 我一直认为这种主张是奇怪和讨厌的。参见 https://lists.debian.org/debian-user/2014/11/msg01817.html ,XDG 标准是在解决 desktop 场景下,不同的程序需要共用配置文件的这个需求,例如每个图形界面实现都要从同一个目录中读取用户安装的应用程序列表。XDG 规定了这类共享的路径的位置,而 XDG Base Directory Specification 只是 XDG 规定的一个组成部分,它的效力并不应当延伸到 XDG 解决的问题范围之外。~/.steam~/.ssh~/.bashrc 这类情况都只和一个特定软件相关,并不需要多个软件共享路径,是遵守 Filesystem Hierarchy Standard 的,和 XDG 无关。 这个网页上举的“clean and tidy”的例子中,家目录竟然还有 ~/.bashrc 和 ~/.profile。如果 bash 的 rc 文件可以破例留在家目录中,~/.bash_history~/.vimrc~/.ssh/id_ed25519 不能也留在家目录吗?这些都是非 desktop 场景下常用的文件,没理由因为 XDG 这个规定就挪走。 有人会说家目录里面太乱了,看着不整洁。把这些东西挪到别处就不乱了?这只是把乱藏起来了而已,想藏起来的话,ls 不要加 -a,文件管理器设置成不显示隐藏项目,不就行了?这些人可能觉得自己永远不需要和这些文件打交道,所以不在意他们的主张会让别人使用这些文件时变麻烦。 这些人跑去给各种项目提 issue,很多时候开发者没时间好好研究这里面是怎么回事,就按要求修改程序的行为来“遵守规范”了,这让我觉得很坑,我又没有精力去盯着各种项目的 issues 一个一个反驳。不过说不定再这样下去,这样做的程序越来越多,就真的成为新的惯例/规范了🤪