我将 xscreensaver 作为用户服务运行,并且经常看到它无法启动。状态显示DISPLAY not set
。
我已将服务定义更改为现在重试,这似乎正在工作
[Unit]
Description=XScreenSaver
StartLimitInterval=200
StartLimitBurst=5
[Service]
ExecStart=/usr/local/bin/xscreensaver -nosplash
Restart=always
RestartSec=30
[Install]
WantedBy=default.target
有一个更好的方法吗?我的猜测是,因为这是一项用户服务,它有时会在用户环境完全设置之前启动。理想情况下,开始会等待 DISPLAY 被设置。
重启策略看起来很粗糙,但也许这是我能做的最好的。
我找到了您的问题,至于我,它失败了一半。
更新:
这是我的用户 xscreensaver systemd 用户单元的内容,它现在 100% 工作。// ~/.config/systemd/user/xscreensaver.service
我认为它失败了,因为它试图启动它一次并且还没有准备好图形会话(有时它是,我记得一半的时间)。