
Я создал startup_test.sh со следующим содержимым
cd /home/xyz/Desktop/
gnome-terminal -e "bash -c ./efg"
Папка #desktop содержит исполняемый файл с именем efg
.
Если я запускаю gnome-terminal -e "bash -c ./efg"
в терминале, то он просто работает нормально. Открывает новый терминал и программа efg
работает правильно. Я хочу, чтобы этот скрипт startup_test.sh
запускался после загрузки/входа в систему.
Я вошел в систему с правами root.
chmod +x startup_test.sh
cp startup_test.sh /usr/sbin/
Мой startup_test.service
имеет следующее содержимое:
[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
помещается в /etc/systemd/system
папку.
Теперь команда
systemctl daemon-reload
запущен. Нет вывода.
Теперь команда systemctl enable startup_test.service
выдает следующий вывод:
Failed to enable unit : Invalid argument
Какова причина вышеуказанного результата?
команда systemctl start startup_test.service
не выдает никаких результатов.
Команда systemctl status startup_test.service
даёт:
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'.
ОС — RedHat 8.2.