¿Cómo ejecutar un script en gdm login automáticamente para todos los usuarios?


8

¿Qué archivo debo modificar para ejecutar algunas instrucciones cuando cualquier usuario inicia sesión a través de gdm?

Lo intenté /etc/bashrcpero eso se ejecuta solo cuando se inicia bash (y cada vez que se abre un xterm). Me gustaría ejecutar algo solo una vez cuando el usuario inicia sesión.

Lo que quiero hacer es "restablecer" algunas preferencias de usuario cada vez que el usuario inicia sesión (incluido el administrador de ventanas), por lo que el script debe ejecutarse antes de que se inicialice el WM.


44
¿Por qué quieres molestar a tus usuarios así?
Keith

Respuestas:


8

La solución que parece funcionar mejor para mí es editar /etc/gdm/PostLogin/Default. Esto se ejecuta justo después de que el usuario inicia sesión con gdm. Justo lo que quería.


1

Sin /etc/profileembargo, en Debian y derivados puede modificar , no piense que es universal.


Esto es solo para inicios de sesión de shell, y el OP señaló que no estaba interesado en dicha solución.
rozcietrzewiacz

1
@rozcietrzewiacz: esto también funciona para inicios de sesión de GDM, porque se lee /etc/profile(ver /etc/gdm/Xsession). No hay una regla general para todos los DM, creo.
enzotib

Hm ... Tal vez lo es, no lo sé, pero ¿comprobaste cuándo más se obtiene? Uno puede hacer algunas pruebas de la configuración de inicio de sesión, por supuesto, pero luego debe describir este enfoque más.
rozcietrzewiacz

0

Desde la página del manual:

Cuando se invoca bash como un shell de inicio de sesión interactivo o como un shell no interactivo con la opción --login, primero lee y ejecuta comandos del archivo / etc / profile, si ese archivo existe. Después de leer ese archivo, busca ~ / .bash_profile, ~ / .bash_login y ~ / .profile, en ese orden, y lee y ejecuta comandos del primero que existe y es legible. La opción --noprofile se puede usar cuando se inicia el shell para inhibir este comportamiento.

Cuando sale un shell de inicio de sesión, bash lee y ejecuta comandos desde el archivo ~ / .bash_logout, si existe.

Cuando se inicia un shell interactivo que no es un shell de inicio de sesión, bash lee y ejecuta comandos desde /etc/bash.bashrc y ~ / .bashrc, si existen estos archivos. Esto puede inhibirse utilizando la opción --norc. La opción de archivo --rcfile obligará a bash a leer y ejecutar comandos desde el archivo en lugar de /etc/bash.bashrc y ~ / .bashrc.

Para cambiar el WM de sus usuarios: desinstale kdm / gdm / xdm / slim, configure el WM en ~ / .xinitrc y ejecute "startx" desde su configuración bash.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.