¿Alguien sabe (de una lista de recursos) qué scripts se ejecutan automáticamente y cuándo, desde el momento en que inicio la computadora hasta que se apaga nuevamente?
Conozco varios lugares donde puedo agregar scripts para que se ejecuten automáticamente, pero nunca he podido encontrar una lista más o menos completa.
Por ejemplo, conozco estos:
~/.profile
se ejecuta al iniciar sesión- Puedo usarlo
crontab -e
para agregar scripts que se activarán en ciertos momentos y/o fechas
Pero no sé dónde colocar los scripts para que se ejecuten.
- después del arranque, antes de que se inicialice X
- después de que se inicialice la X (u otro shell gráfico), pero antes de que alguien inicie sesión
- después de iniciar sesión en una sesión X
- antes/después del cambio rápido de usuario
- antes de cerrar sesión en una sesión X
- antes del apagado en el shell X
- después del cierre de X, antes de que se detenga el sistema
- después de iniciar sesión/antes de cerrar sesión a través de tty-1..6
- después de iniciar sesión/antes de cerrar sesión a través de SSH
¿Existe tal lista? Si no, ¿podemos montar uno aquí?
Respuesta1
Para Ubuntu Linux tenemos la solución como:
Para después del arranque, antes de que se inicialice X:Ubuntu inicia X-Windows desde GDM (aquellos que usan ubuntu-desktop) o desde KDM (aquellos que usan kubuntu-desktop)
Para ejecutar un script anterior a GDM/KDM, debe escribir su propio script inicial. Para esto puedes leerLibro de cocina advenedizo.
Después del cambio de usuario:Tienes que agregar el script en el
~/.bashrc
archivo.Después de iniciar sesión a través de tty:Tienes que agregar el script en el
~/.bash_profile
archivo.Después de iniciar sesión usando ssh pero no durante el inicio de sesión local usando tty:En este caso, también debe agregar el script en el mismo
~/.bash_profile
archivo, pero en este caso, pruebe la presencia de laSSH_CONNECTION
variable de entorno y solo ejecute los comandos si encuentra que existe.Antes de cerrar sesión mediante tty:Tienes que agregar el script en el
~/.bash_logout
archivo.Antes de cerrar sesión mediante ssh:Debe agregar el script en el
~/.bash_logout
archivo, pero en este caso también, pruebe la presencia de laSSH_CONNECTION
variable de entorno y solo ejecute los comandos si encuentra que existe. En el archivo tienes que agregar la línea.if [[ -n $SSH_CONNECTION ]]
Respuesta2
Si está interesado en las tareas integradas de Linux, también puede consultar los niveles de ejecución de Linux, que es el modo de operación que implementa la inicialización estilo Unix System V.
- 0 Halt Apaga el sistema.
- 1 Modo de usuario único Modo para tareas administrativas.
- 2 Modo multiusuario No configura interfaces de red y no exporta servicios de red.
- 3 Modo multiusuario con funciones de red Inicia el sistema normalmente.
- 4 No utilizado/definible por el usuario Para fines especiales.
- 5 Inicie el sistema normalmente con el administrador de pantalla adecuado. (con GUI) Como nivel de ejecución 3 + administrador de pantalla.
- 6 Reiniciar Reinicia el sistema.
Por ejemplo, a continuación puede ver una lista parcial de los procesos de Linux y su configuración de nivel de ejecución:
chkconfig --list
acpid 0:off 1:off 2:on 3:on 4:on 5:on 6:off
anacron 0:off 1:off 2:on 3:on 4:on 5:on 6:off
atd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
auditd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
autofs 0:off 1:off 2:on 3:on 4:on 5:on 6:off
avahi-daemon 0:off 1:off 2:off 3:off 4:off 5:off 6:off
avahi-dnsconfd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
.
.
.