我最近升级到了 15.04。在 14.10 上,我有一个 conf 文件,它可以在 upstart 上启动一个程序。但在 15.04 上,它不起作用,程序无法启动。
这是.conf 文件:
# mbpfan - A simple daemon to control fan speed on all Macbook/Macbook Pros \
# (probably all Apple computers) for Linux 3.x.x
description "mbpfan"
start on filesystem or runlevel [2345]
stop on runlevel [!2345]
respawn
umask 022
console log
exec /usr/sbin/mbpfan -f
我使用以下命令安装所有内容:
sudo cp mbpfan.upstart /etc/init/mbpfan.conf
sudo start mbpfan
这给了我错误:
start: Unable to connect to Upstart: Failed to connect to socket
/com/ubuntu/upstart: Connection refused
为什么这不起作用,我需要做哪些更改才能在启动时启动 mbpfan?
答案1
本周的头条新闻是Ubuntu 15.04 版本不使用 upstart. 它使用 systemd。
您可以回到 upstart,这本身就是一个问题;或者您可以编写一个 systemd服务单位为您的服务写一份简历;或者您可以拿一份已经写好的简历。网上有很多已经写好的简历。
该mbpfan.service
单元由 Ismail Khatib 编著例如,自 2012 年以来就一直存在。不过,我建议你将其编辑为
类型=简单和
ExecStart=/usr/sbin/mbpfan -f
mbpfan
的“守护进程化”完全是多余的(在 upstart 和 systemd 下都是如此);在任何情况下都是功能正确的;并且在 systemd 下还会导致不必要的重复日志信息,因为 systemd 已经记录了mbpfan
发送到其标准输出的日志信息。
进一步阅读
- “启动和服务管理”。 Upstart 版本 15 发行说明. 2015-04-24. Ubuntu。
- systemd.exec. systemd 手册页。Freedesktop.org。
- systemd.service. systemd 手册页。Freedesktop.org。