Primeiro, você precisará de uma maneira de agendar tarefas. Se você não está familiarizado com cron e está usando o Ubuntu / GNOME, então sudo apt-get install gnome-schedule . Em seguida, você pode abrir Tarefas agendadas no sistema > > Preferências e use a GUI para definir um horário específico para executar um comando.
A maneira mais simples de agendar um horário para o Empathy conectar e desconectar é apenas agendar trabalhos para iniciar e parar o programa (basta usar os comandos empathy e killall empathy ). O problema é que, se matarmos o Empathy sem fazer logout, você ainda aparecerá inscrito por alguns minutos até que o Google descubra que você expirou.
Para contornar esse problema, podemos usar D-Bus para enviar um sinal para o backend do Empathy que pede para desconectar. Existem várias maneiras de fazer isso, inclusive com dbus-send na linha de comando, mas como sou mais familiarizado com o Python, usei isso.
Em vez de configurar sua tarefa de desativação para chamar killall empathy , salve o seguinte script em algum lugar (por exemplo, ~/empathy_signout.py ) e, em seguida, programe sua tarefa para chamar isso ( python ~/empathy_signout.py ). Substitua a string EXAMPLE na quarta linha com o nome da sua conta do Google Talk antes de salvar o arquivo.
#!/usr/bin/env python
# Disconnect Empathy from Google Talk and kill the program.
# Replace EXAMPLE below with your account name (whatever is before @gmail.com)
google_acct_name = 'EXAMPLE'
import os
try:
import dbus
except ImportError:
exit('You need the Python dbus bindings,'
' type "sudo apt-get install python-dbus".')
wkname = ('org.freedesktop.Telepathy.Connection.gabble.jabber.' +
google_acct_name + '_40gmail_2ecom_2fTelepathy')
pathname = '/' + wkname.replace('.', '/')
bus = dbus.SessionBus()
conn_obj = bus.get_object(wkname, pathname)
conn_obj.Disconnect(dbus_interface='org.freedesktop.Telepathy.Connection')
os.system('killall empathy')
Esse script pode ser ajustado para evitar a adivinhação hacky do componente do caminho do nome da conta ou para fazer logon também (se sair do programa for um problema). Dê uma olhada na interface do ConnectionManager na Telepatia D- Documentos de ônibus se isso não assustar você.