![Mythtv - 每次启动时都必须终止并重新启动后端](https://linux22.com/image/1001914/Mythtv%20-%20%E6%AF%8F%E6%AC%A1%E5%90%AF%E5%8A%A8%E6%97%B6%E9%83%BD%E5%BF%85%E9%A1%BB%E7%BB%88%E6%AD%A2%E5%B9%B6%E9%87%8D%E6%96%B0%E5%90%AF%E5%8A%A8%E5%90%8E%E7%AB%AF.png)
Ubuntu 16.04,全新安装。
我不知道我做了什么把它搞乱了,但我必须终止 mythbackend(由于某种原因,它以 root 权限运行,因此需要sudo
终止)并以我的普通用户身份启动它。
可以理解的是,我的妻子不接受这样做才能让电视正常工作。
所以我想我的问题是,如何让它在以超级用户身份登录时停止启动,然后如何让它以我的普通用户身份启动?我不愿意尝试通过运行某种启动脚本来同时完成这两项工作。
答案1
显然,这个问题至少从 2008 年就已经出现了。几种延迟/睡眠/暂停策略似乎可以解决这个问题,但它还是会反复出现。
尤其是如果您有 hdhomerun 调谐器和固态磁盘。系统启动时,在网络完全正常运行之前,它会进行调谐器验证。然后调谐器获取失败,直播电视根本不起作用,重启后录制的任何节目似乎都存在,但不会播放。
建立网络通信后重新启动后端将解决问题,但下次重新启动后,问题再次出现。
MythTV 论坛上的这篇文章提供了一个可能的解决方案:
您只需添加一个
sleep 10
(或者您的 HDHR 启动并运行所需的时间)。这将进入文件mythtv-backend.service
。但是,如果您修改了 中的一个/lib/systemd/system
,那么如果发布了新版本,您的更改将消失。因此,正确的解决方案是将文件.service
放入/etc/systemd/system
当然,这样你就会错过官方版本的任何更新
/lib
。你只需要意识到这一点。你可以这样做。在开始之前,请确保你理解下面的每个命令:
停止后端:
sudo systemctl stop mythtv-backend sudo --login systemctl edit --full mythtv-backend
添加:
ExecStartPre=sleep 10
(或附加
;sleep 10
到现有ExecStartPre
行)重新加载:
sudo systemctl daemon-reload
重启后端:
sudo systemctl start mythtv-backend
其中还提到了一个可能更全面的解决方案,但这仅作为一种基本的解决方法。
答案2
你的 mythbackend 应该作为 mythtv 进程运行......
~$ ps auxc|grep myth
mythtv 3706 0.1 0.5 4930284 89092 ? Ssl Aug03 1:29 mythbackend
并且您的用户名应该在 mythtv 组中......
~$ groups
{username} adm dialout fax cdrom sudo audio dip video plugdev netdev fuse lpadmin scanner sambashare vboxusers kismet mythtv input wireshark
如果不是,那么...
sudo adduser your_username mythtv
然后注销并重新登录以启用。