目的

利用bing的每日一图, 每天切换壁纸

开干

联网后下载图片

  • 利用networkmanage启动后执行脚本 netafter.sh

    • 文件地址: /etc/NetworkManager/dispatcher.d/netafter.sh

      #!/bin/sh
      INTERFACE=$1 # 状态发生变化的网络接口
      STATUS=$2 # 网络接口的新状态:up, down, vpn-up, vpn-down echo "网络状态: $STATUS" > /tmp/netstatus.log
      #echo "网络状态$INTERFACE" >> /tmp/netstatus.log ping -c 1 114.114.114.114 > /dev/null 2>&1
      if [ $? -eq 0 ];then
      echo 检测网络正常 >> /tmp/netstatus.log #这里还没有开启图形界面,所以不能更换背景图片
      nohup python /home/lx7ly/workspace/python/utils/bingimg.py >> /tmp/netstatus
      .log 2>&1 &
      else
      echo 检测网络连接异常 >> /tmp/netstatus.log
      fi
  • python下载图片脚本

    import urllib.request
    import requests
    import os.path
    # import ctypes
    import re
    import time def save_img(img_url,dirname):
    #保存图片到磁盘文件夹dirname
    try:
    if not os.path.exists(dirname):
    print ('文件夹',dirname,'不存在,重新建立')
    #os.mkdir(dirname)
    os.makedirs(dirname)
    #获得图片文件名,包括后缀
    regex = re.compile('\?[^&]*')
    timestr = time.strftime('%Y%m%d',time.localtime(time.time()))
    basename = str(regex.search(img_url).group()).replace("?id=", "_")
    basename=timestr+basename
    # basename = os.path.basename(img_url)
    #拼接目录与文件名,得到图片路径
    filepath = os.path.join(dirname, basename)
    # print(filepath)
    #下载图片,并保存到文件夹中
    urllib.request.urlretrieve(img_url,filepath)
    except IOError as e:
    print ('文件操作失败',e)
    except Exception as e:
    print ('错误 :',e)
    print("Save", filepath, "successfully!") return filepath # 请求网页,跳转到最终 img 地址
    def get_img_url(raw_img_url = "https://area.sinaapp.com/bingImg/"):
    r = requests.get(raw_img_url)
    img_url = r.url # 得到图片文件的网址
    # print('img_url:', img_url)
    return img_url # 设置图片绝对路径 filepath 所指向的图片为壁纸
    def set_img_as_wallpaper(filepath):
    ctypes.windll.user32.SystemParametersInfoW(20, 0, filepath, 0) if __name__ == "__main__":
    dirname = "/home/lx7ly/Pictures/bingImg" # 图片要被保存在的位置
    img_url = get_img_url()
    filepath = save_img(img_url, dirname) # 图片文件的的路径
    # set_img_as_wallpaper(filepath)

加载界面后切换图片

  • 利用openbox启动界面后更新背景图 autostart中加入bingimg.sh

注意

联网后执行脚本的路径是确定的,必须放入到networkmanager/dispatcher目录下

python脚本是参考网上一小伙伴,拿出来跟大家分享了

openbox每日开机自动切换网络壁纸的更多相关文章

  1. redhat设置开机自动连接网络

    一.设置开机自动连接网络1.用root账号登录2.打开etcsysconfignetwork-scrpts目录3.vi ifcfg-eth04.将ONBOOT改为yes 二.没有图形界面如何连接网络1 ...

  2. (原)ubuntu挂载及开机自动挂载网络端的文件夹的方法

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/7160792.html 参考网址: http://blog.csdn.net/tlight/articl ...

  3. windown 使用python 自动切换网络

    由于工作环境的特殊性,有时需要切换到内网工作,有时需要通过手机连接外网,想自动运行一个脚本就做完这事 首先在PC机上安装一个无线网卡,例如360wifi就可以. 除了python,还用到了DOS命令, ...

  4. Ubuntu开机自动禁用无线网络

    让ubuntu开机自动禁用无线网络. 1.自启动脚本 将下面这条禁用无线网络的命令添加到“启动应用程序“中,这样开机时无线网络就会被自动禁用. dbus-send --system --type=me ...

  5. 4G和有线网络的自动切换

    最近项目有个需求,把移动服务器设备(Ubuntu14.04)安装4G模块,但如果连接有线时,可以自动切换到有线,以降低移动流量带来的费用. 以下是我实现的方法(经过一番痛苦的摸索) 1. 脚本/opt ...

  6. 网络编程 - 协议遇到IO自动切换

    一.协议遇到IO自动切换 python网络编程,遇到IO自动切换,通过模块gevent来实现: import gevent,time def g1(): print ("g1 is star ...

  7. Ubuntu 设定壁纸自动切换的shell脚本

    升级到Ubuntu14.04后,感觉bug的确比12.04少多了.顶部任务栏支持半透明效果,所以整个桌面也看上去漂亮了很多.这样的桌面也是值得瞎捣鼓一下的,想到换壁纸,但是没找到设定动态更换壁纸的选项 ...

  8. Linux、UNIX设置开机自动运行命令、脚本配置

    一般我们不建议人工部署开机自动启动的脚本.而是建议通过crontab 部署脚本监控,理由如下: 1.自动开机部署脚本不好定位问题,有可能导致主机重启过慢. 2.自动开机部署脚本不好定位问题,有可能导致 ...

  9. Linux开机自动登录(文本模式)

    • Linux系统启动登录过程 以RedHat/CentOS为例,Linux系统Level3模式下从启动到登录的整个过程大致如下: 1> 加载BIOS信息:包含了CPU/显卡/内存/硬盘/网卡等 ...

  10. 获取bing.com的图片并在gnome3中设置自动切换

    发现 bing.com 上的图片很好看,因此打算每天把 bing.com 的图片下载下来,用作桌面. 需要做的是两个部分,爬取图片到目录和设置目录图片为桌面背景并可以自动切换. 第一部分,下载图片,使 ...

随机推荐

  1. VL4AD:让语义分割认识未知类别,无需额外数据和训练的OOD语义分割 | ECCV'24

    来源:晓飞的算法工程笔记 公众号,转载请注明出处 论文: VL4AD: Vision-Language Models Improve Pixel-wise Anomaly Detection 论文地址 ...

  2. 2020-2024 Rider安装+激活

    一.下载 1. rider各版本官方下载入口 rider官网下载地址 2. 选择左边,然后点击[20xx.x.x-Windows(exe)] PS: 如需下载特定版本,可以往下拉,都是选择[202x. ...

  3. 【昌哥IT课堂】MySQL8.0新特性之不可见主键

    一.概述作为 MySQL DBA ,相信大家都经历过在复制模式下,如果没有主键,遇到 load data ,大事务,ddl 等有大量表数据行扫描的行为时,会带来严重的主从延迟,给数据库稳定性和数据一致 ...

  4. python之常用方法(精)

    查找列表中出现最频繁的元素 使用 max() 函数可以快速查找出一个列表中出现频率最高的某个元素. >>> a = [1, 2, 3, 4, 3, 4, 5, 4, 4, 2] &g ...

  5. Kafka可视化工具之Kafka Tool

    官网: https://www.kafkatool.com/download.html Kafka Tool是一个用于管理和使用Apache Kafka集群的GUI应用程序. Kafka Tool提供 ...

  6. golang项目之Makefile

    01  介绍 Go 提供一个名为go的命令,该命令可自动下载.构建.安装和测试 Go 包和命令. Go 提供go命令,官方的目的是为了不需要编写 Makefile,而是能够仅使用 Go 源代码本身中的 ...

  7. Kettle连接MySQL数据库时提示Driver class 'org.gjt.mm.mysql.Driver' could not be found

    使用Kettle连接MySQL数据库时,提示以下连接提示信息导致我们无法对数据库进行连接: Driver class 'org.gjt.mm.mysql.Driver' could not be fo ...

  8. Flutter TickerProvider使用

    Flutter TickerProvider使用 当需要使用Animation controller时,需要在控制器初始化时传递一个vsync参数,此时需要用到TickerProvider,例如 cl ...

  9. Python 和 Podman

    1. Windows 10 上安装 Python 开始在 Windows 上使用 Python(初学者) 2. 使用 pip Python 的 Microsoft Store 安装包括 pip(标准包 ...

  10. 超实用干货(1)-Apache greenplum在aarch64架构体系的适配编译

    编译环境 操作系统:EulerOS 2.0 sp8 ● 内核:4.19.36 ● CPU:aarch64 编译所需软件类别 cmake-3.23.0-rc1.tar.gz 下载地址: https:// ...