¿Cómo consigo que un script se ejecute automáticamente cuando inicio sesión? No cuando la máquina se inicia, y no para todos los usuarios, sino solo cuando yo (o cualquier usuario específico con el script) inicie sesión a través de la interfaz de usuario de GNOME.
Al leer en otro lado, pensé que estaba .bash_profile
en mi directorio personal, pero para mí no tiene ningún efecto. Cuando lo ejecuto manualmente en una ventana de terminal escribiendo ~/.bash_profile
, funciona, pero no se ejecutará automáticamente cuando inicie sesión.
Estoy ejecutando Ubuntu 11.04. El permiso de archivo en mi .bash_profile es -rwx------
. No existía .bash_profile en mi directorio personal antes de crearlo hoy.
Me parece recordar que las versiones anteriores de Linux tenían un .profile
archivo para cada usuario, pero eso tampoco funciona.
Como se hace ¿Necesito configurar algo más para que el .bash_profile funcione? ¿O el script de inicio de sesión por usuario debe estar en algún otro archivo?
fuente
Respuestas:
Simplemente puede agregar el siguiente comando en Sistema> Preferencias> Aplicaciones de inicio:
Eso debería hacer el truco ;)
fuente
/etc/xdg/autostart
bash /home/myusername/scriptname
a "Aplicaciones de inicio" funcionó! Gracias. Sin embargo, esto podría ser específico de GNOME en Ubuntu, por eso me preguntaba dónde están registradas las entradas en ese elemento del menú "Aplicaciones de inicio", ya que sería más probable que sea similar en otras versiones modernas de Linux./etc/xdg/autostart
parece ser un archivo de todo el sistema, no específico de un usuario.Básicamente, como sugirió nodiscc , cree un iniciador de escritorio: ~ / .config / autostart / script.desktop con el siguiente contenido:
Luego cree el script de inicio automático: ~ / bin / autostart con el contenido de su bash:
Asegúrese de que ~ / bin / autostart es ejecutable
fuente
Puedes agregar una línea en crontab -
Luego agregue esta línea al archivo que se abre:
Esto ejecutará el script al reiniciar. Para más detalles ver
man crontab
fuente
Prueba
~/.xinitrc
(alguna información aquí: https://wiki.archlinux.org/index.php/Xinitrc ). Recuerde que todo lo que comience en este script debe iniciarse / ejecutarse en segundo plano, o podría interferir con el inicio de sesión X.fuente
Ampliando la respuesta de @JuanSebastianTotero .
En lugar de:
Tratar
bash
no funcionó para mí en Ubuntu13.04
y14.04
. Pero losh
hace.fuente