目的

利用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. 【一步步开发AI运动小程序】十五、AI运动识别中,如何判断人体站位的远近?

    [云智AI运动识别小程序插件],可以为您的小程序,赋于人体检测识别.运动检测识别.姿态识别检测AI能力.本地原生识别引擎,无需依赖任何后台或第三方服务,有着识别速度快.体验佳.扩展性强.集成快.成本低 ...

  2. JVM 核心技术

    1.Java代码编译和执行的整个过程: 2. JVM内存管理及垃圾回收机制:  先看图, 二.Java代码编译和执行的整个过程 Java代码编译是由Java源码编译器来完成,流程图如下所示: Java ...

  3. redis6.0安装与使用

    [Linux] 源码安装: 下载安装 Cd /usr/local/src/ wget https://download.redis.io/releases/redis-6.0.9.tar.gz $ t ...

  4. Ubuntu无法SSH登陆的解决方案

    1. 连接时出现提示 ssh_exchange_identification 问题提示: ssh_exchange_identification: read: Connection reset by ...

  5. 如何TypeScript中相对优雅地实现类的多继承

    首先,在 js 中还没有真正的多继承.但是在实际工作中经常需要抽离通用模块并按需组成新的业务模块,这就对类的多继承有了实际需求. 举个例子,现在我们有个基础类 Animal : class Anima ...

  6. 【第2章】matlab程序设计基础

    matlab语言的常量与变量 matlab语言的变量命名规则 由一个字母引导,后面可以为其他字符. 区分大小写 如Abc ≠ ABc matlab的保留常量 以下为系统保留常量,自己定义的变量不能与他 ...

  7. ctr命令的基本使用与技巧

    k8s早1.24后放弃docker,并把containerd作为运行时组件,containerd 调用链更短,组件更少,更稳定,占用节点资源更少 ctr是containerd的一个客户端工具 cric ...

  8. MyBatis-Plus乐观锁: Parameter ‘MP_OPTLOCK_VERSION_ORIGINAL‘ not found. Available parameters are [

    新版本的 mybatisplus-plus 会出现这个问题,当我们根据官方文档使用乐观锁的相关代码时会出现这个问题:注意 OptimisticLockerInterceptor 不要写成 Optimi ...

  9. java - 正则表达式替换Spring @RequestMapping URL中的@PathVariable值

    我在接口(只是为了保存常量)中有Spring MVC URL的定义,例如: String URL_X = "/my-url/{id:[0-9]*}"; String URL_Y = ...

  10. How to Use cURL HTTP/2 on macOS

    cURL is one of most powerful tools for testing HTTP traffic. We typically use cURL to interact with ...