openbox每日开机自动切换网络壁纸
目的
利用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每日开机自动切换网络壁纸的更多相关文章
- redhat设置开机自动连接网络
一.设置开机自动连接网络1.用root账号登录2.打开etcsysconfignetwork-scrpts目录3.vi ifcfg-eth04.将ONBOOT改为yes 二.没有图形界面如何连接网络1 ...
- (原)ubuntu挂载及开机自动挂载网络端的文件夹的方法
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/7160792.html 参考网址: http://blog.csdn.net/tlight/articl ...
- windown 使用python 自动切换网络
由于工作环境的特殊性,有时需要切换到内网工作,有时需要通过手机连接外网,想自动运行一个脚本就做完这事 首先在PC机上安装一个无线网卡,例如360wifi就可以. 除了python,还用到了DOS命令, ...
- Ubuntu开机自动禁用无线网络
让ubuntu开机自动禁用无线网络. 1.自启动脚本 将下面这条禁用无线网络的命令添加到“启动应用程序“中,这样开机时无线网络就会被自动禁用. dbus-send --system --type=me ...
- 4G和有线网络的自动切换
最近项目有个需求,把移动服务器设备(Ubuntu14.04)安装4G模块,但如果连接有线时,可以自动切换到有线,以降低移动流量带来的费用. 以下是我实现的方法(经过一番痛苦的摸索) 1. 脚本/opt ...
- 网络编程 - 协议遇到IO自动切换
一.协议遇到IO自动切换 python网络编程,遇到IO自动切换,通过模块gevent来实现: import gevent,time def g1(): print ("g1 is star ...
- Ubuntu 设定壁纸自动切换的shell脚本
升级到Ubuntu14.04后,感觉bug的确比12.04少多了.顶部任务栏支持半透明效果,所以整个桌面也看上去漂亮了很多.这样的桌面也是值得瞎捣鼓一下的,想到换壁纸,但是没找到设定动态更换壁纸的选项 ...
- Linux、UNIX设置开机自动运行命令、脚本配置
一般我们不建议人工部署开机自动启动的脚本.而是建议通过crontab 部署脚本监控,理由如下: 1.自动开机部署脚本不好定位问题,有可能导致主机重启过慢. 2.自动开机部署脚本不好定位问题,有可能导致 ...
- Linux开机自动登录(文本模式)
• Linux系统启动登录过程 以RedHat/CentOS为例,Linux系统Level3模式下从启动到登录的整个过程大致如下: 1> 加载BIOS信息:包含了CPU/显卡/内存/硬盘/网卡等 ...
- 获取bing.com的图片并在gnome3中设置自动切换
发现 bing.com 上的图片很好看,因此打算每天把 bing.com 的图片下载下来,用作桌面. 需要做的是两个部分,爬取图片到目录和设置目录图片为桌面背景并可以自动切换. 第一部分,下载图片,使 ...
随机推荐
- VL4AD:让语义分割认识未知类别,无需额外数据和训练的OOD语义分割 | ECCV'24
来源:晓飞的算法工程笔记 公众号,转载请注明出处 论文: VL4AD: Vision-Language Models Improve Pixel-wise Anomaly Detection 论文地址 ...
- 2020-2024 Rider安装+激活
一.下载 1. rider各版本官方下载入口 rider官网下载地址 2. 选择左边,然后点击[20xx.x.x-Windows(exe)] PS: 如需下载特定版本,可以往下拉,都是选择[202x. ...
- 【昌哥IT课堂】MySQL8.0新特性之不可见主键
一.概述作为 MySQL DBA ,相信大家都经历过在复制模式下,如果没有主键,遇到 load data ,大事务,ddl 等有大量表数据行扫描的行为时,会带来严重的主从延迟,给数据库稳定性和数据一致 ...
- python之常用方法(精)
查找列表中出现最频繁的元素 使用 max() 函数可以快速查找出一个列表中出现频率最高的某个元素. >>> a = [1, 2, 3, 4, 3, 4, 5, 4, 4, 2] &g ...
- Kafka可视化工具之Kafka Tool
官网: https://www.kafkatool.com/download.html Kafka Tool是一个用于管理和使用Apache Kafka集群的GUI应用程序. Kafka Tool提供 ...
- golang项目之Makefile
01 介绍 Go 提供一个名为go的命令,该命令可自动下载.构建.安装和测试 Go 包和命令. Go 提供go命令,官方的目的是为了不需要编写 Makefile,而是能够仅使用 Go 源代码本身中的 ...
- 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 ...
- Flutter TickerProvider使用
Flutter TickerProvider使用 当需要使用Animation controller时,需要在控制器初始化时传递一个vsync参数,此时需要用到TickerProvider,例如 cl ...
- Python 和 Podman
1. Windows 10 上安装 Python 开始在 Windows 上使用 Python(初学者) 2. 使用 pip Python 的 Microsoft Store 安装包括 pip(标准包 ...
- 超实用干货(1)-Apache greenplum在aarch64架构体系的适配编译
编译环境 操作系统:EulerOS 2.0 sp8 ● 内核:4.19.36 ● CPU:aarch64 编译所需软件类别 cmake-3.23.0-rc1.tar.gz 下载地址: https:// ...