该服务已启用但失败。我该如何让它运行?

问题描述 投票:0回答:1

我使用Linux Mint 19.我创建了一个简单的脚本“After_suspension”,它将运行三个命令。当Mint从暂停中醒来时,我正试图让它运行。

matthew@matthew-pc:~$ cat /usr/local/bin/After_suspension
#!/bin/bash
pon dsl-provider
sudo service fancontrol start
/usr/bin/mailnag

matthew@matthew-pc:~$ file /usr/local/bin/After_suspension
/usr/local/bin/After_suspension: Bourne-Again shell script, ASCII text executable

“mailnag”是(text/x-python)。我创建了以下服务文件,该文件已启用但失败。我该如何让它运行?我应该使用三个单独的服务文件来运行这三个命令吗?

matthew@matthew-pc:~$ cat /etc/systemd/system/After_suspension.service
[Unit]
After=suspend.target

[Service]
ExecStart=/usr/local/bin/After_suspension

[Install]
WantedBy=suspend.target
matthew@matthew-pc:~$ systemctl is-enabled After_suspension.service
enabled
matthew@matthew-pc:~$ systemctl is-active After_suspension.service
failed

matthew@matthew-pc:~$ systemctl status After_suspension.service
● After_suspension.service
Loaded: loaded (/etc/systemd/system/After_suspension.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2019-04-11 01:19:42 HKT; 3min 46s ago
Process: 11655 ExecStart=/usr/local/bin/After_suspension (code=exited, status=1/FAILURE)
Main PID: 11655 (code=exited, status=1/FAILURE)

Apr 11 01:19:11 matthew-pc After_suspension[11655]:   File "/usr/lib/python2.7/dist-packages/dbus/bus.py", line 122, in __new__
Apr 11 01:19:11 matthew-pc After_suspension[11655]:     bus = cls._new_for_bus(address_or_type, mainloop=mainloop)
Apr 11 01:19:11 matthew-pc After_suspension[11655]: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbu
Apr 11 01:19:07 matthew-pc systemd[1]: Started 
After_suspension.service.
Apr 11 01:19:07 matthew-pc systemd[1]: After_suspension.service: Main process exited, code=exited, status=1/FAILURE
Apr 11 01:19:42 matthew-pc pppd[11657]: Timeout waiting for PADO packets
Apr 11 01:19:42 matthew-pc pppd[11657]: Unable to complete PPPoE Discovery
Apr 11 01:19:42 matthew-pc pppd[11657]: Terminating on signal 15
Apr 11 01:19:42 matthew-pc pppd[11657]: Exit.
Apr 11 01:19:42 matthew-pc systemd[1]: After_suspension.service: Failed with result 'exit-code'.

以下是现在的“fancontrol.service”。

matthew@matthew-pc:~$ cat /lib/systemd/system/fancontrol.service
[Unit]
Description=fan speed regulator
# Run pwmconfig to create this file.
ConditionPathExists=/etc/fancontrol
After=lm-sensors.service
Documentation=man:fancontrol(8) man:pwmconfig(8)

[Service]
ExecStartPre=/usr/sbin/fancontrol --check
ExecStart=/usr/sbin/fancontrol
PIDFile=/var/run/fancontrol.pid

[Install]
WantedBy=multi-user.target
bash service scripting systemd linuxmint
1个回答
0
投票

Systemd以root身份运行系统脚本,因此您尝试在没有X服务器活动的终端会话中以root身份启动GNOME磁盘,这就是您可能收到拒绝连接消息的原因。

您可能希望将该服务配置为用户服务(您可能也必须传递DISPLAY变量),或者首先尝试在脚本或systemd服务中设置DISPLAY变量。

© www.soinside.com 2019 - 2024. All rights reserved.