GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cuál es el equivalente Linux del inicio de Windows?

¿Algo como Cron?

Tenga en cuenta el @reboot entrada

Este es el enfoque más flexible y el que más se parece a las "Tareas programadas" de Windows (mejor en realidad).


Inicio automático de Xorg

Además de los scripts de inicio a nivel del sistema, su entorno de escritorio puede tener su propia forma de ejecutar programas automáticamente. La carpeta .config/autostart se supone que es una forma neutral de escritorio de definir las entradas de ejecución automática. /etc/xdg/autostart es para la configuración de todo el sistema. Detalles sobre la especificación en http://developer.gnome.org/autostart-spec/.

Para LXDE, las entradas de inicio automático también se pueden configurar en ~/.config/lxsession/LXDE/autostart .

Es un poco diferente si necesita ejecutar sus scripts después la red está funcionando. En ese caso, debe verificar los scripts especiales posteriores a la conexión que se pueden definir para su administrador de red. Ambos NetworkManager y wicd tienen sus propias formas de especificar entradas de ejecución automática posteriores a la conexión. Si la red está configurada a través de ifupdown , entonces las secuencias de comandos posteriores se pueden colocar en el /etc/network/if-up.d/ carpeta. Pero un mejor enfoque para ejecutar secuencias de comandos posteriores a la conexión podría ser systemd (para los sistemas que lo admiten, que es la mayoría de las distribuciones modernas).

Inicio automático como un servicio systemd

Si lo que desea iniciar automáticamente no es una aplicación gráfica que requiere un escritorio, entonces es mejor evitar el uso de las funciones de inicio automático proporcionadas por xorg o por su entorno de escritorio actual.

systemd se ha vuelto omnipresente en muchas distribuciones modernas y ofrece mucho control y flexibilidad en términos de cómo se inician y ejecutan sus servicios.

Resumiré algunos beneficios (systemd puede hacer mucho más ):

  • Ejecutar como raíz o como usuario específico:p. User=myuser
  • Reiniciar servicios en caso de falla con tiempos de espera configurables:Restart=on-failure|on-watchdog|on-abnormal|always
  • Configuración del tipo de servicio:Type=simple|forking|oneshot|notify|dbus
  • Establezca dependencias y condiciones previas de inicio, es decir, puede configurar su servicio para que se inicie después de que la red esté activa (Wants=network-online.target en el [Unit] sección).

Un servicio de ejemplo que inicia un demonio telegram-cli. Colócalo en /etc/systemd/system/tg.service .

[Unit]
Description=MyDaemon
Wants=network-online.target
After=network-online.target

[Service]
ExecStart=/usr/local/bin/telegram-cli -k /etc/telegram-cli/tg-server.pub -W -P 1234 -d -vvvRC
ExecStop=/usr/bin/pkill -f telegram-cli

User=jicu

[Install]
WantedBy=multi-user.target

Ahora puede habilitar el servicio para que se inicie automáticamente:

sudo systemctl enable tg

Inicie el servicio:

sudo systemctl start tg

Detener el servicio:

sudo systemctl stop tg

Verifique el estado:

systemctl status tg

Deshabilitar el servicio:

sudo systemctl disable tg

Para ahorrarte tipeo adicional, puedes agregar tu ~/.bashrc la línea alias sc='sudo systemctl $*' entonces podrá acortar los comandos anteriores a, p. sc start tg .

Más información:

  • Comprender systemd
  • servicios systemd
  • unidades systemd

Sí, es posible ejecutar programas al inicio en Linux definiendo las rutas a los ejecutables en rc.local que reside en el /etc o /etc/rc.d directorio, por ejemplo:

#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

touch /var/lock/subsys/local
/path/to/executable

Nota:no olvide asignar derechos ejecutables como se describe en la documentación del archivo, es decir, Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure that this script will be executed during boot.


Linux
  1. ¿Cuál es el mejor VPS:Windows o Linux?

  2. ¿Cuál es el equivalente de C++ para AutoResetEvent en Linux?

  3. ¿Cuál sería el equivalente de Win32 API en Linux?

  4. ¿Cuál es el equivalente Unix/Linux de E/S registrada?

  5. ¿Cuál es el equivalente de ~ (tilde) de Linux en Windows?

¿Qué hace que Linux sea el sistema operativo sostenible?

¿Qué es el Shell en Linux?

¿Qué es el comando matar en Linux?

¿Cuál es el equivalente del comando updatedb de Linux para Mac?

¿Cuál es el análogo de Windows del comando watch de Linux?

¿Cuál es el equivalente al comando de archivo de Linux para Windows?