Os serviços Mythbuntu não iniciam até depois do login do usuário

0

Eu tenho MythTV front e back end no Mythbuntu rodando como um 'appliance'. O MythTV não é muito estável e o front end trava após três ou quatro dias de execução contínua da TV ao vivo. Então, tive que mostrar à minha família como reiniciar usando um único pressionamento do botão liga / desliga para acionar um desligamento ordenado. Isso funciona bem, mas quando o sistema é reativado e automaticamente efetua login e executa o front end, ele sempre mostra a lista de seleção de países porque o MySQL ainda não está disponível. Sempre fez isso, mas quando o técnico de TV está disponível (eu) não é um problema. Ele pode continuar saindo da configuração até que o MySQL esteja ativo e o front end seja iniciado.

O que eu descobri é que o serviço MySQL não é iniciado até que o usuário front-end efetue login. Na verdade, o SSH também não inicia. Se eu desligar o login automático, não consigo acessar a caixa remotamente usando ssh ou o cliente MySQL. Uma vez que o usuário final estiver logado, posso acessar os dois.

O MySQL leva cerca de 45 segundos para carregar, o que eu estou muito feliz, mas não se ele não começar a carregar até quase o momento em que mythtv-frontend está pronto para começar também.

Eu quero que o MySQL (e o SSH) sejam executados como serviços globais ... não dependentes de um login de usuário. Se eu puder fazer isso, posso adicionar um atraso (ou até mesmo uma dependência de serviço) à configuração do lightdm.

A pergunta é: como faço para que o MySQL (e SSH) seja iniciado durante a inicialização?

  • A versão do Ubuntu é Ubuntu 16.04.3 LTS
  • A versão do Lightdm é 1.18.3
  • mysql 5.7.20
por Terrible Tadpole 17.12.2017 / 13:26

1 resposta

0

Esta situação surge devido a uma combinação de fatores:

  1. O sistema usa uma conexão Wi-Fi, não uma conexão com fio.
  2. O MySQL está ligado a um endereço IP (em vez de ou bem como localhost)

A configuração padrão da rede Wi-Fi só se conectará ao Wi-Fi após o login. Isso significa que serviços como sshd e mysqld não podem iniciar até depois do login. Se você olhar no log de erros do mysql, verá repetidamente iniciando e abortando até que você faça o login.

Você pode corrigir isso clicando com o botão direito do mouse no símbolo WiFi na barra de status e escolhendo Edit Connections . Selecione sua conexão e clique no botão Edit . Na guia General , marque a opção que diz All users may connect...

Para os viciados em linha de comando, ou se você estiver corrigindo via ssh , será necessário corrigir a configuração do NetworkManager :

$ sudo su
# cd /etc/NetworkManager/system-connections/
# vi connection.name

Encontre a linha permissions= e exclua tudo o que estiver após o sinal de igual.

Reinicie sua máquina e sua conexão de rede será estabelecida na inicialização, antes que qualquer usuário faça o login. Após cerca de 30 segundos, MySQL estará em execução. Cerca de 15 segundos depois, mythbackend também será executado.

    
por Terrible Tadpole 20.12.2017 / 14:02