How do I set Xscreensaver to autostart?

Tested and used in Ubuntu 13.04

As no answer has been marked as correct yet; this could be this issue with running xscreensaver on startup

as @peterx14 says here, many of the tutorials for setting up xscreensaver provide incorrect information.

They tell you to set up a screensaver.desktop file with the following command:

sudo gedit /etc/xdg/autostart/screensaver.desktop

and then place inside it the following information:

[Desktop Entry]
Name=Screensaver
Type=Applicaton
Exec=xscreensaver -nosplash

However, for some reason, in many of these tutorials, the above command is incorrect. 'Application' has been misspelt as 'Applicaton'. This causes the startup command to not work.

Therefore, if you have already entered the command

"xscreensaver -no-splash" 

into your startup list, it would not work as xscreensaver is not set up with the type application.

To find out if this is the issue: first run locate screensaver.desktop. This should, somewhere in the list, tell you where screensaver.desktop is. On my computer it's in /etc/xdg/autostart/screensaver.desktop, then open it in an editor (terminal 'nano' may be best as you will need sudo commands to open it) and change 'Applicaton' to 'Application'.

Also, different tutorials (such as liberiangeek and Radu's response) suggest using:

"xscreensaver -nosplash"

as the fix above uses. This depends which value you have within your screensaver.desktop file on line 4: Exec=xscreensaver -nosplash.


One possible way is to introduce a short delay of (for example) 10 seconds before running the command. This should allow all the logon processes to complete before running the xscreensaver command.

Use a startup application command line of:

sh -c "sleep 10 && xscreensaver -no-splash &"