Как я могу подключиться к повторной попытке Empathy, когда у вас есть сетевая проблема

7

Я добавил Empathy в список приложений, которые открываются по умолчанию, и он настроен на автоматическое подключение к MSN при запуске, но при входе на мой ноутбук соединение Wi-Fi занимает несколько секунд, чтобы быть готовым. До того, как сеть закончилась, Empathy уже запустился, попытался войти в MSN и не смог, и после этого я не могу подключиться к нему.

Кажется, что это ошибка в Empathy, но как я могу получить исправление для нее или, если это невозможно, как я могу отложить ее запуск до тех пор, пока сеть не будет работать?

    
задан Ricardo Reyes 28.07.2010 в 19:50
источник

3 ответа

5

По-видимому, это известная ошибка в Empathy, поэтому я решил запустить Empathy из скрипта, который проверяет, работает ли сеть (подключение к Ссылка , истинное сердцебиение Интернета :) Если сеть не работает, она будет спать в течение 5 секунд и повторить попытку, пока она не попытается 30 раз

Это сценарий (с именем waitfornet.py )

#!/usr/bin/python

from urllib2 import urlopen, URLError
from subprocess import Popen
from time import sleep
from sys import argv

MAX_TRIES = 30
DELAY = 5

if len (argv) < 2:
    print ('Check for network connectivity and run a command once the net is up')
    print ('Tries up to %d times waiting %d seconds between each try' % (MAX_TRIES, DELAY))
    print ('\nUSAGE: python waitfornet.py <command to run>')
else:
    while True:
        MAX_TRIES -= 1
        if MAX_TRIES < 0:
            raise ValueError ('Reached the max iteration count and the net is still down')

        try:
            data = urlopen('http://www.google.com')
        except URLError:
            # if there's a problem connecting to google, that must mean
            # that the net is still down, so sleep 5 seconds and try again
            print ('Internet is down... retrying...')
            sleep (DELAY)
            continue

        # if you got here it means that the urlopen succeded
        pid = Popen([argv[1], ' '.join(argv[1:])]).pid
        break

, и я запускаю его из меню «Запуск приложений»:

~/scripts/waitfornet.py empathy
    
ответ дан Ricardo Reyes 30.07.2010 в 23:41
источник
2

Похоже, что Empathy может понадобиться патч для внутреннего использования. Но вы должны быть способны совать Empathy, чтобы поступать правильно, отключившись от вашей сети и снова подключитесь.

У меня, похоже, были ошибки с Empathy, которые отказывались подключаться к сети в разное время. Но он должен указывать счетчик «Повторите попытку через X секунд».

Но это займет код, и если вы этого захотите, необходимо сделать отчет об ошибке.

    
ответ дан Martin Owens -doctormo- 28.07.2010 в 21:10
1

Я написал скрипт, специально предназначенный для преодоления этого проблема . Этот скрипт (который основан на python и D-Bus) будет подключать эмпатию к сети каждый раз, когда сеть будет в сети. Даже если соединение опустится и снова подключится, сценарий автоматически снова подключит эмпатию.

Надеюсь, вам понравится. Пожалуйста, оставьте комментарий, если вам нужны какие-либо улучшения.

    
ответ дан Ishan Thilina Somasiri 28.09.2011 в 16:59