Notifica automaticamente quando o IP muda?

1

Existe uma maneira de enviar uma notificação para mim mesmo quando o IP do DHCP local é alterado? Posso usar o libnotify ?

Eu uso o Xubuntu. Abaixo está uma captura de tela que mostra como é a notificação, posso projetá-la para ficar assim?

    
por Chip Thrasher 20.11.2016 / 22:32

1 resposta

2

Isso exigiria um pequeno script de plano de fundo:

#!/usr/bin/env python3
import subprocess
import time

ip1 = [s for s in subprocess.check_output([
    "ifconfig", "-a"]).decode("utf-8").split() \
      if "addr:192" in s][0]

while True:
    time.sleep(2)
    ip2 = [s for s in subprocess.check_output([
        "ifconfig", "-a"]).decode("utf-8").split() \
          if "addr:192" in s][0]
    if ip2 != ip1:
        subprocess.Popen([
            "notify-send", "Ip address changed",
            "New address: "+ip2.replace("addr:", "")
            ])
    ip1 = ip2

Como usar

  1. Copie o script em um arquivo vazio, salve-o como watch_ipchange.py
  2. Teste-o de um terminal:

    python3 /path/to/watch_ipchange.py
    
  3. Se tudo funcionar bem, adicione-o aos aplicativos de inicialização

Explicação

  • A cada dois segundos, o script examina o endereço IP local atual de ifconfig -a
  • em caso de alteração, envia uma notificação.

Nota

Eu testei no Ubuntu Unity, mas isso não deve fazer diferença; ambos usam notificar-osd. Se, por algum motivo, isso não funcionar, por favor, comente.

    
por Jacob Vlijm 20.11.2016 / 23:29