By rubengr
I make a simple shell script that opens gnome-text-editor named lauchscript.sh, in directory /home/pi/:
! /bin/sh
gnome-text-editor
And changed service file to:
#!/bin/sh -
[Unit]
Description=ATF Grafic Console
[Service]
WorkingDirectory=/home/pi
ExecStart=launchscript.sh
#ExecStart=-/RaspberryPi/ConsolaGrafica
Restart=always
#StandardOutput=syslogConsola # Output to syslog
#StandardError=syslogConsola # Output to syslog
[Install]
WantedBy=multi-user.target
Again I try run this service, and report the same error… ExecStart= needs to have full path, but in my app i need to run in other path like this example…
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
ExecStart requires an absolute path, so you will have to replace it with:
WorkingDirectory=/home/pi
ExecStart=/home/pi/launchscript.sh
To correctly change the working directory of a systemd service unit and ensure the ExecStart directive works as intended, you need to follow these steps:
Specify the full path for ExecStart: Systemd requires that the ExecStart directive contains the full path to the executable.
Ensure the script is executable: Make sure your script has the appropriate permissions.
Here’s how you can modify your service unit file:
Modify the launchscript.sh:
#!/bin/sh
gnome-text-editor
Make it executable:
chmod +x /home/pi/launchscript.sh
ExecStart.Example service unit file (/etc/systemd/system/your_service_name.service):
[Unit]
Description=ATF Grafic Console
[Service]
WorkingDirectory=/home/pi
ExecStart=/home/pi/launchscript.sh
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start your_service_name
sudo systemctl enable your_service_name
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Full documentation for every DigitalOcean product.
The Wave has everything you need to know about building a business, from raising funding to marketing your product.
Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.
New accounts only. By submitting your email you agree to our Privacy Policy
Scale up as you grow — whether you're running one virtual machine or ten thousand.
Sign up and get $200 in credit for your first 60 days with DigitalOcean.*
*This promotional offer applies to new accounts only.