I've found out the hard way: Running the script during startup, and running it using the proper user authorization, are two different things.
Programmer Humor
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
And environment
DISPLAY
and PATH
in particular.
You’re right and I’m dumb. I forgot to absolute-ify one of the paths, which caused the script to be dependent on my user environment, which isn’t loaded by the desktop file.
Knowing that the environment is finicky, I made sure to only use absolute paths to all files and executables.
But thanks for the hint.
When all else fails...
crontab -e
@reboot sleep 300 && sudo ./myshell.sh
(this is actually broken on some distros)
I've been in the systemd world so long none of my systems even have cron
That sounds like a sad world. I like cron
LOL, I actually like systemd timers, cron seems easier to setup quickly but I do like some of the features of timers combined with services.
Why the long delay?
Just to make sure it pops off after fully starting up. I run a lot of old hardware, so it's useful for me. You may not need a delay.
Thanks. man 5 crontab
says the @reboot
syntax is supported, so I’ll give that a try if I don’t stumble upon a different solution.
Never heard of a .application file
Normally you need a .desktop file
Indeed, I made this meme from memory and got the extension wrong.
I corrected the meme. Thanks for pointing out the error
gnome-terminal -- sh -c "my_command"
This will open that command in new terminal window at login