Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I want to run some commands every time a user of an ubuntu 9.10 machine logs out or shuts down. What is the best way to do this? Every user uses gnome if that helps.

share|improve this question

migrated from Apr 5 '10 at 1:17

This question came from our site for professional and enthusiast programmers.

this should really be under the "Linux & Unix" SE site... IMHO – CenterOrbit Aug 1 '11 at 3:10

After some Googling I found How to run a script on logout? which says to add the script to $HOME/.bash_logout.

If that doesn't work, add


to /etc/gdm/PostSession/Default so it executes the logout script properly.

Seeing as before shutdown the user is logged off anyway, this should cover both bases.

share|improve this answer
Using Ubuntu 12.04, /etc/gdm/PostSession/Default doesn't exist, where else I can place my script such that it executes on logout as well as shutdown? – Kushal May 12 '12 at 16:57

If you are using KDE (I am using Ubuntu with kdm)

# From the kdm man page

/etc/kde4/kdm/Xreset - script to run as root after session exits

/etc/kde4/kdm/Xsession - script to run as user after login of user

/etc/kde4/kdm/Xsetup - script to run as root before the login dialog appears

/etc/kde4/kdm/Xstartup -  script to run as root before session starts

To test:

Open the appropriate file i.e.

sudo emacs /etc/kde4/kdm/Xreset

Add a test command (create a file in my home directory)

touch  /home/dericbytes/this-file-was-created-by-xreset

Then I logged out, and back in again, and checked if the new file was created

ls /home/dericbytes/this*
share|improve this answer

Hmm..well if you google "linux run script on shutdown", the first result is a post on the Ubuntu forums with your answer:

chmod +x /etc/init.d/

This will allow you execute the script as a program.

To have a script run at shutdown, use this technique:

sudo ln -s /etc/init.d/ /etc/rc0.d/
sudo ln -s /etc/init.d/ /etc/rc6.d/

background on how this works: An introduction to run-levels.


As a sidenote, should I refrain from indulging people with answers when it is clear that they haven't even tried searching the Internet first (I'm new here..)?

share|improve this answer
This does not handle logout events. Also, welcome to SO! The only time failing to search becomes an issue is when someone is asking a question that has clearly been asked (here) before. Googling prior is not required. As the link you provided clearly doesn't fully answer the question, its a good chance that the OP already saw it :) – Tim Post Apr 4 '10 at 23:49

You can probably use the ConsoleKit dbus interface.

share|improve this answer

You must log in to answer this question.