目的

利用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. 基于YOLO实现滑块验证码破解

    申明:本案例中的思路和技术仅用于学习交流.请勿用于非法行为. 一.训练模型 详细训练步骤和导出模型参考 滑块验证码识别模型训练 二.模型试用 通过YoloDotNet运行模型,计算出滑块缺口位置后用R ...

  2. 关于开启了auth的站点如何使用curl访问

    有的站点开了 auth 如何访问呢 可以直接这样 将 用户名密码放入URL中 http://username:password@host:8080/index.html 即可.

  3. Hibernate二级缓存 ---- 最佳实践

    2010年11月7号,立冬,星期天.北京外面风好大,躲在家里整理一下这篇文章,发出来与大家分享,对大家有帮助是我最高兴的事儿. 不要想当然的认为使用了Hibernate的二级缓存就一定能够提高应用程序 ...

  4. 七、FreeRTOS学习笔记-中断管理

    FreeRTOS学习笔记-中断管理 中断:让CPU打断正常运行的程序,转而去处理紧急的事件(程序) 中断执行机制,可简单概括为三步: 1.中断请求:外设产生中断请求(GPIO外部中断.定时器中断等) ...

  5. golang之循环导包

    作为一个 Golang 开发,你可能在项目中遇到过包的循环依赖问题.Golang 不允许循环依赖,如果检测到代码中存在这种情况,在编译时就会抛出异常. 循环依赖 假设我们有两个包:p1和p2.当包p1 ...

  6. uni-app 简单上手

    1.前言 uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS.Android.Web(响应式).以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/ ...

  7. 微软中文输入法带来的一点小坑,导致arcgispro输入中文异常

    有同事反映,在Pro中新建要素类时,没办法设定名称为"新建",会自己变成不完整的拼音. 查看了一下,确有此事. 在相同的界面里还有其他输入框,却没有这种情况. 研究了一下,发现是输 ...

  8. 关于Pro addin中,控制dockpane的状态

    在Pro SDK中,可以通过dackpane的Hide()方法,对面板进行隐藏. DockPane pane = FrameworkApplication.DockPaneManager.Find(& ...

  9. [Java] Stream流使用最多的方式

    Java 中 Stream 流的用法全解析 在 Java 编程中,Stream 流提供了一种高效.便捷的方式来处理集合数据.它可以让我们以声明式的方式对数据进行各种操作,如过滤.映射.排序.聚合等,大 ...

  10. IE低版本cors跨域请求

    标签:js 坑位 最近接到一个活动需求,但是服务端接口全是跨域的,由于js同源策略,ajax请求是不允许跨域请求的,比较流行的解决方法是jsonp或者cors,但当服务端是走cors的时候,发现IE1 ...