我在 Mythbuntu 上将 MythTV 前端和后端作为“设备”运行。MythTV 不太稳定,连续播放直播电视三四天后前端就会锁定。所以我不得不向家人展示如何重新启动,只需按一下电源按钮即可触发有序关机。这种方法效果很好,但当系统重新启动并自动登录并运行前端时,它总是显示国家选择列表,因为 MySQL 尚不可用。它总是这样,但当电视技术人员(我)有空时,这不是问题。他可以一直退出设置,直到 MySQL 启动,然后前端启动。
我发现,MySQL 服务直到前端用户登录后才会启动。事实上,SSH 也不会启动。如果我关闭自动登录,我无法使用 MySQL 客户端ssh
或 MySQL 客户端远程访问该框。一旦前端用户登录,我就可以访问两者。
MySQL 大约需要 45 秒才能加载,我对此非常满意,但是不是mythtv-frontend
如果直到准备开始的时刻才开始加载。
我希望 MySQL(和 SSH)作为全局服务运行……不依赖于用户登录。如果我能做到这一点,我就可以在 lightdm 配置中添加延迟(甚至是服务依赖)。
问题是:如何让 MySQL(和 SSH)在启动期间启动?
- Ubuntu 版本是 Ubuntu 16.04.3 LTS
- Lightdm 版本是 1.18.3
- Mysql 5.7.20
答案1
这种情况的出现是由于多种因素造成的:
- 系统使用 WiFi 连接,而不是有线连接。
- MySQL 绑定到 IP 地址(而不是或以及 localhost)
默认的 WiFi 网络设置仅在您登录后才会连接到 WiFi。这意味着像sshd
和这样的服务mysqld
只有在您登录后才能启动。如果您查看 mysql 错误日志,您会发现它反复启动和中止,直到您登录。
您可以通过右键单击状态栏中的 WiFi 符号并选择 来解决此问题Edit Connections
。选择您的连接并单击Edit
按钮。在General
选项卡中,选中以下选项All users may connect...
对于命令行爱好者,或者如果你正在通过 进行修复ssh
,你需要修复 NetworkManager 配置:
$ sudo su
# cd /etc/NetworkManager/system-connections/
# vi connection.name
找到该permissions=
行并删除等号后面的所有内容。
重新启动您的机器,您的网络连接将在启动时建立,在任何用户登录之前。大约 30 秒后将MySQL
运行。大约 15 秒后mythbackend
也将运行。