Run gui application on startup
Cron is not the program you're after. To run GUI programs there are different approaches. Which one to choose depends on your desktop environment.
The traditional way is to hook it into your .xinitrc file before starting the window manager. A simple example .xinitrc looks as follows:
#!/bin/sh
# Play a login sound
ogg123 -q "${HOME}/Music/login.ogg" &
# Start a terminal emulator
urxvt -T Terminal &
# Start the window manager
exec awesome
Depending on the desktop environment, you can also use ~/.config/autostart/
and create a program.desktop
file. Check that directory, if it already contains entries. That's the easiest way, I guess.
autostart […] defines a method for automatically starting applications during the startup of a desktop environment […]
Source: freedesktop autostart specification
I just had a horrible time doing this in Lubuntu, so I thought I would share how I finally got it. Create a .desktop
file in /etc/xdg/autostart
. You can get the format from freedesktop Desktop Application Autostart Specification and/or just look at other desktop configuration files in that folder. My big problem was that I was trying to put it in the folders listed by the command
echo $XDG_CONFIG_DIRS/autostart
but that gives folders that don't work, as well as the one above. Perhaps, on other systems, you could get a hint about where to put it from
sudo find / -name *.desktop
Another little hint - if you write a .desktop
file, you can check it by putting it in your desktop folder. It should show up as an icon, and when opening it, it should run your program.