Ask Ubuntu is a question and answer site for Ubuntu users and developers. 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

This is the first thing I do after logging in:


How can I make it happen automatically?

share|improve this question
Same problem / solution on 12.04 LTS for the record. – Tim Abell May 16 '13 at 9:32
up vote 14 down vote accepted

To make the default Ubuntu IM application Empathy start automatically when you log in, the following instructions are from OMG Ubuntu:

Empathy requires a little bit of a kick to get going on login.

You would be forgiven for thinking that checking the ‘Automatically connect on start-up’ box in Empathy’s preferences pertained to starting on system login. It doesn’t, the start-up in this case refers to Empathy’s start up – not your computer’s.

We can make it start on login by going to System > preferences > startup applications > new item and entering the following information in the relevant fields:

Name: Empathy

Command: empathy -h

share|improve this answer
@fluteflute: Thanks for making the answer for meaningful... :-) – Kushal May 4 '11 at 3:20
I still think that's pretty counter intuitive.. am I the only one? – levesque Apr 9 '13 at 1:03

this script will automatically set status to "unavailable" when screen is locked or screensaver is activated, and will bring it back to available (online) when screensaver is closed!


import os
import time
import dbus
session_bus = dbus.SessionBus()
from gi.repository import TelepathyGLib as Tp
from gi.repository import GObject
loop = GObject.MainLoop()
am = Tp.AccountManager.dup()
am.prepare_async(None, lambda *args: loop.quit(), None)

screensaver_started = 0
running = 0

while 1:
    active = 0
 out = ""
 pid = 0

 if screensaver_started == 0:
     # Don't do anything if the screensaver isn't running
     s = os.popen("pidof gnome-screensaver")
     spid =
     if len(spid) > 0:
         screensaver_started = 1
     h = os.popen("gnome-screensaver-command -q", "r")
     out =
     active = out.find("inactive")

     if active < 0 and running == 0:
         am.set_all_requested_presences(Tp.ConnectionPresenceType.OFFLINE, 'Offline', "")
         running = 1
     elif active > 0 and running == 1:
         am.set_all_requested_presences(Tp.ConnectionPresenceType.AVAILABLE, 'available', "")
         running = 0
share|improve this answer
nice solution but most newbies turn away from Linux when they encounter such a script for such a simple need. – Kushal May 10 '12 at 20:23

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.