Tengo algunos elogios que deseo que me llamen inmediatamente después de iniciar sesión, incluido 'startx', y pensé que rc.local
parece un buen lugar para ellos, pero el problema es que rc.local
se ejecuta como root y no quiero eso, obviamente puedo hacerlo algo como esto:
su username -c somecommend-here
Pero estoy buscando una manera de ejecutar todo el 'rc.local' como usuario normal, ¿o tal vez hay un lugar mejor para poner mi código?
PD. Estoy usando Ubuntu-mini-remix 1104i386
Gracias
Respuestas:
La forma más fácil de iniciar un comando cuando un usuario inicia sesión es crear un
.desktop
archivo para el comando y pegarlo en la~/.config/autostart
carpeta. ¿Cómo se ve el archivo de escritorio? Aquí hay un ejemplo que recupera la página de inicio de Ask Ubuntuwget
cada vez que el usuario inicia sesión:fuente
startx
(como solicitó el OP) después del inicio de sesión gráfico.startx
desderc.local
. Lo sentimosNo sé las diferencias entre /etc/rc.local y un crontab, pero generalmente hago una cuenta de servicio y agrego el trabajo apropiado. Por ejemplo: sudo crontab -u p4padmin -e
No tiene que iniciar sesión para que se ejecute el servicio.
fuente
La forma de Linux es agregar sus comandos a en
~/.bashrc
lugar de/etc/rc.local
.Cada usuario tiene un
.bashrc
en su directorio de inicio. Este archivo de script se ejecuta automáticamente justo después de que un usuario inicia sesión. Se ejecuta con las credenciales del usuario, porsu
lo que no se necesita un comando.Me parece que esto es exactamente lo que estás buscando.
fuente
.bashrc
que no se lee cuando un usuario inicia sesión usando lo normallightdm
, por ejemplo.