Wie kann ich meinen Status automatisch auf Verfügbar setzen, wenn ich mich anmelde?

12

Dies ist das erste, was ich nach dem Einloggen mache:

Bildschirmfoto

Wie kann ich das automatisch machen?

ændrük
quelle
Gleiches Problem / Lösung am 12.04 LTS für den Rekord.
Tim Abell

Antworten:

14

Die folgenden Anweisungen stammen von OMG Ubuntu, damit die standardmäßige Ubuntu IM-Anwendung Empathy beim Anmelden automatisch gestartet wird :

Empathie erfordert einen kleinen Kick, um sich einzuloggen.

Es wird Ihnen verziehen, wenn Sie das Kontrollkästchen "Beim Start automatisch verbinden" in den Empathy-Einstellungen für den Start beim System-Login aktivieren. In diesem Fall bezieht sich der Start auf Empathys Start - nicht auf Ihren Computer.

Wir können ihn beim Anmelden starten, indem wir zu System> Einstellungen> Startanwendungen> Neues Element gehen und die folgenden Informationen in die entsprechenden Felder eingeben:

Name: Einfühlungsvermögen

Befehl: Empathie -h

Kushal
quelle
@fluteflute: Danke, dass du die Antwort für sinnvoll gemacht
hast
2
Ich denke immer noch, das ist ziemlich kontraintuitiv. Bin ich der einzige?
Levesque
5

Dieses Skript setzt den Status automatisch auf "nicht verfügbar", wenn der Bildschirm gesperrt oder der Bildschirmschoner aktiviert ist. Wenn der Bildschirmschoner geschlossen wird, wird er wieder online geschaltet.

#!/usr/bin/python

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)
loop.run()

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 = s.read()
     s.close()
     if len(spid) > 0:
         screensaver_started = 1
 else:
     h = os.popen("gnome-screensaver-command -q", "r")
     out = h.read()
     active = out.find("inactive")
     h.close()

     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
     time.sleep(3)
yurividal
quelle
3
Eine gute Lösung, aber die meisten Neulinge wenden sich von Linux ab, wenn sie auf ein solches Skript für solch ein einfaches Bedürfnis stoßen.
Kushal