我想在工作时间(周一至周五上午 9 点到下午 6 点)自动禁用自动挂起功能,并在下午 6 点之后重新启用它。
这是否需要 cronjob?您能举个例子吗?
答案1
您可以使用以下方式设置暂停策略gsettings
# no sleep on ac
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'nothing'
# sleep on ac
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'sleep'
# no sleep on ac
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type 'nothing'
# sleep on ac
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type 'sleep'
还有空白(关闭屏幕)、关机、休眠和注销选项。您可以在名为“dconf-editor”的图形实用程序中进一步探索这些选项,apt install dconf-editor
并浏览以下选项:org > gnome > settings-daemon > plugins > power。
您可以使用 cron 调用命令,也可以为此使用 systemd 用户服务和计时器。我认为,虽然它需要更多文件,但 systemd 方法更容易设置,因为 crongsettings
默认不会执行命令(我认为这是一种方便的方法)。
Systemd 用户文件存储在 中$HOME/.config/systemd/user
。在这个目录中,你可以放置两个服务文件(一个用于启用睡眠,另一个用于禁用睡眠)及其相应的计时器文件。
使用以下命令启动计时器:
systemctl --user enable disable_suspend.timer
systemctl --user start disable_suspend.timer
systemctl --user enable enable_suspend.timer
systemctl --user start enable_suspend.timer
使用以下方式启用服务:
systemctl --user enable disable_suspend.service
systemctl --user enable enable_suspend.service
systemd 文件:
(如果您不需要/不想启用/禁用电池挂起功能,您当然可以在服务文件中删除该行。)
enable_suspend.timer
下午 6 点后可暂停的内容:
[Unit]
Description=Timer for enabling suspend
[Timer]
OnCalendar=Mon..Fri 18:00
[Install]
WantedBy=timers.target
内容enable_suspend.service
[Unit]
Description=Enable Sleep
[Service]
Type=oneshot
ExecStart=gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'sleep'
ExecStart=gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type 'sleep'
Restart=on-failure
[Install]
WantedBy=multi-user.target
内容disable_suspend.timer
[Unit]
Description=Timer for disabling suspend
[Timer]
OnCalendar=Mon..Fri 9:00
[Install]
WantedBy=timers.target
内容disable_suspend.service
[Unit]
Description=Disable Sleep
[Service]
Type=oneshot
ExecStart=gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'nothing'
ExecStart=gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type 'nothing'
Restart=on-failure
[Install]
WantedBy=multi-user.target
编辑:由于 .service 文件被遗漏了,因此添加了启用它们的步骤。