IP 改变时自动通知?

IP 改变时自动通知?

有没有办法在本地 DHCP IP 更改时向自己发送通知?我可以使用吗libnotify

我使用 Xubuntu。下面是显示通知的屏幕截图,我可以将其设计成那样吗?

通知设计的屏幕截图

答案1

这需要一个小的背景脚本:

在此处输入图片描述

#!/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

如何使用

  1. 将脚本复制到一个空文件中,另存为watch_ipchange.py
  2. 从终端进行测试运行:

    python3 /path/to/watch_ipchange.py
    
  3. 如果一切正常,将其添加到启动应用程序

解释

  • 每隔两秒钟,脚本就会检查当前的本地 IP 地址ifconfig -a
  • 如果发生变化,它会发送通知。

笔记

我在 Ubuntu Unity 上测试过,但应该没什么区别;两者都使用通知 OSD。但如果由于某种原因无法正常工作,请发表评论。

相关内容