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


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


@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)

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.