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

OUna de las fantásticas funciones 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 características que resaltan la diferencia entre Linux y otros sistemas operativos.

En esta publicación, aprovecharemos 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 divertidas y sencillas, como cambiar el fondo de pantalla, hasta cosas complicadas como realizar copias de seguridad de datos o cifrar archivos.

Índice

Ejecución de scripts de Linux al iniciar

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

Método 1: use la aplicación GUI '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 utilizar. los '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. Lanzamiento 'Aplicaciones de inicio' en el menú de aplicaciones.

Iniciar aplicaciones de inicio
Iniciar aplicaciones de inicio

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

Agregar un programa de inicio
Agregar un programa de inicio

3. Se abrirá una ventana emergente. Ingrese el nombre de su programa o secuencia de comandos 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 distintos 'compartimiento'directorios.

Sistema de actualización
Sistema de actualización

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, mire algunos de los ejemplos de Bash For Loop aquí.

Método 2: usar Cron Job

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, en qué momento y bajo qué eventos.

El formato básico de un archivo crontab es:

[minute] [hour] [DayOfMonth] [MonthOfYear] [DayOfWeek] [the script you want to execute].

Sin embargo, para ejecutar scripts al inicio, usaremos el @reiniciar parámetro. Si todo esto le suena 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. yo recomendaria nano ya que es mucho más simple y directo. En mi caso aquí, ingresaré '1'.

Seleccionar editor
Seleccionar editor

Escribiremos un script simple que creará un nuevo directorio en el escritorio al inicio.

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

Reiniciar Cron Job
Reiniciar Cron Job

Método 3: use el /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. Ingrese sus comandos entre los #! / 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

archivo rc.local
archivo rc.local

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

sudo chmod +x /etc/rc.local

archivo rc.local
archivo rc.local

Una vez hecho esto, reinicie su PC y vea que los cambios surtan efecto.

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 los servicios y procesos al arrancar.

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

Para comenzar, veamos 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

Archivo systemd
Archivo systemd

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

Archivo Systemd
Archivo Systemd

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 asegurarnos de 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

Archivo systemd
Archivo systemd

Esa es una forma sencilla 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 el "/ 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 utilizar para ejecutar automáticamente scripts y comandos de inicio de Linux al inicio. Si está creando scripts simples que no requieren permisos elevados para ejecutarse, le recomiendo usar el 'Aplicación de inicio' Aplicación GUI o un trabajo cron simple. Si sus scripts necesitan acceso de root, considere la posibilidad de crear un Systemd Servicio.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir