
He creado un startup_test.sh con el siguiente contenido
cd /home/xyz/Desktop/
gnome-terminal -e "bash -c ./efg"
La carpeta #desktop contiene un ejecutable llamado efg
.
Si lo ejecuto gnome-terminal -e "bash -c ./efg"
en la terminal, funciona bien. Abre una nueva terminal y el programa efg
se está ejecutando correctamente. Quiero que este script startup_test.sh
se ejecute después del inicio/iniciar sesión.
Estoy en un inicio de sesión que tiene privilegios de root.
chmod +x startup_test.sh
cp startup_test.sh /usr/sbin/
Mi startup_test.service
tiene el siguiente contenido:
[Unit]
Description=ABC
[Install]
WantedBy=multi-user.target
[Service]
ExecStart=/usr/sbin/startup_test.sh
WorkingDirectory=/home/xyz/Desktop/startup
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=%n
startup_test.service
se coloca en /etc/systemd/system
la carpeta.
Ahora el comando
systemctl daemon-reload
se ejecuta. Ninguna salida.
Ahora el comando systemctl enable startup_test.service
da el siguiente resultado:
Failed to enable unit : Invalid argument
¿Cuál es la causa del resultado anterior?
el comando systemctl start startup_test.service
no da ningún resultado.
El comando systemctl status startup_test.service
está dando:
startup_test.service - ABC
Loaded: loaded (/etc/systemd/system/startup_test.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Mon 2024-02-19 12:09:20 IST; 2min 55s ago
Process: 32531 ExecStart=/usr/sbin/startup_test.sh (code=exited, status=203/EXEC)
Main PID: 32531 (code=exited, status=203/EXEC)
Feb 19 12:09:20 localhost.localdomain systemd[1]: Started ABC.
Feb 19 12:09:20 localhost.localdomain systemd[1]: startup_test.service: Main process exited, code=exited, status=203/EXEC
Feb 19 12:09:20 localhost.localdomain systemd[1]: startup_test.service: Failed with result 'exit-code'.
El sistema operativo es RedHat 8.2.