相关疑难解决方法(0)

依赖于系统单位的 systemd 用户单位 (sleep.target)

我正在阅读文档,但我仍然不清楚是否可以完成以下操作:

中定义的服务~/.config/systemd/user/task.service依赖于系统sleep.target~/.config/systemd/user/sleep.target.wants/task.service)。

现在我希望task.service在我运行时启动$ systemctl suspend,但是task.service没有启动。

我正在运行 debian,使用 systemd 版本 208,systemd --user配置或多或少如ArchWiki 所述

我不知道是否我的情况可能与systemd在所有来实现,或者是--system--user设计完全隔离,使--user单元可能不是一个的依赖--system单位。

如果可能,我的情况可能有什么问题?

systemd

21
推荐指数
3
解决办法
5044
查看次数

如何运行 systemd 用户服务以触发睡眠(又名挂起、休眠)?

根据我拼凑的各种来源~/.config/systemd/user/screenlock.service

[Unit]
Description=Lock X session
Before=sleep.target

[Service]
Environment=DISPLAY=:0
ExecStart=/usr/bin/xautolock -locknow

[Install]
WantedBy=sleep.target
Run Code Online (Sandbox Code Playgroud)

我已经使用systemctl --user enable screenlock.service. 但是在重新启动、登录、暂停和恢复(systemctl suspend通过关闭盖子进行测试)后,屏幕没有锁定,并且journalctl --user-unit screenlock.service. 我究竟做错了什么?

运行DISPLAY=:0 /usr/bin/xautolock -locknow会按预期锁定屏幕。

$ systemctl --version
systemd 215
+PAM -AUDIT -SELINUX -IMA -SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ +SECCOMP -APPARMOR
$ awesome --version
awesome v3.5.5 (Kansas City Shuffle)
 • Build: Apr 11 2014 09:36:33 for x86_64 by gcc version 4.8.2 (nobody@)
 • Compiled against Lua 5.2.3 (running with Lua …
Run Code Online (Sandbox Code Playgroud)

arch-linux sleep suspend hibernate systemd

19
推荐指数
1
解决办法
1万
查看次数

与另一个一起停止 systemd 单元。开始工作

在 CentOS7 服务器上,我有一个由 Tomcat Web 服务器和 MySQL DB 服务器组成的应用程序堆栈,它们都安装在同一个 VM 上。我希望他们按以下顺序一起开始和停止:

开始:MySQL--> Tomcat
停止:Tomcat--> MySQL

阅读 systemd 单元文档,我设法让它们与Requires=指令一起启动,但是当我使用 systemctl stop tomcat.service 停止 tomcat 时,MySQL 继续运行。在系统日志中,我注意到它甚至没有尝试停止 MySQL,所以 systemd 单元一定有问题。

这是我的单位:

# 用于 tomcat 的 Systemd 单元文件
[单元]
描述=Apache Tomcat Web 应用程序容器
After=syslog.target network.target mysql.service
需要=mysql.service

[服务]
类型=分叉

环境=JAVA_HOME=/opt/jdk
环境=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
环境=CATALINA_HOME=/opt/tomcat
环境=CATALINA_BASE=/opt/tomcat

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/bin/kill -15 $MAINPID

用户=tomcat
组=tomcat

[安装]
WantedBy=multi-user.target

systemd

5
推荐指数
1
解决办法
7141
查看次数

标签 统计

systemd ×3

arch-linux ×1

hibernate ×1

sleep ×1

suspend ×1