Tradicionalmente, isso é feito usando XSMP e libSM
. Se você pedir a um gerenciador de sessão para sair, ele envia mensagens "SaveYourself" para todos os clientes que se registraram no XSMP.
O programa não é morto, no entanto; ele sai sozinho quando o Xlib perde a conexão com o servidor X11. (Não tenho certeza se o gtk tem uma opção para desativar isso.)