我刚刚在英特尔 NUC 上安装并配置了 Mythbuntu 16.04.3 LTS。它运行良好(我通过单独的 Kodi 前端观看了一些电视),直到我重新启动 NUC,此时我可以从 NUC 访问http://localhost:6544/就好了,但无法从另一台机器上访问它我的网络。我的理解是,这是由于服务启动得太早(当网络尚未启动时),因此没有绑定以使其在网络上可用。
我的问题现在变成了:我该如何解决这个问题?
我一直在试图弄清楚系统是使用 systemd 还是 upstart。我正在阅读的一些网页建议系统现在应该使用 systemd,但我找不到 mybackend 的 systemd 配置文件。我确实找到了一个/etc/init/mythtv-backend.conf
文件,我认为这表明新贵正在使用中......?但是,当我尝试像这样控制服务时:
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:遵循wiki 上的说明对我不起作用。当我尝试启动/停止 mythbackend.service 时,我只是在日志中看到一条错误消息。
我将添加这个作为答案,即使我不是 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
. 我移动了文件,然后不得不跳过几圈,停止/禁用服务,然后再次重新启用它。一旦我设法再次启用它而没有出现任何错误,我重新启动了机器,现在可以通过网络访问它。wiki 在顶部包含此警告:
我对措辞感到非常困惑。它确实应该非常清楚,
/lib/systemd/system/
首先检查以确定您应该使用什么文件名,然后确保您在/etc/systemd/system/
.