运行这个:
[Unit]
Description=Save a screenshot
Wants=screenshot.timer
[Service]
Type=oneshot
ExecStart=/bin/sh -c 'DISPLAY=:0 scrot /home/myuser/Pictures/Journal/$(date +"%s").png'
[Install]
结果是:
scrot: Saving to file /home/myuser/Pictures/Journal//usr/bin/zsh.png failed: No such file or directory
为什么?在 shell 中运行相同的命令可以正常工作:
% /bin/sh -c 'DISPLAY=:0 scrot /home/myuser/Pictures/Journal/$(date +"%s").png'
% echo $?
0
%
我使用的命令是:
systemctl --user daemon-reload && systemctl --user start screenshot.service; systemctl --user status screenshot.service
systemd 单元可以在许多字段中使用各种“说明符”
%s
,其中之一是:当您需要
%
在受说明符解释的字段中的 systemd 单元中使用时,请%%
改用。