Disparadores Linux: SystemD de Usuario
El disparador moderno: SystemD User Services
En las distribuciones modernas, se puede crear un servicio de systemd que pertenezca al usuario y no al sistema general.
Se disparará exactamente cuando el gestor de usuarios de systemd inicie la sesión de ese usuario.
Vemos paso a paso como realizarlo:
Lo primero es crear un fichero con extensión .service
Hay que crerlo en la ruta: ~/.config/systemd/user/
Por ejemplo creamos el fichero mi_disparador.service con el siguiente contenido:
[Unit]
Description=Script de inicio de sesion de usuario
[Service]
Type=oneshot
ExecStart=/home/usuario/scripts/al_entrar.sh
[Install]
WantedBy=default.targetLuego solo hay que habilitarlo, para ello al igual que usamos systemctl para los servicios del sistema, lo activaremos con:
systemctl --user enable mi_disparador.service
el parametro --user lo activa unicamente para el usuario y se ejecutará de forma silenciosa y controlada en cada login.
Una forma sencilla y moderna de que un usuario disponga de sus propios servicios tras realizar el login.