Posso reiniciar o X sem precisar fechar todos os aplicativos na minha sessão atual?

11

Descobri que quando quero alterar o método de entrada, devo reiniciar o X. Mas não quero fechar todos os aplicativos. Como fazer isso?

sam
fonte

Respostas:

9

Você não pode.

O que você pode fazer é iniciar uma nova sessão X em um tty (tela) diferente, que deve deixar os aplicativos em execução na primeira sessão intocados. (É assim que alguns gerenciadores de exibição [por exemplo, KDM] permitem vários logins de usuários diferentes usando o mesmo monitor / teclado físico.)

Fonte: http://www.linuxquestions.org/questions/linux-desktop-74/how-to-restart-x-without-having-to-close-connected-applications-689430/

Mitch
fonte
1
Você poderia dar o comando para fazer isso nesta resposta? Seria bom para não ter de google :)
Aditya MP
2

Os aplicativos iniciados no X serão eliminados se você reiniciar o X. Você não pode evitar isso.

Frantique
fonte
Alguém sabe que sinal esses aplicativos recebem quando o X é finalizado? E isso depende de qual sinal termina X? Eu posso imaginar razões para o sistema ser projetado para que eles recebam SIGHUP, SIGINT, SIGTERM ou SIGKILL (ou alguma combinação desses, separados por um intervalo de tempo durante o qual o aplicativo pode fazer sua própria limpeza).
Elias Kagan
Eliah: não é realmente um sinal: o soquete em que os clientes X (seus aplicativos) estão se comunicando com o Xorg está fechado. Isso pode fazer com que o cliente receba um SIGPIPE na próxima gravação no soquete ou que a gravação falhe. Certamente é possível que os aplicativos possam executar a limpeza aqui.
Jeremy Kerr
Seria possível executar algum tipo de proxy na frente do soquete do Xorg para permitir o redirecionamento do tráfego do soquete para o X recém-reiniciado?
Mikko Rantalainen 6/03/2017
2
@MikkoRantalainen se você conseguir fazê-lo funcionar, o xmove faz exatamente isso. O problema é que não é mantido há 14 anos. Provavelmente, isso também poderia ser feito com o Xpra , que ainda é mantido, mas seu principal objetivo é bem diferente, portanto, seria necessário mexer com isso.
precisa saber é o seguinte