我刚刚在 Intel NUC 上安装并配置了 Mythbuntu 16.04.3 LTS。它运行良好(我通过单独的 Kodi 前端观看了一些电视),直到我重新启动 NUC,此时我可以访问http://本地主机:6544/从 NUC 访问它没问题,但无法从我网络上的其他机器访问它。我的理解是,这是因为服务启动得太早(网络尚未启动),因此无法在网络上使用。
我现在的问题是:我该如何解决这个问题?
我一直在试图弄清楚系统使用的是 systemd 还是 upstart。我读过的一些网页建议系统现在应该使用 systemd,但我找不到 mythbackend 的 systemd 配置文件。我做过找到一个/etc/init/mythtv-backend.conf
文件,我认为这表明 upstart 正在使用中...? 但是,当我尝试像这样控制服务时:
sudo initctl stop mythtv-backend
我得到:
initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
即使我可以控制它,我不完全确定我应该如何修改文件/etc/init/mythtv-backend.conf
以确保在启动服务之前网络已启动(坦率地说,我只需要 10 秒超时或一些简单的事情)。
有人可以帮忙吗?
更新:我可以确认 systemd 正在使用中。通过执行sudo systemctl stop mythtv-backend.service
然后sudo systemctl start mythtv-backend.service
,一切正常。所以我需要弄清楚如何延迟 systemd 服务。
更新 2:按照说明在维基百科上对我来说不起作用。当我尝试启动/停止 mythbackend.service 时,我只在日志中看到一条错误消息。
答案1
我要将此添加为答案,尽管我不确定我是否 100% 正确。非常欢迎反馈。
这有关使用 systemd 和 mythbackend 的 wiki 页面建议创建一个名为的文件/etc/systemd/system/mythbackend.service
。但是,我最终注意到,这与现有服务文件的名称不匹配/lib/systemd/system/mythtv-backend.service
。
我决定尝试重命名/etc/systemd/system/mythbackend.service
为/etc/systemd/system/mythtv-backend.service
。我移动了文件,然后不得不经历一些麻烦,停止/禁用服务,然后重新启用它。当我设法再次启用它而没有出现任何错误后,我重新启动了机器,现在可以通过网络访问它了。
维基百科在顶部包含以下警告:
我对措辞感到很困惑。它确实应该非常清楚地检查以/lib/systemd/system/
确定你使用的文件名应该使用,那么确保在下使用相同的名称/etc/systemd/system/
。