用户会话下方的 systemd 会话

Posted

技术标签:

【中文标题】用户会话下方的 systemd 会话【英文标题】:systemd session below user session 【发布时间】:2018-09-27 14:41:18 【问题描述】:

是否可以在用户会话下运行 systemd 会话,其中单元文件位于子目录中且未安装在 ~/.config/systemd 中?我正在开发一个由不同服务(用 C++ 实现)组成的系统,其中一些服务相互依赖。目前,它们从 bash 脚本运行,并且全部写入标准输出。我希望能够从构建目录启动它们,例如

# enter build directory
cd /path/to/project/build
# start services
systemd --root ./systemd-units &
# check status of services
systemctl --root ./systemd-units status
# check log output of services
journalctl --root ./systemd-units

不幸的是,不存在这样的选项,我找不到任何替代方案。我不想使用 docker,因为它使调试变得不必要地困难。

有没有办法用 systemd 做我想做的事?我查看了其他系统,runit 似乎能够做我想做的事,但不太可能在最终产品中使用。

【问题讨论】:

【参考方案1】:

听起来您可能想使用 systemctl 的link 功能,因此您可以将不是搜索路径的单元链接到搜索路径中。

【讨论】:

这并没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方留下评论。 - From Review @Liam,我相信我的建议会回答他的问题。我没有试图批评或澄清作者的问题。弗兰克,使用 systemctl 的“链接”功能是否解决了您的问题?

以上是关于用户会话下方的 systemd 会话的主要内容,如果未能解决你的问题,请参考以下文章

systemd 服务无法连接到会话 d-bus

在 WSL2 openSUSE-Leap-15.2 环境中,为 xrdp 和 systemd-modules-load / auditd 正确设置 sudoers 用户/会话失败

SYSTEMD

无法从 ubuntu 中的服务连接到会话 dbus

CentOS7的性能是否提升很多

(总结)RHEL/CentOS 7.x的几点新改变