服务已启用但失败。如何运行?

时间:2019-04-10 15:15:32

标签: bash service scripting systemd linuxmint

我使用Linux Mint19。我创建了一个简单的脚本“ 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

1 个答案:

答案 0 :(得分:0)

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

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