gtk-WARNING **: não é possível abrir a exibição durante a execução do script somente de linha de comando

3

Eu estou tentando executar vários scripts python intensivos de computação em um servidor (Ubuntu 14.04.5 LTS) via ssh -Y e tmux. Isso funciona bem, desde que eu não feche a conexão ssh. Se eu fechar a conexão, o script atualmente em execução será concluído corretamente, mas todos os scripts iniciados posteriormente receberão o erro

gtk-WARNING **: cannot open display: localhost:10.0

Os scripts são somente de linha de comando, mas talvez uma biblioteca usada por algum motivo precise de uma exibição. Se eu desligar, a tela se foi (minha suposição). Existe uma maneira de corrigir isso (de preferência sem acesso root), talvez uma maneira de enganar o Ubuntu em pensar que há um display enquanto não há nenhum?

EDITAR:

  • Eu primeiro me conecto a um vpn e depois ssh no servidor (com o sinalizador -Y)
  • Estou tentando executar este script em um loop com diferentes parâmetros de cada vez. Ele usa matplotlib.use('Agg') , então o matplotlib não deveria ser o problema (?) Não consigo pensar em mais nada.
  • echo $DISPLAY retorna localhost:10.0 antes do erro. Se eu me conectar de um computador diferente, ele retornará localhost:13.0 . Se eu deixar o terminal no computador original aberto, ele ainda retornará localhost:10.0 , no entanto, se eu abrir um novo, ele também retornará localhost:13.0
  • O X11-Forwarding funciona normalmente, posso executar qualquer aplicativo de desktop que eu tentei até agora. O problema são scripts que iniciam depois de eu desconectar / sair.
por KJoke 04.02.2018 / 13:08

1 resposta

0

Tente definir a variável DISPLAY:

export DISPLAY=localhost:10.0

E, em seguida, execute seus comandos.

    
por Savvas Radevic 05.02.2018 / 12:13