小编mmh*_*mmh的帖子

systemd - 模仿 anacron 行为的计时器单元

我需要为经常关闭的机器编写一个计时器单元(例如经典桌面设置)。该定时器单元需要定期激活,但不是很频繁(例如每周、每月)。

我确实找到了一些方法,但它们都不适合:

  • 根据手册页,如果配置的时间点是过去的OnBootSec,则OnStartupSec只会激活和指令。我还发现了一些使用这些的组合OnActiveSec来定义常规事件的示例。问题是:每次机器启动时,定时器都会激活配置的单元。如果你有一个应该每周/每月运行一次的计时器,那就太频繁了。例如:我不想让我的日志一天轮换三遍!

  • 用OnCalendar指令解决。如果机器在配置的时间点(主要是午夜,因为如果您在时间规范中省略小时,它默认为 00:00:00)断电,则下次启动后将不会激活计时器。至少我是这样得到的。那正确吗?

如果配置的时间已经过去,是否会在下次启动后立即激活带有日历事件的计时器?如果没有,是否有解决方法来获得这种行为?

cron systemd

14
推荐指数
1
解决办法
1943
查看次数

使用 systemd 注销用户

我使用 systemd 服务单元启动我的窗口管理器(遵循本教程)。在我登录后tty1执行以下操作.zlogin(我使用 ZSH 作为登录 shell):

if [[ -z "$DISPLAY" && $(tty) = /dev/tty1 ]]; then
  nohup systemd --user > ~/.xlog 2>&1 &
  disown %2
  logout
fi
Run Code Online (Sandbox Code Playgroud)

Systemd 通过服务单元启动 X 服务器、窗口管理器等。

当我想注销时,问题就开始了。
我应该简单地执行kill $MANAGERPID杀死 systemd 守护进程吗?
执行 a 似乎更干净,loginctl terminate-session $XDG_SESSION_ID但此命令需要更多权限。

这里的问题是:使用上述设置注销的首选方式是什么?

systemd logout

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

标签 统计

systemd ×2

cron ×1

logout ×1