目的

利用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. Flink CDC 实时同步 MySQL

    Flink CDC 系列文章 Flink CDC 实时同步 MySQL Flink CDC 实时同步 Oracle 准备工作 MySQL 数据库(version: 5.7.25),注意,MySQL 数 ...

  2. cornerstone中raft_server_req_handlers源码解析

    1.概述 之前说过raft_server是cornerstone的核心,其中充满了很多req的发送,那么follower收到leader的req会怎么处理呢? 本文就是来解析cornerstone中处 ...

  3. JS之Date时间处理

    初始化当前时间: // 1. 使用构造函数方式 var newDate = new Date() // 2. 使用函数方式 var date = Date() // 返回的是一个Date对象 cons ...

  4. nginx之常见错误

    在此只介绍源码安装nginx的时候,发生的一些常见的错误 1. nginx访问出现File not found 1) php-fpm找不到SCRIPT_FILENAME中执行的PHP文件 更改配置文件 ...

  5. CryptoHack做题记录

    一.GENERAL 1.ENCODING ASCII ascii = [99, 114, 121, 112, 116, 111, 123, 65, 83, 67, 73, 73, 95, 112, 1 ...

  6. Mysql的整体架构设计

    整体分层 连接层 服务层 存储引擎层 连接层 客户端要连接到服务器 3306 端口,必须要跟服务端建立连接,那么 管理所有的连接,验证客户端的身份和权限,这些功能就在连接层完成. 服务层 连接层会把 ...

  7. openEuler欧拉部署Harbor

    ​一.系统优化 关闭防火墙 systemctl stop firewalld systemctl disable firewalld 二.安装Harbor wget https://github.co ...

  8. Visual Studio C++ 汇编 混合编程

    Visual Studio C++ 汇编 混合编程 实验要求 请用汇编语言编写实现GCD递推公式的子程序,对入口和出口参数形式不做要求,但需要用 C 语言函数来获取输入.调用汇编递推子程序,并且用 C ...

  9. 实用干货分享(4)- 分布式金融PaaS容器化部署实战

    ​ ​编辑 一.学习链接 http://www.itmuch.com/docker/00-docker-lession-index/ 二.安装步骤 sudo yum install -y yum-ut ...

  10. pycharm选择conda虚拟环境出错:python的SDK无效

    检查项如下: 0.安装了python,并在系统环境变量中配置了python 0.5 正确配置了conda的系统环境变量 1.安装conda的文件夹又读写权限(不需要管理员模式运行也能进行读写) 直接在 ...