Ubuntu 20.04下监控notify-send的bash脚本无法持久运行求助
你遗漏了两处核心配置,按以下步骤修改即可解决:
1. 调整用户级systemd服务配置
修改/home/user/.config/systemd/user/notifylog.service文件内容为:
[Unit] Description=notify-send log # 等待图形会话、DBus初始化完成后再启动 After=graphical-session.target [Service] ExecStart=/path/to/file/notifylog # 服务异常退出后自动重启,解决脚本运行一段时间就终止的问题 Restart=always # 重启间隔3秒,避免频繁重试占用资源 RestartSec=3 [Install] # 用户级服务需绑定default.target而非系统级的multi-user.target WantedBy=default.target
2. 开启用户服务 linger 权限
默认情况下用户的systemd实例仅在用户登录时启动,用户完全退出登录后就会终止,执行以下命令开启linger权限,让你的用户systemd实例在开机后就保持运行(无需用户登录):
loginctl enable-linger <你的实际用户名>
无需加sudo执行,替换尖括号内容为你的系统用户名即可。
3. 重载配置并重新启用服务
执行以下命令生效配置:
systemctl --user daemon-reload systemctl --user reenable notifylog.service systemctl --user restart notifylog.service
修改完成后重启机器验证,服务就会正常开机自启且持续运行了。
内容的提问来源于stack exchange,提问作者kurokirasama
相关产品推荐
相关产品推荐

