¿Lista de scripts (ubicación) que se ejecutan automáticamente y cuándo?

¿Lista de scripts (ubicación) que se ejecutan automáticamente y cuándo?

¿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:

  • ~/.profilese ejecuta al iniciar sesión
  • Puedo usarlo crontab -epara 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:

  1. 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.

  2. Después del cambio de usuario:Tienes que agregar el script en el ~/.bashrcarchivo.

  3. Después de iniciar sesión a través de tty:Tienes que agregar el script en el ~/.bash_profilearchivo.

  4. 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_profilearchivo, pero en este caso, pruebe la presencia de la SSH_CONNECTIONvariable de entorno y solo ejecute los comandos si encuentra que existe.

  5. Antes de cerrar sesión mediante tty:Tienes que agregar el script en el ~/.bash_logoutarchivo.

  6. Antes de cerrar sesión mediante ssh:Debe agregar el script en el ~/.bash_logoutarchivo, pero en este caso también, pruebe la presencia de la SSH_CONNECTIONvariable 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
.
.
.

información relacionada