Inicio de sesión automático para gtalk


2

Cómo lograr el inicio de sesión automático y cerrar sesión en las cuentas de Google a tiempo. Estoy usando el cliente de chat es EMPATHY

Respuestas:


6

Primero necesitará una forma de programar tareas. Si no estás familiarizado crony estás usando Ubuntu / GNOME entonces sudo apt-get install gnome-schedule. Luego puede abrir Tareas Programadas desde el menú Sistema >> Preferencias y usar la GUI para establecer un tiempo específico para que se ejecute un comando.

La forma más sencilla de programar una hora para que Empathy se conecte y desconecte es simplemente programar trabajos para iniciar y detener el programa (solo use los comandos empathyy killall empathy). El problema es que si matamos a Empathy sin cerrar la sesión, seguirá apareciendo conectado durante unos minutos hasta que Google descubra que ha excedido el tiempo de espera.

Para solucionar ese problema, podemos usar D-Bus para enviar una señal al backend de Empathy que le pide que se desconecte. Hay muchas maneras de hacer esto, incluso dbus-senddesde la línea de comandos, pero como estoy más familiarizado con Python, usé eso.

En lugar de configurar su tarea de cierre de sesión para llamar killall empathy, guarde el siguiente script en algún lugar (por ejemplo ~/empathy_signout.py) y luego programe su tarea para llamar a eso ( python ~/empathy_signout.py). Reemplace la cadena EXAMPLE en la cuarta línea con el nombre de su cuenta de Google Talk antes de guardar el archivo.

#!/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')

Este script podría modificarse para evitar la suposición adversa del componente de ruta del nombre de la cuenta, o para iniciar sesión también (si salir del programa es un problema). Eche un vistazo a la interfaz ConnectionManager en los documentos de Telepathy D-Bus si esto no le asusta.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.