ログイン時にステータスを自動的に利用可能に設定するにはどうすればよいですか?


回答:


14

ログイン時にデフォルトのUbuntu IMアプリケーションEmpathyが自動的に起動するようにするには、OMG Ubuntuから次の手順を実行します。

共感は、ログインを開始するために少しキックが必要です。

Empathyの設定で[起動時に自動的に接続する]チェックボックスをオンにすると、システムログインの開始に関係することを考えるのは許されます。そうではありません。この場合のスタートアップとは、コンピューターではなく、Empathyのスタートアップを指します。

ログイン時に起動するには、[システム]> [設定]> [起動アプリケーション]> [新しいアイテム]に移動し、関連フィールドに次の情報を入力します。

名前:共感

コマンド:empathy -h


@fluteflute:有意義な答えをしてくれてありがとう... :
Kushal

2
まだ直観に反すると思います。私だけですか?
レベスク

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)

3
すばらしい解決策ですが、ほとんどの初心者は、このような単純なニーズのためにそのようなスクリプトに遭遇すると、Linuxから離れます。
クシャル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.