一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Linux|Centos|Ubuntu|系統(tǒng)進(jìn)程|Fedora|注冊(cè)表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服務(wù)器之家 - 服務(wù)器系統(tǒng) - Ubuntu - ubuntu 16.04LTS 開機(jī)啟動(dòng)自動(dòng)更換壁紙的實(shí)現(xiàn)方法

ubuntu 16.04LTS 開機(jī)啟動(dòng)自動(dòng)更換壁紙的實(shí)現(xiàn)方法

2022-02-28 17:00CSDN Ubuntu

下面小編就為大家分享一篇ubuntu 16.04LTS 開機(jī)啟動(dòng)自動(dòng)更換壁紙的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

前言

上周電腦重裝,換了ubuntu 16.04,想起來(lái)之前上課老師也是ubuntu而且他還提到他桌面是他自己寫的個(gè)小腳本實(shí)現(xiàn)的自動(dòng)更換桌面壁紙的,昨天晚上心血來(lái)潮自己網(wǎng)上搜了點(diǎn)資料實(shí)現(xiàn)了一下 = =

功能

功能的話,是從必應(yīng)壁紙爬取最新的那張壁紙,然后本來(lái)因?yàn)槲遗码娔X又放了太多東西,就設(shè)置了個(gè)圖片最大的數(shù)目,到達(dá)這個(gè)閾值就刪除所有的圖片= =|| 通過(guò)python的os模塊,設(shè)置壁紙,

這里可以參考:how-to-change-desktop-background-from-command-line-in-unity , 還有就是考慮到剛開機(jī)時(shí)我不一定連得上網(wǎng)(辛酸 T_T),所以設(shè)置了一個(gè)爬取的間隔

代碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# -*- coding: utf-8 -*-
#!/usr/bin/python
#!/bin/bash
 
# ---------------------------------------------------------- #
# This is a script which can change background automatically #
# every time the system starts.        #
# author: Huang Zhenyang          #
# email: [email protected]         #
# ---------------------------------------------------------- #
# ----- Import ----- #
import os
import re
import urllib
import time
import socket
# --- End Import --- #
 
class Spider(object):
 """
 This is the spider to get the img from being
 """
 def __init__( self, img_matched_pattern_para, url_para, file_name_para ):
  """
  init function
  :param img_matched_pattern_para: the pattern to match a img
  :param url_para: url to crawler
  :param file_name_para: file name
  """
  self.img_matched_pattern = img_matched_pattern_para
  self.url = url_para
  self.file_name = file_name_para
 def get_img(self):
  """
  download the image
  :return:
  """
  html = self.get_html()
  img_pos = re.search(self.img_matched_pattern, html)
  img_page_href = self.url + img_pos.group()[6:-7] + "download"
  urllib.urlretrieve(img_page_href, self.file_name)
 
 def get_html(self):
  """
  return the html
  :return: page's html <type 'str'>
  """
  page = urllib.urlopen(self.url)
  html = page.read()
  return html
 
class Controller(object):
 """
 This is the controller to control the spider's parameters.
 """
 def __init__(self, pattern_href_para, path_para, url_para, img_max_num_para):
  """
  :param pattern_href_para: href's match pattern
  :param path_para: path to save images
  :param url_para: url
  :param img_max_num_para: max number that the
  """
  self.pattern_href = pattern_href_para
  self.path = path_para
  self.url = url_para
  self.img_max_num = img_max_num_para
  self.file_name = ""
  self.init_file_name = "0.jpg"
  self.file_extension_name = ".jpg"
 def judge(self):
  """
  judge if the number of images is grater than img_max_num.
  if true, delete all of them and then run spider, else directly run spider.
  Also, we should set the file name.
  :return:
  """
  root = None
  _dirs = None
  files = None
  for root, _dirs, files in os.walk(self.path, True):
   pass
  files_len = len(files)
  if files_len == 10:
   for i in range(0, 10):
    os.remove(root + files[i])
   self.file_name = self.path + self.init_file_name
  else:
   self.file_name = self.path + str(files_len) + self.file_extension_name
 def run_spider(self):
  """
  run spider.
  TODO: This function needs to be modified in the future which makes these two class coupling too much.
  :return:
  """
  # In case user's computer hasn't connect the internet.
  for i in range(0, 60):
   try:
    spider = Spider(self.pattern_href, self.url, self.file_name)
    spider.get_img()
    break
   except IOError as e:
    print "Connection error: %s" % e
    time.sleep(60)
    continue
   except Exception as e:
    print "Connection error: %s" % e
    time.sleep(60)
    continue
  c_path = '"file://' + self.file_name + '"' # absolute path
  # call system command to change the gnome background
  os.system('gsettings set org.gnome.desktop.background picture-uri ' + c_path)
  print "gsettings set org.gnome.desktop.background picture-uri " + c_path
 
if __name__ == '__main__':
 pattern_href = r'href="/photo/.*?" rel="external nofollow" '
 path = '/home/hzy/圖片/backgrounds/'
 url = 'https://bing.ioliu.cn/'
 img_max_num = 10
 controller = Controller(pattern_href, path, url, img_max_num)
 controller.judge()
 controller.run_spider()

開機(jī)自啟動(dòng)

在/home/hzy/.config/autostart中,新建一個(gè)xxx.desktop的文件,內(nèi)容如下:

?
1
2
3
4
5
6
7
8
9
10
[Desktop Entry]
Name=autoChangeBackgroundImg
Comment=Python Program
Exec=python /home/hzy/Script/autoChangeBackgroundImg/autoChangeBackgroundImg.py
Icon=/home/hzy/Script/autoChangeBackgroundImg/autoChangeBackgroundImg.png
Terminal=false
MultipleArgs=false
Type=Application
Categories=Application;Development;
StartupNotify=true

說(shuō)明:

1. Exec 后面的路徑就是該腳本的路徑

2. Icon的話可以自己隨便找個(gè)圖片,設(shè)置成該路徑即可

以上這篇ubuntu 16.04LTS 開機(jī)啟動(dòng)自動(dòng)更換壁紙的實(shí)現(xiàn)方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持服務(wù)器之家。

原文鏈接:http://blog.csdn.net/qq_35056292/article/details/79225376

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 爱情岛论坛亚洲一号路线 | 欧美日韩视频在线一区二区 | 精品综合一区二区三区 | 亚洲国产精品牛在线 | 无敌秦墨漫画免费阅读 | 国产色综合久久五月色婷婷中文 | 亚洲视频中文字幕 | 国产麻豆91网在线看 | 女黑人尺寸bbb | 色多多在线视频 | 99青青青精品视频在线 | 北岛玲在线视频 | 国产精品久久久99 | 国产福利在线观看91精品 | 成人性生交大片免费看软件 | 母爱成瘾在线观看 | 青青青手机在线视频 | 午夜国产精品影院在线观看 | 国产精品久久久久久久福利院 | 波多野结衣xxxx性精品 | 好姑娘在线视频观看免费 | 明星ai人脸替换造梦在线播放 | 亚洲网站在线播放 | 猛操女人 | 欧美成人中文字幕在线看 | 免费观看成年人视频 | 免费看国产精品久久久久 | 538精品视频 | 亚洲色图欧美图片 | 午夜理论电影在线观看亚洲 | 热99re久久精品国产 | 免费观看在线aa | 日本不卡一区二区三区在线观看 | 国产精品久久久久久久久久久威 | 国产成人精品999在线 | 干操网| 男人把大ji巴放进男人免费视频 | 99久久国产综合精品1尤物 | 国产视频自拍一区 | 日本精品中文字幕在线播放 | 天天天综合网 |