Executando a GUI sem a necessidade de conexão contínua com a área de trabalho remota

Executando a GUI sem a necessidade de conexão contínua com a área de trabalho remota

Construir: Servidor com Ubuntu 18.04 em data center com interface Ubuntu Mate Desktop.

Pelo que entendi, qualquer aplicativo GUI precisa de uma tela para funcionar. Eu me conecto ao servidor via ssh com x2go para exibir a interface do Ubuntu Mate. Uma vez conectado, tenho um cron job agendado que inicia um terminal, uma GUI e alguns comandos.

Tudo funciona perfeitamente, pois detectei anteriormente qual display estou usando como usuário e especifiquei isso para iniciar o terminal e os comandos.

Problema: se eu não estiver conectado via cliente x2go ao servidor e fornecer essa exibição, notei hoje que o cron job não foi iniciado no horário específico (08:50), anterior à minha conexão do cliente x2go (09: 23); ele foi iniciado quando fiz a conexão do cliente x2go manualmente em minha área de trabalho - meu entendimento é que ele não foi iniciado porque não havia nenhuma exibição disponível.

Não sou técnico o suficiente para me aprofundar neste problema.

Existe alguma maneira de fazer o cron script funcionar (ou seja, iniciar o terminal e a GUI) sem a necessidade de entrar manualmente em minha área de trabalho e iniciar o cliente de área de trabalho remota (x2go)?

Minha ideia é ter outra configuração mínima naquele data center ou outro que aproveite as vantagens de estar lá e ter um monitor físico para exibir constantemente conectado ao servidor principal OU apenas entrar manualmente no servidor via x2go todos os dias.

EDITAR: Quando eu desconecto a sessão do cliente x2go do servidor, a GUI iniciada e etc se mantém perfeitamente, sem desaparecer porque "encerrei a sessão e eliminei a exibição"

Responder1

Finalmente consegui funcionar com a grande ajuda de um dos x2gofundadores (Oleksandr Shneyder) depois de entender como x2golida com as sessões e o X server.

As sessões podem ser suspensas/hibernadas, desconectadas e encerradas.

Suspenso/hibernado:quando "manualmente" ou automaticamente o x2golado do servidor é suspenso para economizar recursos.

Desconectado:quando você sai da janela da sessão e do x2gocliente em seu desktop/laptop.

Terminado:quando você sai do ambiente DE ou emite o x2goterminate-sessioncomando no terminal dentro da sessão.

Meu x2goaplicativo estava de alguma forma entrando em modo de suspensão no servidor, fazendo com que a tela (50 no meu caso) em que o cronjob agendado precisa ser executado e iniciar as GUIs, "não fosse despertada" até que eu entrasse na sessão através do aplicativo . Naquele momento, o cronjob começou a ser executado.

Para dizer x2goao servidor para não hibernar, precisei mudar o X2GO_NXOPTIONSin /etc/x2go/x2goagent.optionsparaX2GO_NXOPTIONS="sleep=0"

Depois disso tudo funciona perfeitamente no servidor.

Espero que ajude outros.

informação relacionada