如何在Debian (9.5)中使用包管理器( /usr/lib/systemd/)安装的服务?
我可以看到安装在/usr/lib/systemd/user中的大量服务,但是这些服务通过普通的systemctl status my-service命令是不可用的。我是否应该手动将我要使用的服务复制到/etc/systemd/user/中?
发布于 2018-08-10 15:24:32
除了系统范围的服务之外,Systemd还允许为每个用户提供特定于用户的服务。这些可以通过常规的systemctl命令(stop、start、status、edit、enable、.)来管理。如果添加--user标志。例如,如果您有/usr/lib/systemd/user/syncthing.service,系统范围的服务管理器不知道它,但是用户的服务管理器知道:
↪ ls /usr/lib/systemd/user/syncthing.service
Permissions Size User Date Modified Name
.rw-r--r-- 285 root 13 Jun 20:40 /usr/lib/systemd/user/syncthing.service
↪ systemctl status syncthing
Unit syncthing.service could not be found.
↪ systemctl --user status syncthing
● syncthing.service - Syncthing - Open Source Continuous File Synchronization
Loaded: loaded (/usr/lib/systemd/user/syncthing.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2018-07-24 17:10:22 CEST; 2 weeks 3 days ago
Docs: man:syncthing(1)
Main PID: 815 (syncthing)
CGroup: /user.slice/user-1000.slice/user@1000.service/syncthing.service
└─815 /usr/bin/syncthing -no-browser -no-restart -logflags=0systemctl status --user可用于列出当前用户的所有当前活动单元。
如果用户无法写入/usr/lib/systemd/user,用户也可以定义自己的单元,或者管理员可以通过将用户单元添加到systemd.unit(5)中为此目的列出的目录之一来定义系统本地的用户单元:
发布于 2018-08-10 15:27:18
对用户服务使用systemctl --user status my-service。用户服务也在user.slice of systemctl status命令下显示。您还需要--user标志来启动/停止/启用/禁用这些服务,因为它们在正常的用户会话下运行,并且不需要根访问。在https://wiki.archlinux.org/index.php/Systemd/User阅读更多内容
https://unix.stackexchange.com/questions/461829
复制相似问题