Como executar um script no login gdm automaticamente para todos os usuários?


8

Que arquivo devo modificar para executar algumas instruções quando qualquer usuário efetua login através do gdm?

Eu tentei, /etc/bashrcmas isso é executado apenas ao iniciar o bash (e cada vez que um xterm é aberto). Eu gostaria de executar algo apenas uma vez quando o usuário efetuar login.

O que eu quero fazer é "redefinir" algumas preferências do usuário toda vez que o usuário fizer logon (incluindo o gerenciador de janelas), para que o script seja executado antes da inicialização do WM.


4
Por que você quer irritar seus usuários assim?
Keith

Respostas:


8

A solução que parece funcionar melhor para mim é editar /etc/gdm/PostLogin/Default. Isso é executado logo após o usuário efetuar login com o gdm. Apenas o que eu queria.


1

No Debian e derivados, você pode modificar /etc/profile, embora não ache que seja universal.


Isso é apenas para logins do shell - e o OP apontou que ele não estava interessado em tal solução.
rozcietrzewiacz

1
@rozcietrzewiacz: isso também funciona para logins do GDM, porque se lê /etc/profile(consulte /etc/gdm/Xsession). Não existe uma regra geral para todos os mestres, eu acho.
enzotib 12/08

Hum ... Talvez seja, eu não sei - mas você checou quando mais ele foi adquirido? É possível fazer alguns testes da configuração do login, é claro, mas você deve descrever mais essa abordagem.
rozcietrzewiacz

0

Na página do manual:

Quando o bash é chamado como um shell de login interativo ou como um shell não interativo com a opção --login, ele primeiro lê e executa comandos do arquivo / etc / profile, se esse arquivo existir. Depois de ler esse arquivo, ele procura ~ / .bash_profile, ~ / .bash_login e ~ / .profile, nessa ordem, e lê e executa comandos do primeiro que existe e é legível. A opção --noprofile pode ser usada quando o shell é iniciado para inibir esse comportamento.

Quando um shell de login sai, o bash lê e executa comandos do arquivo ~ / .bash_logout, se existir.

Quando um shell interativo que não é um shell de login é iniciado, o bash lê e executa comandos de /etc/bash.bashrc e ~ / .bashrc, se esses arquivos existirem. Isso pode ser inibido usando a opção --norc. A opção --rcfile file forçará o bash a ler e executar comandos do arquivo, em vez de /etc/bash.bashrc e ~ / .bashrc.

Para alterar o WM de seus usuários: desinstale o kdm / gdm / xdm / slim, configure o WM em ~ / .xinitrc e execute "startx" na sua configuração do bash.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.