it-swarm-ko.tech

네트워크 문제가있을 때 공감이 다시 연결하도록하려면 어떻게해야합니까?

기본적으로 열리는 응용 프로그램 목록에 Empathy를 추가했으며 시작할 때 MSN에 자동 연결하도록 구성되었지만 랩톱에 로그인하면 Wi-Fi 연결이 준비되는 데 몇 초가 걸립니다. 인터넷이 시작되기 전에 Empathy가 이미 시작되어 MSN에 로그인을 시도했지만 실패했으며 그 이후로는 연결할 수 없습니다.

이것은 Empathy의 버그 인 것 같지만 어떻게 수정해야하나요? 아니면 가능하지 않은 경우 네트워크가 가동 될 때까지 시작을 지연시킬 수 있나요?

9
Ricardo Reyes

분명히 이것은 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
6
Ricardo Reyes

Empathy는 내부적으로 이런 종류의 일을 수행하기 위해 패치가 필요할 수 있습니다. 그러나 네트워크 연결을 끊고 다시 연결하여 올바른 일을하기 위해 Empathy를 찌를 수 있어야합니다.

여러 번에 여러 네트워크에 대한 연결을 거부하는 Empathy에 버그가있는 것 같습니다. 그러나 "X 초 후에 다시 시도합니다."라는 카운트 다운을 제공해야합니다.

그러나 그것은 코드를 필요로 할 것이고 원한다면 버그 보고서를 만들어야합니다.

나는 이 문제를 극복하기 위해 특별히 스크립트 썼다. 이 스크립트 (python 및 D-Bus 기반)는 네트워크가 온라인 상태 일 때마다 네트워크에 공감을 연결합니다. 연결이 끊어졌다가 다시 연결 되더라도 스크립트는 자동으로 다시 연결됩니다. 다시 공감합니다.

당신이 그것을 즐기기를 바랍니다. 개선이 필요한 경우 의견을 남겨주세요.

1