Como iniciar o programa X11 na inicialização e executar scripts personalizados quando a sessão do X é fechada?

0

Preciso executar um script no final de cada sessão do usuário, e essa parece ser a melhor maneira de fazê-lo. Não tenho experiência em criar programas X11, então como exatamente faço isso?

Beefy_Swain
fonte

Respostas:

1

A resposta dependerá de qual gerenciador de exibição (se houver) é usado para iniciar o X. Por exemplo, se o ambiente da área de trabalho do Gnome for iniciado, provavelmente o Gnome Display Manager iniciou o X. Se o KDE, o KDE Display Manager provavelmente o fez.

Depois de saber qual gerenciador de exibição está sendo usado, consultaria a documentação desse gerenciador de exibição específico para ver se ele menciona uma maneira de fazer o que você deseja. Caso contrário, eu continuaria seguindo as linhas descritas no seu link - mas isso envolve saber qual "sistema de inicialização" está sendo usado. Por exemplo, Ubuntu e Red Hat usam Upstart; Arch Linux e Fedora usam systemd; O Debian (eu acho) usa o SysV init.

A solução mais fácil, a propósito, é modificar seu sistema para que ele seja inicializado no modo de texto e, consequentemente, para o usuário adquirir o hábito de usar o startx para iniciar o X. Não sei se essa solução é aceitável, mas essa prática foi usada ser bastante comum em meados da década de 2000 (a última vez que executei o Linux) e antes. Então você acabou de chamar seu script no final de ~ / .xinitrc. Bem, é um pouco mais complicado que isso: a última linha desse arquivo geralmente é da forma em exec gnome-sessionque gnome-sessionpode haver qualquer programa. você mudaria exec gnome-sessionpara gnome-session(se livrar do execem outras palavras) e adicionaria a linha que chama seu script depois disso.

hruvulum
fonte
A solução no último parágrafo não funcionará se o servidor X estiver sendo finalizado com força. Mas é possível usar um script personalizado que inicia a sessão X e ter um comando após o comando usado para executar o servidor X. Isso também pode ser automatizado, por exemplo, em um sistema usando / etc / inittab, ele pode ser colocado lá.
Golar Ramblar