使用 pam_systemd.so 自定义 XDG_RUNTIME_DIR

问题描述

我正在尝试自定义在 Ubuntu(systemd 主机)中设置 XDG_RUNTIME_DIR 的位置。认情况下,pam_systemd.so登录时将其设置为 /run/user/$UID。但是,我想将其设置为设置在系统的不同位置。这可能吗?

尝试

在没有 pam_system.so 的情况下设置系统会导致总线错误,例如,在设置 Docker Rootless 时将自定义 XDG_RUNTIME_DIR 设置为 $HOME/.docker/run

$HOME/.bashrc

.
.
.
# WARNING: systemd not found. You have to remove XDG_RUNTIME_DIR manually on every logout.
export XDG_RUNTIME_DIR=$HOME/.docker/run
export PATH=$HOME/bin:$PATH
export DOCKER_HOST=unix://$HOME/.docker/run/docker.sock

命令:

systemctl --user start docker

Failed to connect to bus: No such file or directory

即使创建了必要的 $HOME/.docker/run 也是如此

由于 docker-rootless 需要在 XDG_RUNTIME_DIR 中运行 chown 才能使用 docker.sock 创建 dockerd-rootless.sh 这对于限制非 sudo {{1} }.我想设置 XDG_RUNTIME_DIR 并将所有 pam_systemd.so 文件制作在自定义目录/路径中,同时允许 chown 维持总线连接

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)