GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo ejecutar automáticamente secuencias de comandos y comandos de inicio de Linux

Una de las características fantásticas de los sistemas Linux es la capacidad de modificarlo y configurarlo a su gusto. La utilidad de línea de comandos, comúnmente conocida como Terminal, permite a los usuarios pasar comandos al kernel y ejecutar tareas cruciales. Es una de las muchas funciones que marcan la diferencia entre Linux y otros sistemas operativos.

En esta publicación, explotaremos una de las poderosas características de Linux:la capacidad de ejecutar scripts/comandos y aplicaciones automáticamente al inicio. Este proceso se realiza para lograr varias cosas. Puede abarcar desde tareas sencillas y divertidas, como cambiar el fondo de pantalla, hasta tareas complicadas, como realizar copias de seguridad de datos o cifrar archivos.

Ejecución de secuencias de comandos de Linux al inicio

Comencemos y veamos los diferentes métodos que podemos usar para automatizar los scripts y comandos de inicio de Linux.

Método 1:Usar la aplicación GUI de 'Aplicaciones de inicio'

La mayoría de los métodos que veremos requieren la línea de comandos. Sin embargo, las distribuciones basadas en GNOME tienen una utilidad gráfica simple que puede usar. Las ‘Aplicaciones de inicio’ Viene preinstalado y es una herramienta confiable para los usuarios a los que no les gusta ensuciarse las manos con la Terminal.

1. Inicie 'Aplicaciones de inicio' desde el menú de aplicaciones.

2. En ‘Aplicaciones de inicio’ ventana principal, verá tres opciones a la derecha; Agregar , Eliminar y Editar . Para crear nuestro primer script automatizado, haga clic en ‘Agregar’ botón.

3. Se abrirá una ventana emergente. Ingrese el nombre de su script o programa de inicio. En la sección de comandos, ingrese el comando que desea ejecutar; diga 'sudo mkdir /home/tuts/Desktop/My-Test-Script .’ Alternativamente, puede ingresar la ruta completa a su script bash o comando del sistema ejecutable en los diversos ‘bin ‘ directorios.

El comando anterior siempre me dará una notificación en mi pantalla para actualizar mi sistema después de cada inicio. Eso es solo un ejemplo simple. Puede escribir scripts bash avanzados para realizar varias tareas. Si recién está comenzando con bash-scripting, vea algunos ejemplos de Bash For Loop aquí.

Método 2:usar trabajo cron

Cron es un demonio de Linux que ejecuta tareas editadas por el usuario según lo especificado por el usuario. Estas tareas programadas se escriben en el archivo crontab. Le dice al Cron qué trabajos ejecutar, a qué hora y bajo qué eventos.

El formato básico de un archivo crontab es:

[minuto] [hora] [Día del mes] [Mes del año] [Día de la semana] [el script que desea ejecutar].

Sin embargo, para ejecutar scripts al inicio, usaremos @reboot parámetro. Si todo esto le parece nuevo, lea nuestro artículo sobre Crontab en Linux explicado con ejemplos.

Para comenzar, agregue un nuevo trabajo cron, ejecute el siguiente comando en la Terminal.

$ crontab -e

Si nunca ha hecho esto antes, verá una opción para elegir su editor predeterminado, como se muestra a continuación. Recomendaría nano ya que es mucho más simple y directo. En mi caso aquí, ingresaré '1.'

Escribiremos un script simple que creará un nuevo directorio en el Escritorio al iniciar.

SHELL=/bin/bash
@reboot sleep 30 && DISPLAY=:0 My-Test-Directory

Método 3:Utilice /rc.local

Otro método para ejecutar scripts y comandos al inicio es usar el archivo /rc.local. Para comenzar, ejecute el siguiente comando en la Terminal.

sudo nano /etc/rc.local

Este comando abrirá el archivo rc.local en el editor nano. Si no estuviera presente, crearía uno. Introduzca sus comandos entre #! /bin/bash y salir 0 líneas. También puede dar la ruta completa a su script bash aquí.

#! /bin/bash
//path-to-your-bash-script
exit 0

Ahora, necesitamos hacer el /rc.local archivo ejecutable. Ejecute el siguiente comando:

sudo chmod +x /etc/rc.local

Una vez hecho esto, reinicie su PC y vea cómo se aplican los cambios.

Método 4:Systemd

Systemd es un paquete de software que contiene varias utilidades para administrar los servicios del sistema y los procesos del sistema operativo. El systemd inicia servicios y procesos en el arranque.

Podemos usar Systemd para automatizar nuestros scripts y comandos al inicio. Vamos a crear y automatizar un programa para notificarnos que actualicemos el sistema usando Systemd.

Para comenzar, busquemos la carpeta y el archivo requeridos donde escribiremos nuestros comandos. Ejecute los siguientes comandos:

$ mkdir -p ~/.config/systemd/user
$ nano ~/.config/systemd/user/update-notifier.service

Después del segundo comando, se abrirá el editor nano, pegue los comandos a continuación aquí.

[unit]
Description=Reminder to Update System
PartOf=graphical-session-target

[Service]
ExecStart=bash -c 'sleep 10; notify-send "Please, Update your System Now"
Type=oneshot

[Install]
WantedBy=graphical-session.target

Estos comandos son bastante sencillos. El sistema enviará el “Actualización-Recordatorio” 10 segundos después de que se haya cargado la sesión gráfica después del inicio.

Ahora, para garantizar que el script se cargue después de cada inicio, debemos hacerlo ejecutable. Ejecute los siguientes comandos.

$ chmod 644 ~/.config/systemd/user/update-notifier.service
$ systemctl --user enable update-notifier.service
$ systemctl --user daemon-reload
$ reboot

Esa es una forma simple de cómo podemos automatizar scripts con Systemd al inicio. El método anterior ejecuta scripts que no requieren acceso de root. Si desea crear un script que necesite acceso de root, cree un servicio systemd en “/etc/systemd/system” carpeta en lugar de “~/.config/systemd/user” directorio. Además, deberá omitir la palabra ‘usuario’ incluido en el comando anterior.

Conclusión

Estos son cuatro métodos que puede usar para ejecutar automáticamente los scripts y comandos de inicio de Linux al inicio. Si está creando secuencias de comandos simples que no requieren permisos elevados para ejecutarse, le recomiendo usar la 'Aplicación de inicio' Aplicación GUI o un simple trabajo cron. Si sus scripts necesitan acceso de root, entonces considere crear un Systemd servicio.


Linux
  1. Cómo ejecutar automáticamente comandos/secuencias de comandos durante el reinicio o el inicio

  2. Cómo deshabilitar los comandos de apagado y reinicio en Linux

  3. ¿Qué es un comando Chown en Linux y cómo usarlo?

  4. Comandos de Linux:trabajos, bg y fg

  5. Cómo limitar los comandos de usuario en Linux

Cómo recuperar fácilmente comandos de Linux olvidados

Cómo usar los comandos Pbcopy y Pbpaste en Linux

Cómo verificar el historial de comandos de Linux por fechas

Cómo instalar y usar el comando de localización en Linux

Cómo usar el comando echo en Bash Scripts en Linux

Cómo instalar y usar el comando fd en Linux