Як я можу змусити Empathy повторно підключитися, коли у нього проблеми з мережею


9

Я додав співчуття до списку програм, які відкриваються за замовчуванням, і він налаштований для автоматичного підключення до MSN при запуску, але коли я заходжу на свій ноутбук, для підключення до wifi потрібно кілька секунд, щоб бути готовим. Перед тим, як мережа з’явилася, Емпатія вже почалася, намагалася увійти в MSN і не вдалося, і я не можу змусити її підключитися після цього.

Це, здається, є помилкою в Empathy, але як я можу отримати виправлення, або якщо це неможливо, як я можу затримати його запуск, поки мережа не працює?

Відповіді:


6

Мабуть, це відома помилка Empathy, тому я вирішив запустити Empathy зі сценарію, який перевіряє, чи мережа працює (підключення до http://www.google.com , справжнє серце): Якщо мережа не працює, він буде спати 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

2

Здається, що Емпатії може знадобитися виправлення, щоб робити подібні речі всередині. Але ви повинні мати можливість викликати співчуття, щоб зробити все правильно, відключившись від мережі та підключившись.

У мене, здавалося б, були помилки, коли Емпатія відмовлялася підключатися до безлічі мереж у різний час. Але він повинен дати відлік "Повторимося через X секунд".

Але це буде приймати код, і якщо ви цього хочете, потрібно скласти звіт про помилку.


1

Я написав сценарій спеціально для подолання цієї проблеми . Цей сценарій (який базується на python та D-Bus) підключатиме співпереживання до мережі кожен раз, коли мережа в мережі. Навіть якщо з'єднання перерветься і відновиться, сценарій автоматично знову підключить емпатію.

Сподіваюся, вам сподобається. Будь ласка, залиште коментар, якщо вам потрібні якісь вдосконалення.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.