Upstart gera vários vncservers

0

Script inicial pronto:

start on startup

exec /usr/bin/vncserver

gera mais de 15 instâncias do processo Xvnc.

Soft: tigervncserver no Ubuntu 16.04

Se eu iniciá-lo a partir do shell, como $ / usr / bin / vncserver, ele funciona normalmente e exibe apenas um servidor.

Toda vez que o vncserver é iniciado em qualquer lugar, o dmesg mostra a mensagem:

[ 1694.544180] show_signal_msg: 42 callbacks suppressed

[ 1694.544183] gnome-screensav[3732]: segfault at 0 ip           (null) sp 00007ffd6f4700d8 error 14 in gnome-screensaver[400000+20000]

mas funciona bem depois disso.

Quando inicio a execução deste script, posso ver no dmesg 13 mensagens sobre screensav e message:

[ 2040.250475] traps: gnome-session-b[12217] trap int3 ip:7fdbc39eba6b sp:7fff55f95e20 error:0

algum estouro acho que ... então pare para gerar servidores.

Então, como impedir que o upstart reinicie o script, mesmo se resultar em erro do sistema? Como iniciar automaticamente o vncserver após o login de outra maneira então o upstart (ou systemd) ou os aplicativos de inicialização do Ubuntu para ter certeza de que ele executa apenas uma vez? Como corrigir esse erro (se alguém souber)?

    
por newbeginner 12.01.2017 / 14:47

1 resposta

0

Resposta para a questão principal:

Este script simples é executado na inicialização da sessão, em seguida, inicia o servidor vnc, que inicia uma nova sessão e, nessa sessão, o upstart inicia esse script novamente. Tantas instâncias do Xvnc chamadas recursivamente. Eu fiz algumas adições ao script:

start on startup

script
if [ -z "$(ps -e | grep Xvnc)" ]; then
    /usr/bin/vncserver
fi
end script

agora funciona bem e traz apenas uma sessão.

O erro de segfault

ainda existe, mas o problema principal está resolvido.

    
por newbeginner 13.01.2017 / 11:46