Как я могу автоматически установить свой статус на Доступно при входе в систему?

12

Это первое, что я делаю после входа в систему:

Скриншот

Как я могу сделать это автоматически?

ændrük
источник
Та же проблема / решение 12.04 LTS для записи.
Тим Абелл

Ответы:

14

Чтобы приложение по умолчанию для Ubuntu IM, Empathy запускалось автоматически при входе в систему, следуйте инструкциям OMG Ubuntu :

Сочувствие требует немного пинка, чтобы войти в систему.

Вам будет прощено думать, что флажок «Автоматически подключаться при запуске» в настройках Empathy относится к запуску при входе в систему. Это не так, запуск в этом случае относится к запуску Empathy, а не к вашему компьютеру.

Мы можем запустить его при входе в систему, перейдя в «Система»> «Настройки»> «Запуск приложений»> «Новый элемент» и введя следующую информацию в соответствующие поля:

Имя: Эмпатия

Команда: сочувствие -h

Kushal
источник
@fluteflute: Спасибо за ответ на содержательный вопрос: :-)
Кушал
2
Я все еще думаю, что это довольно противоречиво интуитивно ... я один?
Levesque
5

этот сценарий автоматически установит статус «недоступен», когда экран заблокирован или активирована заставка, и вернет его в доступное состояние (онлайн), когда заставка закроется!

#!/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
источник
3
Хорошее решение, но большинство новичков отворачиваются от Linux, когда сталкиваются с таким сценарием для такой простой необходимости.
Кушал