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?
fonte
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?
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-session
que gnome-session
pode haver qualquer programa. você mudaria exec gnome-session
para gnome-session
(se livrar do exec
em outras palavras) e adicionaria a linha que chama seu script depois disso.