Timeline for Why does my init.d script work when invoked manually, but not on startup?
Current License: CC BY-SA 4.0
7 events
| when toggle format | what | by | license | comment | |
|---|---|---|---|---|---|
| Sep 11, 2019 at 20:31 | vote | accept | nirolo | ||
| Aug 31, 2019 at 14:34 | answer | added | nirolo | timeline score: 0 | |
| Aug 30, 2019 at 22:32 | comment | added | Patrick Mevzek |
Couldn't open display (null) typically means that the variable DISPLAY is not set, hence the application that tries to run does not know so to speak where to display itself (a computer can have multiple local or remote display devices). Also is your program, which seems graphical, expected to run without any user logged in or session? When the computer boots it may not have a graphical interface, so what is your program supposed to do then? If it is tied to a user logged in, you may want instead to start it in some .xsession script or equivalent. There is also systemctl --user.
|
|
| Aug 30, 2019 at 22:30 | comment | added | Patrick Mevzek |
As you can see in [ ok ] Starting xflux (via systemctl): xflux.service. your distribution uses systemd. Hence, liking it or not, you may have a simpler life by learning how to use systemd feature and write a service unit file to run your program, instead of sticking to /etc/init.d/. That should remove the need of a lot of boilerplate in your current code.
|
|
| Aug 30, 2019 at 22:23 | comment | added | Henrik supports the community | The reason I've seen the most for this is that your script depends on some environment variable (PATH being the most commonly seen with this) that has different values when run manually from on startup. (I'm off to bed, so I don't have time to read through your script to see if there's another obvious reason or another environment variable that is depended on.) | |
| Aug 30, 2019 at 21:00 | review | First posts | |||
| Aug 31, 2019 at 5:42 | |||||
| Aug 30, 2019 at 20:58 | history | asked | nirolo | CC BY-SA 4.0 |