如何将 Snap 的 HOME 与 Linux 对齐?

030*_*030 5 home-directory snap

背景

当我使用 n3dr 时,它默认在主文件夹中查找.n3dr.yaml文件。创建 snap 包时,该工具会抱怨找不到该文件。事实证明,snap 对$HOME.

$HOME 在 Linux 上:

~/user, i.e. /home/user
Run Code Online (Sandbox Code Playgroud)

折断:

INFO[0000] Home folder: '/home/user/snap/n3dr/x1'
Run Code Online (Sandbox Code Playgroud)

目的

为了防止用户不得不n3dr.yaml在另一个主目录中创建文件,问题是是否可以覆盖 Snap 的$HOME变量以确保它与 Linux 的$HOME默认值相同。

如何对齐?IE:

INFO[0000] Home folder: '/home/user'
Run Code Online (Sandbox Code Playgroud)

代替:

INFO[0000] Home folder: '/home/user/snap/n3dr/x1'
Run Code Online (Sandbox Code Playgroud)

小智 1

来自 snapcraft.io 网站:

HOME 这个环境变量由snapd 重写,以便每个snap 看起来都有一个专用的主目录,它是真实主目录的子目录。

也许您可以通过使 n3dr 更具快照意识,或者通过创建从 ~user/.n3dr.yaml 到 n3dr 的 snapd home 的符号链接来到达您想要的位置。

ln -sf /home/user/snap/n3dr/x1/.n3dr.yaml /home/user